This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-J784S4: tiboot3.bin image general doubts

Part Number: PROCESSOR-SDK-J784S4

Tool/software:

Hello experts,

I am currently using the SDK (RTOS) V10.00.00.27 and i have some doubts related specifically to the "tiboot3.bin" i hope you can help me with the answers:

1-Where is this "tiboot3.bin" image located in the SDK path?

2-Which command (specifically for J784S4 board) and from which path from the SDK i should run it to re-generate this "tiboot3.bin" image?

3-Reading the documentation i understood the boot flow at images perspective is:

"DMSC -> MCU ROM -> TIBOOT3 -> SBL (if RTOS was chosen) -> AppImage"

Is this understanding correct (if not, could you please correct me)? 

4-Could you explain the "tiboot3.bin" image purpose in an SDK usage (not SDK Linux)?

5-In which cases is "tiboot3.bin" still needed apart of DMSC-MCU ROM Tandem?

Thanks!

  • Hi,

    Where is this "tiboot3.bin" image located in the SDK path?

    For Linux usage, after building it, you can find it at "[SDK-Install-Dir]/board-support/ti-u-boot-[commit-hash]/build/r5/tiboot3.bin".

    Which command (specifically for J784S4 board) and from which path from the SDK i should run it to re-generate this "tiboot3.bin" image?

    From top level makefile (from "[SDK-Install-Dir]") run "make u-boot". This will make your "tiboot3.bin"

    Reading the documentation i understood the boot flow at images perspective is:

    "DMSC -> MCU ROM -> TIBOOT3 -> SBL (if RTOS was chosen) -> AppImage"

    Is this understanding correct (if not, could you please correct me)? 

    So tiboot3.bin is actually a "SPL" (Secondary Program Loader) in linux boot flow. The Primary will be the MCU ROM (aka BOOTROM). Counter part of "SPL" in an RTOS environment will be the "SBL" (Decondary Boot Loader). This will also run after MCU ROM.

    So SPL and SBL are at the same places in the boot flow, just that they are part of different boot flow.

    For linux, it typically is:

    MCU ROM -> R5-SPL (tiboot3.bin) -> A72-SPL(tispl.bin) -> U-BOOT -> Linux kernel   (For more details, see here)

    For RTOS, it typically is:

    MCU ROM -> SBL (also called tiboot3.bin) -> AppImage or Bootapp (depends on your decision)

    DMSC is just a core which will run the initial part of MCU ROM code.

    Could you explain the "tiboot3.bin" image purpose in an SDK usage (not SDK Linux)?

    Rather than calling it tiboot3.bin, its more proper to call it SPL/SBL depending on the boot flow you are using. It's actions are similar. Its main purpose is to :

    • Power on and configure essential peripherals
    • Power on and configure DDR
    • Get the next images loaded on the other cores and reset those cores
    In which cases is "tiboot3.bin" still needed apart of DMSC-MCU ROM Tandem?

    A SPL/SBL is always needed. The name "tiboot3.bin" is there because this is the name MCU ROM is programmed to look for in Filesystem type boot media like SD Card or eMMC for this name for the next bootloader. 

    Hope this answers your questions.

    Regards,
    Tanmay

  • Thanks for the detailed answer Tanmay, now is much clearer to me that piece in the puzzle.

    There is another piece which is not yet clear to me called "TIFS" specifically in RTOS SDK, so considering its flow:

    MCU ROM -> SBL (also called tiboot3.bin) -> AppImage or Bootapp

    1-Where "TIFS" takes place in this sequence for the RTOS SDK? (i supposse during DMSC and the behavior in this SDK is similar than in LINUX SDK but i would like to know the differences with more details)

    2-Is the "TIFS" the same than the SYSFW? if not, what is their relationship or difference?

    3-Where i can obtain this "TIFS" image for RTOS SDK or how can i regenerate it if needed?

    Slight smile

  • Hi,

    Where "TIFS" takes place in this sequence for the RTOS SDK? (i supposse during DMSC and the behavior in this SDK is similar than in LINUX SDK but i would like to know the differences with more details)

    In the SBL boot flow, the TIFS is loaded to the DMSC core by the SBL binary (tiboot3.bin).

    Is the "TIFS" the same than the SYSFW? if not, what is their relationship or difference?

    Yes, TIFS and sysfw the same thing.

    Where i can obtain this "TIFS" image for RTOS SDK or how can i regenerate it if needed?

    You can find that here depending on your board type : /pdk_jacinto_09_02_00_30/packages/ti/drv/sciclient/soc/sysfw/binaries/*

    Regards,
    Tanmay