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.

TDA4VM: TDA4 SBL Start-up time optimization

Part Number: TDA4VM

Hi engineers,

    We want to reduce the startup time of SBL, so the focus is on OSPI-CLK, OSPI-DMA, Dcache and Icache. TI's currently released SDK-Does SBL support OSPI to use DMA and Cache? Please tell me the SDK version that supports the above functions. I will conduct a test to see if DMA and Cache can reduce the startup time to meet the needs of our project. Thank you!

  • HI 

    SBL does support OSPI DMA. Can you try enabling it? 

    I did not get question about cache, cache is already enabled for SBL.

    Regards,

    Brijesh

  • Please tell me which SDK version support OSPI DMA,now i use the SDK 7.2,and please tell me how to enable DMA,i have found threre are two DMA  precompilation conditions,but when i modify them the project can not compiled successfully,so please tell me how to enable DMA,thanks! I have check the cache configuration but i found the dcache is not enable in SDK 7.2 ,please check ,thanks!

  • in the sbl_component.mk file, there is a flag SBL_USE_DMA, can you set it to yes, rebuild SBL and check it? 

    Regards,

    Brijesh

  • I have set the flag SBL_USE_DMA,and then I debug an review the OSPI registers,I found the OSPI-DMA bits are not config,I have found a flag which named SPI_DMA_ENABLE,should I turn on this flag?if this flag is useful,please tell me how to enable this flag.

  • Hi,

    Where do you enable SBL_USE_DMA to yes? This flag will internally enable SBL_DMA_ENABLE build macro. So we need to just set SBL_USE_DMA to yes in sbl_component.mk file for the SBL that you are using. 

    Regards,

    Brijesh

  • Hi,

    in  sbl_component.mk file there are too many SBL_USE_DMA place,please tell me which line should I modify?

  • Hi,

    What command do you use to build SBL? Could you please share it? I will tell you where to change based on this command.

    Regards,

    Brijesh

  • Hi,

    we use this command: make pdk_libs -j16
    make -j BOARD=j721e_evm CORE=mcu1_0 BUILD_PROFILE=release sbl_cust_img

  • Set this flag, SBL_USE_DMA,  to 1 in CUST_SBL_TEST_FLAGS.

    Regards,Brijesh

  • 123

    Hi,

    We did a test according to your suggestion, but the test results show that the DMA has not been turned on successfully. During debugging, it was found that the precompilation condition of SBL_USE_DMA was not turned on, which resulted in the DMA related variables and registers not being configured, as shown in Figure 2 and Figure 3. . The makefile modification items are shown in Figure 1. Is there a problem with the makefile modification? Cause the pre-compilation conditions have not been modified?

  • Hi,

    Can you also make sure that DMA is enabled for cust library and cust image, as shown below?

    sbl_lib_cust_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_lib.mk BOOTMODE=cust SBL_USE_DMA=yes CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)

    sbl_cust_img_MAKEFILE = -f$(PDK_SBL_COMP_PATH)/build/sbl_img.mk BOOTMODE=cust SBL_USE_DMA=yes BUILD_HS=no CUST_SBL_FLAGS=$(CUST_SBL_TEST_FLAGS)

    Please make sure to rebuild libraries after making these changes, like below

    make -s -j4 BOARD=j721e_evm CORE=mcu1_0 BUILD_PROFILE=release sbl_lib_cust_clean sbl_cust_img_clean

    make -s -j4 BOARD=j721e_evm CORE=mcu1_0 BUILD_PROFILE=release sbl_lib_cust sbl_cust_img

    Regards,

    Brijesh