Tool/software:
Hi TI-Team,
I am trying to get a SBL OSPI bootloader running on a custom AM243x-Board. I had problems with authentication for appimages when selecting BOOTLOADER_MEDIA_FLASH
. Because of this, and as I want to support encryption later on, I switched to BOOTLOADER_MEDIA_MEM
. I did the following:
- added DDR support and manually loaded the data into a big enough location on DDRAM (split into reading block-wise via
Flash_read(...)
) - passed the arguments as following to the bootloader, directly before
Bootloader_open(..)
is called
bootParams.bufIoTempBufSize = appimage_size;
bootParams.bufIoTempBuf = p_appimage;
bootParams.bufIoDeviceIndex = ~0;
bootParams.memArgsAppImageBaseAddr = (uintptr_t)p_appimage;
I also double checked if the appimage was successfully loaded with saveRaw()
and scripting console, which was the case. Parsing of the boot image works fine:
- authentication/signature checking works
- the correct cores get initialized
- BUT
- afterwards no firmware is started
- I do not see any firmware specific output on Debug-UART (only the messages from Bootloader)
- If I start the same project manually via CCS I see the messages
I took the ipc_notify_echo_am243x-evm_system_freertos_nortos
to replicate the behavior. I increased size of R5FSS0-1 firmware image to ~1MB (by adding a dummy array) and then I have the same behavior as for my custom firmware. No firmware Image is started. As soon as I decrease the firmware image size I see the outputs again and the image is started successfully.
I wonder whether there is somewhere a size limitation when using BOOTLOADER_MEDIA_MEM
, as it is also somewhere described as Boot media is SOC memory. Maybe my test to load from DDR cannot work? However, then I would have a problem loading the firmware images we have which are nearly 2 MB and could be encrypted in future.
Here the test project to reproduce the behavior: multicore-project-ipc.zip
Thanks in advance for any help!