Part Number: PROCESSOR-SDK-J721S2
Tool/software:
hi,TI team,
Description:
In the current project, our boot flow is designed as follows:
SBL has been modified into two stages, SBL1 and SBL2, where the RBL initializes SBL1, and SBL1 subsequently initializes SBL2.
Currently, I am encountering an issue in SBL2 during the DDR initialization process. The details are as follows:
Functional Requirements:
- SBL1: Configures only the MCU domain R5_0 core.
- SBL2: Responsible for configuring the MAIN domain cores.
Current Issues:
-
tifs.bin Initialization:
- In SBL1,
tifs.binhas already been loaded and initialized. - Question: Is it necessary to reload or reinitialize
tifs.binagain in SBL2?
- In SBL1,
-
DDR Initialization:
- In SBL1, DDR has already been initialized and is functioning properly.
- However, in SBL2, when DDR initialization code is executed again, the program hangs at the following code block, with no indication from the register values:

while (regVal == 0x0){ regVal = HW_RD_REG32((BOARD_DDR_FSP_CLKCHNG_REQ_ADDR + (0x10 * ddrInstance))) & 0x80; BOARD_DEBUG_LOG("Reg Value: %d \n", regVal); } - Question: Is it necessary to reinitialize DDR in SBL2? If not, how can I optimize DDR configuration in SBL2?
-
SBL2 Loading Issue:
- When SBL2 takes control, which parts of SBL1's initialization results can be safely relied upon?
Looking forward to any guidance or recommendations. Thank you!