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 measure

Part Number: TDA4VM

We want to reduce the startup time of SBL,So I did a measurement. The start time of the measurement is when the MCU_PORZ pin becomes 1.8v,
 and the end time of the measurement is when the program is executed to main() function in sbl_main.c, we measured 73ms for this process,
 which is a big difference from the 20ms data TI gave.
 
 Can you measure the time from power-on to the stage of entering the main() function in sbl_main.c?
 
 The SDK version is V7.2 。

Thank you!

  • Hi,

    Can you please answer below questions:

    1. What is your boot media?

    2. How are you measuring the time from PORz to main()?

    Regards

    Karan

  • Hi,

     Answer your question as follows,

    1. Startup mode is OSPI

    2. as the picture shows,My measurement method is to pull a GPIO(WKUP_GPIO0_15) high after entering the main function.
    the time it takes from PORz(1.8V) to main(GPIO 3.3v) is 73ms, this time is too long, Can't meet our requirements.

    Can you measure this time and see where it takes too much time?

  • Hi,

    Can you move your GPIO wakeup code to before earlyinit call? Also can you just set the pinmux to only GPIO lines? 

    Essentially, i want to make sure that GPIO it toggled right after the main call, as a almost first statement. Can you check the time with this change?

    Regards,

    Brijesh

  • Hi,

    I will move my GPIO wakeup code to before earlyinit call. However, I have a question,how to set the pinmux to only GPIO lines?thank you!

  • I think WKUP_GPIO_15 is available on the WKUP_PADCONFIG_59 (0x4301C0EC). Can you read this register currently and then set the same value by change at this offset? 

    Rgds,

    Brijesh

  • Hi,

         I have move GPIO wakeup code to before earlyinit call,and set the 0x4301C0EC register, but the time from PORz(1.8V) to main(GPIO 3.3v) is still 73ms.

        Can you measure this time?Thank you!

  • Hi,

    Are you sure the changes are taken in? This is because SocEarlyInit configures some drive strength and few Qos parameters. there should be some difference. 

    Regards,

    Brijesh

  • Hi,

    I am sure move GPIO wakeup code to before SBL_SocEarlyInit(), But after GPIO is pulled high, the program is stuck in an endless loop.
    Because the correct way is to initialize SBL_SocEarlyInit() and SBL_SciClientInit() first,But what we are concerned about is the time it takes from PORz(1.8V) to main(GPIO 3.3v).

       Why don't you measure this time ? 

  • Placed in front or behind SBL_SocEarlyInit(), the difference is approximately 1 ms.

  • Hello,

    Could you please double check if SBL_SciClientInit is called before you toggle GPIO and measure time? This is because SciClient init can take around 50ms.

    Regards,

    Brijesh

  • Hi,

        I am sure toggle GPIO is before SBL_SciClientInit().

       

  • Hi,

    But then, before that, there is just SBL preinit code, which sets the R5f and MPU. It should not take so much time in setting up R5F. 

    Are you using default SBL from the SDK release? How are you building SBL? Can you please share the command? 

    Regards,

    Brijesh

  • Hi yuhang:

    Has confirmed with R&D experts. If you insure it is MCU_PORz change high to SBL start, at TI EVM board it will less than 20ms.

    Could you please verify it at your hands EVM board and use below boot mode setting.

    Best Regards!

    Han Tao

    SW3[1-8] = 0xxx xxxx
    SW8[1-8] = 0000 0000
    SW9[1-8] = 0100 0000
  • HI,

    I measured the time from  MCU_PORz change high to SBL start to main() with the EVM board, It really only took about 20ms, but the same sbl program used our own board to test it took 70ms.Both are OSPI start mode.

    I confirmed the configuration of the startup mode , the value of MCU_BOOTMODE00-07 is 00010000,the value of MCU_UART0_TXD and  MCU_UART0_RXD is 00, the value of SYS_BOOTMODE0-7 is 01010111. Will the different SYS_BOOTMODE pin settings affect the startup time? 

    Please confirm whether it is the chip batch or other differences, or the new TDA4 chip adds the ROM program code?Thank you!

        

  • Hi,

    I found a problem in the test, the same SBL program, using our board A, from 1.8V power on to enter SBL main took only 10ms, but board B took 70ms. The difference is that the TDA4 chip model of board A is XJ721EGALF  9AP00NS  942U,and the TDA4 chip model of board B is XJ721EGBALF  0CZDVZ9  942S.

    Can you test the startup time with v1.1 chip?

    Best Regards!

  • HI Yuhang:

    Double check with R&D if you setting POST=0x00 mode, the time is ~70ms is reasonable at your ES1.1 board. (believe your setting is POST=0x00 the value of MCU_UART0_TXD and  MCU_UART0_RXD is 00,) But you setting is POST=0x01 the boot time will be about ~40ms.

    You can find the description that POST=0x01 add about 20ms for boot time.

    Best Regards!

    Han Tao