我有一个可能是STM32单片机的电路板。我想使自定义固件的板,因为股票之一是非常错误的。不幸的是,电路板制造商很友好,把所有的标记都磨掉了。有没有办法通过jtag获取设备/系列id并将其交叉引用到型号?我能找到的所有东西都是关于获取芯片的唯一id的,这不是我需要的。
发布于 2018-01-19 06:51:50
你可以通过设备的JTAG IDCODE得到一系列的STM32,但要得到确切的部件号需要更多的猜测,比如实际的闪存和内存大小,或者可选的功能。
我会做以下事情:
对ram执行相同的操作。H210F211
最后,你可以肯定的知道你在黑板上的包。这样,您应该能够缩小到匹配的部件号。
发布于 2018-01-20 16:06:07
在pystlink (SWD programmer)中实现,它几乎成功地识别了任何STM32单片机。
原则是:
0xe000ed00的寄存器CPUID中读取PART_NO,由此可以识别MCU是否为CortexM0、M3、M4、..在此文件中,stm32devices.pyIDCODE_REG (M0和M0+的此寄存器与M3、M4和M7的地址不同)的前12位是DEV_ID,它标识系列,并再次查看stm32devices.py文件FLASH_SIZE_REG读取闪存大小(每个系列的此寄存器位于不同的地址),并通过stm32devices.py文件再次标识具体设备
或者简单地连接SWD并保持pystlink来检测正确的MCU。
发布于 2018-01-22 21:41:17
如果您可以访问引导加载程序UART,则可以使用stm32flash来识别设备并对其进行编程,除非它被锁定。
https://stackoverflow.com/questions/48327625
复制相似问题