Difference between revisions of "STM32MP1 Platform trace and debug environment overview"

[quality revision] [quality revision]
m
m
 

The block diagram below shows the STM32MP1 Platform trace and debug environment components and their possible interfaces:

  • The STM32MPU Embedded Software package (see STM32MPU Embedded Software architecture overview) that includes:
    • The OpenSTLinux BSP and application frameworks components, running on the Arm® Cortex®-A core
    • The STM32Cube MPU Package running on the Arm® Cortex®-M core
  • The STM32MPU peripherals shared between Cortex®-A and Cortex®-M cores (such as GPIO, I2C and SPI)
  • The user interfaces or tools, which allow to interact with different trace and debug Tools, such as:
    • The remote shell using terminal console
    • The debugger tools (such as GDB)
    • The graphical IDE (such as GDBGUI or SystemWorkbench)
  • The trace and debug interfaces or hardware paths that provide access to trace and debug components through:
    • The network interface (e.g. Ethernet)
    • The communication port (e.g UART)
    • The hardware connector interfaces:
      • JTag port
      • Trace port to access ETM, STM, ITM and SWD
      • I/O probes to access HDP
  • The hardware probes such as ST-Link.


This block diagram also illustrates the Arm® debugging modes:

  • Invasive debug: debug process that allows the control and monitoring of the processor. Most debug features are considered invasive because they enable you to halt the processor and modify its state.
  • Non-invasive debug: debug process that allows the monitoring of the processor but not the control. The embedded trace macrocell (ETM) interface and the performance monitor registers are non-invasive debug features.


Click the figure below to directly jump to the component you want to trace, monitor or debug:

  • By selecting a hardware component, you will be redirected to the corresponding hardware board article in order to check if the hardware connector is supported on your board.
  • By selecting a target software component, you will be be redirected to an article that explains in details how to trace, monitor or debug this component.
  • By selecting a host software component, you will be redirected to an article that explains how to use this remote tool.


Remote shell GDB Linux kernel Linux applications OP-TEE OP-TEE TF-A U-Boot STM32CubeMP1 Package ComPort connector Network link JTag connector Trace connector IOProbe connector Category:HW probes
STM32MP1 Platform trace and debug environment overview.
STM32MP1 Platform trace and debug environment overview legend.png



The block diagram below shows the {{highlight|'''STM32MP1 Platform trace and debug environment'''}} components and their possible interfaces:

* The '''STM32MPU Embedded Software''' package (see [[STM32MPU Embedded Software architecture overview]]) that includes:
** The '''OpenSTLinux BSP''' and '''application frameworks''' components, running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A core
** The '''STM32Cube MPU Package''' running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-M core

* The '''STM32MPU peripherals''' shared between Cortex<sup>&reg;</sup>-A and Cortex<sup>&reg;</sup>-M cores (such as GPIO, I2C and SPI)

* The '''user interfaces or tools''', which allow to interact with different trace and debug Tools, such as:
** The '''remote shell''' using terminal console
** The '''debugger tools''' (such as GDB)
** The '''graphical IDE''' (such as GDBGUI or SystemWorkbench)

* The '''trace and debug interfaces or hardware paths''' that provide access to trace and debug components through:
** The '''network''' interface (e.g. Ethernet)
** The '''communication port''' (e.g UART)
** The hardware connector interfaces:
*** '''JTag''' port
*** '''Trace''' port to access ETM, STM, ITM and SWD
*** '''I/O probes''' to access HDP

* The '''hardware probes''' such as ST-Link.

This block diagram also illustrates the Arm<sup>&reg;</sup> debugging modes:
* '''Invasive debug''': debug process that allows the control and monitoring of the processor. Most debug features are considered invasive because they enable you to halt the processor and modify its state.
* '''Non-invasive debug''': debug process that allows the monitoring of the processor but not the control. The embedded trace macrocell (ETM) interface and the performance monitor registers are non-invasive debug features.

{{highlight|Click the figure below}} to directly jump to the component you want to trace, monitor or debug:
* By selecting a '''hardware component''', you will be redirected to the corresponding hardware board article in order to check if the hardware connector is supported on your board. <br>

* By selecting a '''target software component''', you will be be redirected to an article that explains in details how to trace, monitor or debug this component.<br>

* By selecting a '''host software component''', you will be redirected to an article that explains how to use this remote tool.

{{ImageMap|Image: STM32MP1 Platform trace and debug environment overview.png{{!}} thumb{{!}} 800px {{!}} center {{!}} STM32MP1 Platform trace and debug environment overview.
rect 128 0 363 63 [[How to get Terminal|Remote shell]]
rect 402 0 637 63 [[GDB]]
rect 563 390 676 455 [[Linux tracing, monitoring and debugging| Linux kernel]]
rect 563 263 676 330 [[Linux tracing, monitoring and debugging| Linux applications]]
rect 217 389 330 454 [[OP-TEE - How to debug | OP-TEE]]
rect 217 264 330 329 [[OP-TEE - How to debug | OP-TEE]]
rect 341 390 439 454 [[TF-A - How to debug | TF-A]]
rect 458 390 555 454 [[U-Boot - How to debug | U-Boot]]
rect 684 228 800 476 [[STM32CubeMP1 Package | STM32CubeMP1 Package]]
rect 78 320 197 380 [[:Category:STM32 MPU Getting started with ST boards | ComPort connector]]
rect 504 152 625 212 [[:Category:STM32 MPU Getting started with ST boards | Network link]]
rect 936 328 1058 392 [[:Category:STM32 MPU Getting started with ST boards | JTag connector]]
rect 1005 411 1124 474 [[:Category:STM32 MPU Getting started with ST boards | Trace connector]]
rect 1071 497 1190 559 [[:Category:STM32 MPU Getting started with ST boards | IOProbe connector]]
rect 672 73 910 139 [[:Category:HW probes]]<!--
rect 217 389 330 454 [[OpteeOS]]
rect 217 264 330 329 [[OpteeApp]]
rect 671 0 909 61 [[DedicatedTools]]
rect 946 1 1183 65 [(Scope]]
-->

}}
[[File:STM32MP1 Platform trace and debug environment overview legend.png|center|link=]]
<noinclude>

{{PublicationRequestId | 9565 | 2018-11-12 | AnneJ}}

[[Category:Trace and debug tools|0]]</noinclude>
Line 43: Line 43:
 
rect 458 390 555 454 [[U-Boot - How to debug | U-Boot]]
 
rect 458 390 555 454 [[U-Boot - How to debug | U-Boot]]
 
rect 684 228 800 476 [[STM32CubeMP1 Package | STM32CubeMP1 Package]]
 
rect 684 228 800 476 [[STM32CubeMP1 Package | STM32CubeMP1 Package]]
rect 78 320 197 380 [[Getting started with ST boards | ComPort connector]]
+
rect 78 320 197 380 [[:Category:STM32 MPU boards | ComPort connector]]
rect 504 152 625 212 [[Getting started with ST boards | Network link]]
+
rect 504 152 625 212 [[:Category:STM32 MPU boards | Network link]]
rect 936 328 1058 392 [[Getting started with ST boards | JTag connector]]
+
rect 936 328 1058 392 [[:Category:STM32 MPU boards | JTag connector]]
rect 1005 411 1124 474 [[Getting started with ST boards | Trace connector]]
+
rect 1005 411 1124 474 [[:Category:STM32 MPU boards | Trace connector]]
rect 1071 497 1190 559 [[Getting started with ST boards | IOProbe connector]]
+
rect 1071 497 1190 559 [[:Category:STM32 MPU boards | IOProbe connector]]
 
rect 672 73 910 139 [[:Category:HW probes]]
 
rect 672 73 910 139 [[:Category:HW probes]]
 
<!--
 
<!--