I have a board with presumably an STM32 mcu. I want to make custom firmware for that board as the stock one is very buggy. Unfortunately the board manufacturers were kind enough to grind off all the markings. Is there any way to get the device/family id via jtag and cross reference it to a model number? Everything I could find was about getting the unique id of the chip, which is NOT what I need.
相关问题
- How to make data bank size more than 256 bytes [Li
- STM32 Freezing periphirals when pausing the debugg
- “Section type conflict” in arm embedded, what is i
- AVR XYZ Registers
- YCbCr Video Input STM32F746
相关文章
- STM32F0, ST-link v2, OpenOCD 0.9.0: open failed
- Can't write to flash memory after erase
- GCC: How to disable heap usage entirely on an MCU?
- Call tree for embedded software [closed]
- Where can I find soft-multiply and divide algorith
- Programing STM32 like STM8(register level GPIO )
- How do I use the STM32CUBEF4 HAL library to read o
- Flash memory as mass storage device using STM32 US
You can get down to a family of STM32 through the JTAG IDCODE of the device, but getting to the exact part number will require more guessing, like actual flash and ram size, or optional features.
I would do the following:
At last, you know for sure the package you have on the board. With this, you should be able to narrow down to the matching part number.
If you have access to a boot loader UART you can use
stm32flash
to identify and program the device, unless it is locked down.In pystlink (SWD programmer) is implementation, which almost successfully identify any STM32 MCU.
The principle is:
PART_NO
from registerCPUID
at address0xe000ed00
and with this is possible to identify if MCU is CortexM0, M3, M4, .. in this filestm32devices.py
IDCODE_REG
(M0 and M0+ has this register on different address than M3, M4 and M7) first 12bits isDEV_ID
, which identify family and again look intostm32devices.py
fileFLASH_SIZE_REG
(each family has this register on different address) and identify concrete device again bystm32devices.py
fileOr simply connect SWD and keep pystlink to detect right MCU.