Debugging M4 on STM32MP15xxxx: Difference between revisions

From Wiki-DB
Jump to navigationJump to search
mNo edit summary
Typo corrected and picture sizes adjusted.
Line 13: Line 13:
=== Without console or lan connection ===
=== Without console or lan connection ===
If you have no console or lan connection STM32CubeIDE don't let you start the debugging session.
If you have no console or lan connection STM32CubeIDE don't let you start the debugging session.
In this case it is possible to manually start th M4 on the target and start the debugging session with "thruJTAG/SWD (Engineering mode)".
In this case it is possible to manually start the M4 on the target and start the debugging session with "thruJTAG/SWD (Engineering mode)".
Therefor go to:
Therefor go to:
# Debug Configuration
# Debug Configuration
Line 20: Line 20:
# Uncheck "Download"
# Uncheck "Download"


[[File:STM32CubeIDE-Debug-Configuration-M4.png]]
[[File:STM32CubeIDE-Debug-Configuration-M4.png|700px]]


As next step we have to start the M4 manually.
As next step we have to start the M4 manually.
Line 29: Line 29:
To stop the M4 run <code>./fw_cortex_m4.sh stop</code>.
To stop the M4 run <code>./fw_cortex_m4.sh stop</code>.


[[File:STM32CubeIDE-M4-Start Script-Position.png]]
[[File:STM32CubeIDE-M4-Start Script-Position.png|200px]]


== Debugging with GDB (without IDE) ==
== Debugging with GDB (without IDE) ==

Revision as of 07:55, 30 June 2021

For general information about the STM32MP15xxxx please refer to the official Wiki. This page describes ways to debug the M4 on STM32MP15xxxx from ST.


Debugging modes

Production mode and Engineering mode are described here in the ST Wiki. To enter Engineering mode with the Avenger96 read the chapter "Boot Mode" in the Getting started guide and look for "NoBoot".

Debugging with STM32CubeIDE

Debugging for both modes is also described in the ST wiki here. If you have problems debugging in Production mode, see next subcaption.

Without console or lan connection

If you have no console or lan connection STM32CubeIDE don't let you start the debugging session. In this case it is possible to manually start the M4 on the target and start the debugging session with "thruJTAG/SWD (Engineering mode)". Therefor go to:

  1. Debug Configuration
  2. Then to the Startup tab
  3. Double click your elf file in "Load Image and Symbols"
  4. Uncheck "Download"

As next step we have to start the M4 manually.

Therefore copy your elf file and the fw_cortex_m4.sh script to the same folder in Linux running on the A7. You can find fw_cortex_m4.sh in the M4 project of STM32CubeIDE, see picture below. Next start the M4 with ./fw_cortex_m4.sh start. To stop the M4 run ./fw_cortex_m4.sh stop.

Debugging with GDB (without IDE)

https://wiki.st.com/stm32mpu/wiki/GDB#Debug_Cortex-M4_firmware_with_GDB

Debugging with trace output on Linux

https://wiki.st.com/stm32mpu/wiki/STM32CubeMP1_Package#Logging_in_production_mode