STM32
直播中

孔朱磊

7年用户 873经验值
私信 关注
[问答]

如何通过STVP programming toolkit读取芯片的UID?

问题一、无法通过GetProtectionList获取芯片的保护级别列表
在调用GetProtectionList的时,发现无法获取芯片(STM32F405RG为例子)支持的保护级别列表,通过调用CGetLastError()查看错误返回如下错误信息:C:Program Files (x86)STMicroelectronicsst_toolsetstvpDBCFILE.CNF : DEVICE.STM32F417xG.Eprcore.Tab.OPTION BYTE.Protection not found
请问一下,在调用GetProtectionList的时候,是否还需要设置什么参数呢?
我用官网的ST Visual Programmer.exe可以在Option Byte的页面找到保护级别列表,因此应该不是DBCFILE.CNF这个文件损坏的原因.

问题二、如何通过STVP programming toolkit读取芯片的UID
因为读取接口无论是使用"EReadAll"还是"EReadArea"都必须指定读取的Memory ID,而Memory ID只有Program Memory/OTP Memory/OPTION BYTE 这三个类型,UID的地址范围都不在这这三类型里面.


回帖(1)

李鸿

2024-5-11 17:27:29
要通过STVP programming toolkit读取芯片的UID,您需要按照以下步骤操作:

1. 确保您已经安装了STVP programming toolkit,并且已经下载了相应的ST-LINK驱动程序。

2. 打开STVP programming toolkit,选择正确的设备(例如STM32F405RG)。

3. 连接您的STM32F405RG芯片到ST-LINK,并确保它们之间的连接是稳定的。

4. 在STVP programming toolkit中,选择“Read Memory”选项,然后选择“Unique Identifier”作为读取类型。

5. 点击“Read”按钮,程序将开始读取芯片的UID。

关于您提到的GetProtectionList问题,这可能是由于以下原因导致的:

1. DBCFILE.CNF文件中缺少STM32F405RG的保护级别信息。您可以尝试从STMicroelectronics官方网站下载最新的DBCFILE.CNF文件,并替换当前的文件。

2. 确保您选择的设备是STM32F405RG,而不是STM32F417xG。虽然它们可能是相似的,但它们的保护级别列表可能不同。

3. 如果您仍然无法获取保护级别列表,请尝试使用ST Visual Programmer.exe,因为它可能是一个更稳定和更新的版本。

4. 如果问题仍然存在,您可以尝试联系STMicroelectronics的技术支持以获取帮助。

希望这些信息对您有所帮助!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分