Other Parts Discussed in Thread: SYSBIOS
Hello All,
I'm using F28388D for my product development.
I want to update CPU1 FW using SSBL, I'm using SYS/BIOS in CPU1 and SSBL for CPU1 is baremetal and I allocated
Flash sectors 1, 2 and 3 for SSBL
Flash Sector 13 for Mode selection -> to know whether we need to stay in Program mode or Boot mode,
- So that this flash sector will be read and validated with custom keyword whether to stay in SSBL mode for updating FW received over IPC via Ethernet from CM core
Remaining Flash sector will be allocated for Application FW.
RAM is also partitioned accordingly in such a way that SSBL and Application FW will not used same part of RAM.
Progress made:
So far we were able to Erase flash sectors, Write total Application FW into Flash via IPC <- Ethernet(CM) and write required Keyword to required flash sector so that Jump happens to Application FW.
we have ensured that no peripherals are re-initialized in SSBL and Application FW.
Problem statement:
So whenever we try to jump to Application FW from SSBL after writing keyword by calling " __asm(" LB 0x86000 ");" /*jumping to entry point*/
I see that execution is getting hung before main even starts. Main is not even getting executed.
I further digged up in dis-assembly and found that execution is hung in -> xdc_runtime_startup_exec_e Function in startup.c
Debug 1:
I tried adding startup hooks configuration in .cfg file of Application FW which added "Startup.resetFxn = Startup.reset; " thought this would help but it didnt help.
Stuck on this problem since past few weeks, can you guys please help me sort this out. I can share Source codes in personal message if required for faster resolution.
Thanks and regards,
Pranay.