Skip to main content
Associate
January 23, 2026
Question

How to start Cortex-M4 as early as possible on STM32MP151

  • January 23, 2026
  • 1 reply
  • 179 views

Hello,

I am working with an STM32MP151 and I would like to start the Cortex-M4 core as early as possible during the boot sequence.

The main requirement is to run a real-time task on the M4 that reads an analog input (ANA0 – ADC channel) with minimal startup latency.

In my current setup, the ADC channel is first owned by the Cortex-A7 Linux kernel and is explicitly released and reassigned to the Cortex-M4 via the Linux device tree (by disabling the ADC node for A7 and assigning it to the M4).

Additionally, if I stop the system in boot mode and manually start the Cortex-M4, I am able to successfully debug the M4 firmware and correctly read the ADC value.
My goal is to have the M4 firmware start automatically in the same early boot conditions, without requiring a manual boot/debug sequence.

I would like to understand:

  • At which earliest boot stage the Cortex-M4 can be released
  • Whether the Cortex-M4 can be started independently from the Linux boot on the Cortex-A7

Thank you in advance for your support.

Sabrina

1 reply

Olivier GALLIEN
Technical Moderator
February 2, 2026

Hi @sabry ,

It's possible to start the M4 from U-Boot

Refer to How to start the Cortex-M coprocessor from U-Boot - stm32mpu

Olivier 

Olivier GALLIEN In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.