Part Number: AM2632
Other Parts Discussed in Thread: AM2634, SYSCONFIG
Hi,
I have a LaunchPad with an AM2634 and need to create a safe_image.
This safe_image is responsible for executing firmware update commands from an external application. Basically, the safe_image should be called after the SBL, similar to an application image, but it runs before the main application image. The safe_image needs to load and run an application image stored in flash, just like the SBL does.
My tests:
-
safe_image as SBL (.tiimage):
I tried to create the safe_image based on the sbl_qspi from the TI SDK, adjusting the bootloader offset to load the application image at the correct flash address. However, I couldn’t get it to work properly.
In this case, the default SBL_QSPI is loaded at 0x60000000, the safe_image (.tiimage) is loaded at 0x60080000, and the application image is at 0x600C0000. In the safe_image SysConfig, the offset is set to 0x000C0000.
The expected behavior is that the SBL starts and runs the safe_image, and then the safe_image runs the application image — but this didn’t work. -
SBL as .appimage:
I also tried creating the safe_image based on sbl_qspi, using the Bootloader API, but building it as an .appimage. This approach didn’t work either.
In this second case, the default SBL_QSPI is loaded at 0x60000000, the safe_image (.appimage) at 0x60080000, and the application image at 0x600C0000. In SysConfig, the offset is again 0x000C0000.
The expected behavior is the same as in the first case. -
SBL default with additional commands:
I tried to create the safe_image using the default sbl_qspi, but added custom commands using FreeRTOS — since my safe_image must run with FreeRTOS.
In this setup, the custom sbl_qspi (with added commands) is loaded at 0x60000000, and the bootloader offset is 0x000C0000.
The expected behavior is that the custom SBL initializes and runs the .appimage located at 0x600C0000, but again, it didn’t run successfully.
I have three questions:
-
Does SBL_QSPI (.tiimage) for AM263x support FreeRTOS? If so, how can I enable it?
-
Can I use the Bootloader API in an application_image (.appimage) project?
-
What would be the best approach to implement this safe_image?
Best regards,
Gabriel