2019-07-11 07:48 PM
Hi, it looks like the Cortex M4 core in SMP32MP1 doesn't have flash memory or something like eeprom that can be used as non-volatile memory. Is there any "best practices" to give non-volatile data to the Cortex M4?
Solved! Go to Solution.
2019-07-11 11:17 PM
RETRAM could be retained in all modes using VBAT in absence of VDD supply.
Note that the Cortex-M4 is seen as a Cortex-A7/Linux coprocessor and cannot boot itself after a reset, SRAMx/RETRAM memories must be loaded by Cortex-A7/Linux side after cold boot.
RETRAM could be used to store code required upon Cortex-M4 wakeup from STANDBY, as it is possible to configure the system to wake-up only M4 (which can than wake up Cortex-A7/Linux later if needed, or go back to STANDBY).
https://wiki.st.com/stm32mpu/wiki/Coprocessor_power_management could give you mode information.
If you want dedicated non-volatile memory for Cortex-M4, depending on your application, external memories could be added using I2C, SPI or QUADSPI peripherals, but still no Cortex-M4 direct boot from it.
2019-07-11 11:17 PM
RETRAM could be retained in all modes using VBAT in absence of VDD supply.
Note that the Cortex-M4 is seen as a Cortex-A7/Linux coprocessor and cannot boot itself after a reset, SRAMx/RETRAM memories must be loaded by Cortex-A7/Linux side after cold boot.
RETRAM could be used to store code required upon Cortex-M4 wakeup from STANDBY, as it is possible to configure the system to wake-up only M4 (which can than wake up Cortex-A7/Linux later if needed, or go back to STANDBY).
https://wiki.st.com/stm32mpu/wiki/Coprocessor_power_management could give you mode information.
If you want dedicated non-volatile memory for Cortex-M4, depending on your application, external memories could be added using I2C, SPI or QUADSPI peripherals, but still no Cortex-M4 direct boot from it.
2019-07-12 12:04 AM
Thank you for the explanation. It helps my understanding about the power mode.
It's a bit shame that the current STM32MP157x Discovery kits and evaluation boards do not seem to have a VBAT pin though.
2019-07-12 12:13 AM
Oh nevermind. I found CN3 which is connected to VBAT in the Discovery Kit. I figured it out while looking at the schematics. It is so weird there is no mention at all about CN3 in the user manual (UM2534).
2019-07-12 12:21 AM
STM32MP157x EVAL boards have a populated coin cell holder on the bottom of the MB1263 board, should be connected to VBAT using JP3 jumper setting (see schematics).
STM32MP157x Discovery kits have a small connector (CN3) to plug an external CR2032 (or similar) 3V lithium battery wired on a Molex Picoblade 2 circuits pitch 1.25mm type: 51021-0200 (1=VBAT, 2=GND). Compatible type are easy to find, look at "Thinkpad 02K6541" (or 02K6572 / 02K7075 / 02K7087 / 08K8050 / 92P0986 / 92P0991).
2019-07-12 12:23 AM
Thank you very much, Patrick!