我有一块可能带有 STM32 MCU 的板。我想为该板制作定制固件,因为库存板有很多问题。不幸的是,电路板制造商很友善地磨掉了所有标记。有没有办法通过 jtag 获取设备/系列 ID 并将其交叉引用到型号?我能找到的一切都是关于获取芯片的唯一ID,这不是我需要的。
In pystlink https://github.com/pavelrevak/pystlink(SWD程序员)正在实现,几乎可以成功识别任何STM32 MCU。
原理是:
- read
PART_NO
从寄存器CPUID http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0553a/CIHGGBIH.html在地址0xe000ed00
通过此可以识别该文件中的 MCU 是否为 Cortex M0、M3、M4、..stm32devices.py https://github.com/pavelrevak/pystlink/blob/master/lib/stm32devices.py
- read
IDCODE_REG
(M0 和 M0+ 该寄存器的地址与 M3、M4 和 M7 不同)前 12 位是DEV_ID
,识别家庭并再次调查stm32devices.py
file
- 从寄存器读取闪存大小
FLASH_SIZE_REG
(每个系列在不同的地址上都有这个寄存器)并通过以下方式再次识别具体设备stm32devices.py
file
或者只需连接 SWD 并保留 pystlink 即可检测正确的 MCU。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)