cancel
Showing results for 
Search instead for 
Did you mean: 

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

sabry
Associate

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 1
Olivier GALLIEN
ST Employee

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.