Skip to main content
Visitor II
May 11, 2020
Solved

STM32MP1 Engineering Mode

  • May 11, 2020
  • 2 replies
  • 2343 views

Hello, I would like to know in detail how exactly does the Engineering mode work on this platform. The information at https://wiki.st.com/stm32mpu/wiki/STM32CubeMP1_development_guidelines

are kind of vague and a little confusing. Is the Cortex-A7 being used in this mode at all, or it goes straight to an infinite loop? Where is the secure debugger running, if the A7 is not used? Is the ROM code executed by the Cortex-M4? The figure shows that the debugger runs on the Cortex-A7, which technically means it also loads and runs the co-processor firmware, so it can not go into an infinite loop?

    This topic has been closed for replies.
    Best answer by ArmandG

    ​Hello @Matej Záhorský​ ,

    Actually, whether you are in production mod or in engineering mod, after a reset the boot ROM is first booting the cortex A7. Then, in the case of the engineering mod, the A7 starts the M4, unsecures some of its functions to allow the M4 to access it, allows the full debugging (A7 and M4)  and then goes into an infinite loop before letting the M4 running. Concerning the debugger it is an external function to A7 and M4 so you can still access it if you don't use A7. On the figure what is written enclosed by dotted line is just some descriptions, it is not related to the area where it is written as you may have thought.

    I also invite you to read informations about ROM code overview on this wikipage:

    https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Engineering_boot

    Best regards,

    Armand

    2 replies

    ArmandGAnswer
    ST Employee
    May 12, 2020

    ​Hello @Matej Záhorský​ ,

    Actually, whether you are in production mod or in engineering mod, after a reset the boot ROM is first booting the cortex A7. Then, in the case of the engineering mod, the A7 starts the M4, unsecures some of its functions to allow the M4 to access it, allows the full debugging (A7 and M4)  and then goes into an infinite loop before letting the M4 running. Concerning the debugger it is an external function to A7 and M4 so you can still access it if you don't use A7. On the figure what is written enclosed by dotted line is just some descriptions, it is not related to the area where it is written as you may have thought.

    I also invite you to read informations about ROM code overview on this wikipage:

    https://wiki.st.com/stm32mpu/wiki/STM32MP15_ROM_code_overview#Engineering_boot

    Best regards,

    Armand

    ParadoxAuthor
    Visitor II
    May 12, 2020

    Thank you for your reply, it is exactly what I needed, now it all makes sense. Have a nice day!