本帖最后由 小恩GG 于 2022-2-23 12:23 编辑
正如每人都有身份证来体现自身与茫茫人海的特殊性,每个开发板都有其特定的ID,名为设备ID(Device ID),虽然在平时的使用中可能无人问津,但是在某些特殊场合下,其作用便会体现出来,例如: -在更新换代时,识别不同芯片的ID来进行不同固件与程序的更新 -程序运行时,识别不同系列的芯片来进行独特的程序分配 -设备发生故障时,识别不同芯片ID精确快速发现故障芯片时 由于LPC55各子系列Boot Rom有些许不同,本文介绍了一种LPC55XX系列通用读取方法和一种LPC55S6X/LPC55S2X系列特殊读取方法,以供用户了解使用,以备用时之需。 1. 针对LPC55XX系列通用读取方法如下(全系列) 位于SYSCON中的DEVICE_ID0寄存器是专用的设备ID寄存器, 采用DeviceID = SYSCON->DEVICE_ID0指令可快速读取,以LPC55S16为例,如下图。
2、对于LPC55S6x/LPC55S2x系列,还可以使用blhost读取设备ID。 (由于LPC55S6x/S2x与LPC55S1x/0x Boot Rom 稍有区别,blhost读取方法仅支持LPC55S6x/S2x系列,对LPC55S1x/0x系列不适用) 以LPC55S69为例,用blhost工具在命令行窗口输入blhost.exe -p comxx --get-property 0x10指令即可得到设备ID 。 其中,get-property指令出自官网文档Blhost User manual,该命令用于查询引导加载程序的各种属性和设置,图片如下。 注意:全程请将LPC55S6X/LPC55S2X系列板与PC以ISP模式启动连接并始终保持畅通,若中途断开,请连接LPC板后重新打开命令窗口,否则会出现连接失败的现象。 操作结果如下。 与官方资料标注结果对应如下。
小结: 当使用LPC55系列读取设备ID时,一般通过对DEVICE_ID0寄存器操作来快速读取,若是使用LPC55S6x/LPC55S2x系列,可以采用blhost指令快速读出设备ID,省去了对寄存器操作的时间,两者虽稍有不同但皆能以最短时间读取设备ID。
|