Last edited 9 months ago

STM internal peripheral

Applicable for STM32MP15x lines

1 Article purpose[edit source]

The purpose of this article is to:

  • briefly introduce the STM peripheral and its main features,
  • indicate the peripheral instances assignment at boot time and their assignment at runtime (including whether instances can be allocated to secure contexts),
  • list the software frameworks and drivers managing the peripheral,
  • explain how to configure the peripheral.

2 Peripheral overview[edit source]

The STM peripheral is used to log STM traces into the embedded trace FIFO (ETF). This trace can include hardware events (the list is given in the STM32MP15 reference manuals) or direct 'printf like' log from the Cortex®-A7. Once in the ETF buffer, the trace can be dumped directly from the Cortex®-A7 or to the trace port interface unit (TPIU), connected to an external probe able to decode it.

Refer to the STM32MP15 reference manuals for the complete list of features, and to the software frameworks and drivers, introduced below, to see which features are implemented.

3 Peripheral usage[edit source]

This chapter is applicable in the scope of the OpenSTLinux BSP running on the Arm® Cortex®-A processor(s), and the STM32CubeMPU Package running on the Arm® Cortex®-M processor.

3.1 Boot time assignment[edit source]

3.1.1 On STM32MP1 series[edit source]

The STM can be used to debug the boot sequence using an external probe, without any associated embedded software.

3.2 Runtime assignment[edit source]

3.2.1 On STM32MP15x lines More info.png[edit source]

Click on the right to expand the legend...

STM32MP15 internal peripherals

Check boxes illustrate the possible peripheral allocations supported by STM32 MPU Embedded Software:

  • means that the peripheral can be assigned to the given runtime context.
  • means that the peripheral is assigned by default to the given runtime context and that the peripheral is mandatory for the STM32 MPU Embedded Software distribution.
  • means that the peripheral can be assigned to the given runtime context, but this configuration is not supported in STM32 MPU Embedded Software distribution.
  • is used for system peripherals that cannot be unchecked because they are hardware connected in the device.

Refer to How to assign an internal peripheral to an execution context for more information on how to assign peripherals manually or via STM32CubeMX.
The present chapter describes STMicroelectronics recommendations or choice of implementation. Additional possiblities might be described in STM32MP15 reference manuals.

Domain Peripheral Runtime allocation Comment
Instance Cortex-A7
secure
(OP-TEE)
Cortex-A7
non-secure
(Linux)
Cortex-M4

(STM32Cube)
Trace & Debug STM STM

4 Software frameworks and drivers[edit source]

The STM can be used to debug the run time application using an external probe, without any associated embedded software.

There is no software dedicated to the STM internal peripheral delivered with the STM32 MPU ecosystem but the STM trace can be captured using an external probe.

5 How to assign and configure the peripheral[edit source]

Configuration of the STM is done via JTAG scripts. Those scripts must be built by the user using the STM32MP15 reference manuals .