本帖最后由 小恩GG 于 2020-5-7 15:09 编辑
有很多客户在使用LPC55Sxx系列芯片的PRINCE功能时,通常会参考NXP官方提供的SDK里的PRINCE例程进行操作,具体的文件路径为 C:\Users\nxf60506\Downloads\SDK_2.7.1_LPCXpresso55S69.zip\boards\lpcxpresso55s69\driver_examples\prince\cm33_core0 小编在这里以自己在使用过程中的血泪教训,给大家提出一些使用时的注意事项,方便客户在使用过程中少走弯路。 我们在参考SDK中的PRINCE例程时,通常会根据readme.txt文件(如下图所示)里的步骤进行逐步操作。在进行Board settings操作时,readme里最后强调了,keystore只需要创建一次并且如果已经将生成的keystore保存在NVM中了,就不需要再执行上边的blhost相关操作了。 由于readme.txt里边只是说不需要再进行blhost相关操作,容易让客户理解为重复blhost相关操作也是可以的,只是不需要而已。 小编在实验室对这一问题进行了测试,执行blhost 相关命令后,将PRINCE例程下载到芯片中运行后。再次执行blhost相关命令后,出现了芯片无法正常连接IDE的问题,具体现象如下图所示 因此小编对blhost相关命令进行了测试,经过小编的反复测试发现,导致这一问题的原因是执行了blhost -p comX -- key-provisioning enroll这条blhost命令后,将PRINCE例程下载到芯片中运行,之后再执行blhost -p comX --key-provisioning enroll命令,芯片无法正常连接IDE。此外,小编还对AN里提供的PRINCE操作方法进行了测试,发现在重复操作key-provisioning enroll之后,芯片仍然可以正常使用。因此,我们目前推测导致这一问题的原因很可能是SDK里PRINCE例程存在问题。我们已经将这一问题进行了上报,后续公司相关团队会对这一问题进行测试改进。
最后,小编建议大家进行PRINCE操作时,参考AN12527里的操作步骤更加保险,如果要使用SDK中的PRINCE例程,在操作之前一定要确定自己的芯片没有进行过key-provisioning enroll 这一操作,具体的确定方法可以在不执行blhost操作的情况下,将PRINCE的例程下载到芯片中,看其是否可以正常运行,如果可以就不要再进行key-provisioningenroll操作。如果无法正常工作,在确保自己没有进行过的key-provisioning enroll操作的前提下,再进行blhost这一操作。
|