2025-12-30 10:50 PM
Hello,
I am working on a custom board derived from the STM32MP157F-DK2 reference design and currently validating the basic bring-up.
I have a few questions specifically related to the Cortex-M4 (MCU) core on STM32MP157F:
Checking MCU execution via JTAG/SWD
Using the JTAG/SWDIO pins, how can I confirm whether the Cortex-M4 core is running or halted?
Are there recommended tools or procedures (e.g., STM32CubeProgrammer, OpenOCD, ST-Link) to attach to the M4 core independently of the A7 cores and verify execution status?
MCU startup code responsibility
Does the Cortex-M4 require a separate startup/application binary (startup code, linker script, vector table), or is this handled automatically as part of the Yocto/OpenSTLinux build?
In other words, does Yocto provide and load a default M4 firmware, or is it expected that we build and deploy an M4 firmware separately (for example using STM32CubeIDE)?
Boot flow clarification
At what stage is the M4 core released from reset?
Is this controlled by TF-A/U-Boot/Linux, or only when an explicit M4 firmware is loaded (e.g., via remoteproc)?
Any guidance on the recommended way to debug and validate the M4 core on a custom STM32MP157F board would be very helpful.
Thank you.
2025-12-30 11:42 PM
You find a lot of information in the wiki, e.g.
- Category:STM32 MPU microprocessor devices - stm32mpu
Here is a M4 example app:STMicroelectronics/logicanalyser: logicanalyser Cortex-M4 firmware
hth
KnarfB