我有一块可能是STM32 mcu的电路板。我想为该板制作自定义固件,因为库存非常多。不幸的是,电路板制造商非常友好地研究了所有标记。有没有办法通过jtag获取设备/系列ID并将其交叉引用到型号?我能找到的一切都是关于获得芯片的唯一ID,这不是我需要的。
答案 0 :(得分:1)
您可以通过设备的JTAG IDCODE进入STM32系列,但是获取确切的部件号将需要更多猜测,例如实际闪光和柱塞尺寸,或可选功能。
我会做以下事情:
最后,你肯定知道你在电路板上的包装。有了这个,您应该能够缩小到匹配的部件号。
答案 1 :(得分:0)
在pystlink(SWD编程器)中实现,几乎成功识别任何STM32 MCU。
原则是:
PART_NO
的寄存器CPUID
中读取0xe000ed00
,此时可以识别MCU是否为此文件中的CortexM0,M3,M4,.. stm32devices.py
< / LI>
IDCODE_REG
(M0和M0 +在不同于M3,M4和M7的地址上有此寄存器)前12位是DEV_ID
,它识别族并再次查看stm32devices.py
文件FLASH_SIZE_REG
读取闪存大小(每个系列在不同的地址上都有此寄存器)并通过stm32devices.py
文件再次识别具体设备或者只是连接SWD并保持pystlink以检测正确的MCU。
答案 2 :(得分:0)
如果您有权访问引导加载程序UART,则可以使用stm32flash
来识别和编程设备,除非它被锁定。