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.

CCS/TDA2SG: New desgin by ourself with tda2sg,some errors occur when we try to sd boot.

Part Number: TDA2SG
Other Parts Discussed in Thread: X5777BXGABC

Tool/software: Code Composer Studio

Hi all,

We have a new design PCB board with Soc TDA2SG.Some errors happend when we try to use SD BOOT way. The errors like below in UART1:

Note:SD boot working fine on EVM board X5777BXGABC.

 TDA2xx SBL Boot

DPLL Configuration Completed

Clock Domain Configuration Completed

Module Enable Configuration Completed

TI EVM PAD Config Completed

ERROR: HW-Leveling time-out

DDR Config Completed

App Image Download Begins

SD Boot - file open completed successfully

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Invalid Magic String in Boot Image

Valid App Image is not Available

Putting MPU CPU1 in Off mode

EVE MMU configuration completed 

Does it means some problem happen to hardware?

Pls let me know if anyone knows the exact problem.

Very thanks!

Jer.

  • Hi Jer,

    At the start of each RPRC image (stripped down version of application image), there is a magic string and SBL is unable to read it. This can happen if there is endianness issue which doesn't seem to be the case here as boot is successful on EVM using the same SD card.
    Can you load the SBL through CCS and do a step by step debug to see what is happening. Is there some different pin mux that is needed in your board?

    Regards,
    Rishabh
  • Hi Rishabh,

    Thanks for your reply.I got some info from C:\VISION_SDK_02_10_00_00\vision_sdk\build\makerules\build_sbl.mk .
    1.In visionsdk: EMIFMODE = SINGLE_EMIF_512MB (default) ,uses EMIF1 with 512MB. But now,we want to delete EMIF1(512MB) and leave EMIF2(1GB) only.Does it possible to do that?
    I want to know how to adjust in VISIONSDK to fit this modiy.thanks!

    Best wishes!
    Jer.
  • Hi Jer,

    For this you need to modify the LISA map in SBL as well as change the memory map in Vision SDK.

    Vision SDK memory map is there in <vision_sdk>\build\tda2xx\mem_segment_definition_512mb_bios.xs.

    LISA map is defined in ti_components\drivers\starterware_01_06_00_16\bootloader\sbl_utils\src\sbl_utils_tda2xx_ddr_config.c.

    You need to set LISA_MAP_0 to 0x80600200.

    Regards,

    Rishabh

  • Hi Rishabh,

    Thanks for your info,it's really helpful.

    I got some info from C:\VISION_SDK_02_10_00_00\vision_sdk\build\makerules\build_sbl.mk:

    # EMIFMODE = SINGLE_EMIF_512MB (default) DUAL_EMIF_1GB_512MB or DUAL_EMIF_2X512MB or SINGLE_EMIF_256MB
    # NOTE:
    # DUAL_EMIF_1GB_512MB : uses EMIF2 - 1GB and EMIF1 512MB, BUT in non-interleaved mode
    #                                                      Vision SDK uses only 1GB hence effectivly this is single EMIF
    #                                                      non-interleaved mode for Vision SDK
    #                                                      0x8000_0000 - 0xBFFF_FFFF is mapped to EMIF2
    #                                                      0xC000_0000 - 0xDFFF_FFFF is mapped to EMIF1
    # DUAL_EMIF_2X512MB : uses EMIF1 and EMIF 512MB each in interleaved mode
    #                                                0x8000_0000 - 0x9FFF_FFFF is interleaved between EMIF1 and EMIF2
    # SINGLE_EMIF_256MB : uses EMIF1 with 256MB
    #                                              0x8000_0000 - 0x8FFF_FFFF is mapped to EMIF1
    # SINGLE_EMIF_512MB : uses EMIF1 with 512MB
    #                                               0x8000_0000 - 0x9FFF_FFFF is mapped to EMIF1

    Please see DUAL_EMIF_1GB_512MB mode information.I think we can change EMIFMOD from SINGLE_EMIF_512MB (default) to DUAL_EMIF_1GB_512MB .Then, the problem(delete emif1 and leave emif2 only) will be solved.

    So,I think change EMIFMODE in ti_components\drivers\starterware_01_06_00_16\bootloader\sbl_utils\src\sbl_utils_tda2xx_ddr_config.c  and  C:\VISION_SDK_02_10_00_00\vision_sdk\build\makerules\build_sbl.mk (for MLO file) it's enough to soleve this issue.

    If i'm wrong,please correct me.thanks!

    Jer.

     

     

  • Hi Jer,

    You can solve the issue of using 1 GB with EMIF2 by changing EMIFMODE to DUAL_EMIF_1GB_512MB but it is not the best approach as you are essentially mapping both EMIFs.

    Also even if you do this, the Vision SDK memory map will still use only the first 512 MB as no code/data section is mapped to the latter 512 MB.

    You can refer to the attached document for more details on memory map changes in Vision SDK (0523.VisionSDK_UserGuide_MemoryMap.pdf). Please note that this document is part of VSDK 2.12 release.

    Regards,

    Rishabh