2025-04-25 2:40 AM
I was trying to write a small firmware to keep the LD9 Orange LED steady ON, instead of blinking in STM32CubeIDE. I could able to flash into CM33 core using the debugger and able to debug. When I disconnect debugger, it still remain ON.
But once I reset the board, the CM33 firmware is gone and LD9 again started blinking, as if my firmware is over written.
Any solution?
Solved! Go to Solution.
2025-04-30 8:00 AM
Hello @partha_sarathi1000 ,
This is a normal situation.
When you use CubeIDE to run/debug a firmware on the target, the firmware is not installed permanently on any memory, like traditional MCUs. STM32MPUs cannot do that.
This is Linux (in our standard Ecosystem) that has a service running after boot time, saying that we take a M33 firmware binary in its file system, program it on M33 and make it run. So if you do not modify it, the firmware is still the same (and Indeed, this firmware makes a LED blinking).
The service is called st-m33firmware-load.service
root@stm32mp2-e3-95-f9:~# systemctl | grep m33
st-m33firmware-load.service
You can either disable it and launch your own firmware manually, or you can modify this service to automatically point on your own firmware.
Please check out this WIKI article: https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview#Remote_processor_boot
Kind regards,
Erwan.
2025-04-30 8:00 AM
Hello @partha_sarathi1000 ,
This is a normal situation.
When you use CubeIDE to run/debug a firmware on the target, the firmware is not installed permanently on any memory, like traditional MCUs. STM32MPUs cannot do that.
This is Linux (in our standard Ecosystem) that has a service running after boot time, saying that we take a M33 firmware binary in its file system, program it on M33 and make it run. So if you do not modify it, the firmware is still the same (and Indeed, this firmware makes a LED blinking).
The service is called st-m33firmware-load.service
root@stm32mp2-e3-95-f9:~# systemctl | grep m33
st-m33firmware-load.service
You can either disable it and launch your own firmware manually, or you can modify this service to automatically point on your own firmware.
Please check out this WIKI article: https://wiki.st.com/stm32mpu/wiki/Linux_remoteproc_framework_overview#Remote_processor_boot
Kind regards,
Erwan.