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.

TMS320F28388D: CM core bootaloder jump to APP failure - related to boards and if we are using SYSBIOS

Part Number: TMS320F28388D
Other Parts Discussed in Thread: SYSBIOS

Hi expert,

Issue description:

In F28388D’s CM core, we have bootloader at flash entry and a SYSBIOS based application in some other flash sector.

Bootloader’s instruction to jump to start of APP will crash the program. (stick in somewhere, APP not running)

Test steps:

1.Download the bootloader with debugger, then disconnect debugger.
2.Download APP with the bootloader.
3.After downloading, bootloader will jump to the start of itself
4.This time, bootloader will do the judgement, when it finds APP is updated, it will jump to start of APP.
Findings:

1. We take customer board as “Board A” and TI F28388D control card as “Board B”

2. We take application code with SYSBIOS as “Code A” without SYSBIOS as “Code B”

We have below test results. I marked the code jump to APP failed (judged by APP not function, seems stuck somewhere) as “Bad” in below table.

Do the “test”

Code A

Code B

Board A

Bad

Good

Board B

Good

Good

In the Bad conditions, if we connect the debugger then do a “restart”, Board A and Code A combination will work fine.

Could you help us with how to debug this? It seems both realted to hardware used here and if the code is using a SYSBIOS.

Thanks

Sheldon

  • Sheldon,

    I'll ask our sysbios team to have a quick look on to this.

  • Sheldon,

    Is this same issue (and same customer)  which got posted on below E2E post -

    Regards,

    Vivek Singh

  • Hi,

    1. Does the SYS/BIOS application work if loaded with CCS?

    2. Where is the reset vector placed in the SYS/BIOS application?

    3. Can you add a reset function into the SYS/BIOS application. It will be called very early in the booting of the application. Have the reset function toggle a GPIO or something so it can be determined if the application at least started executing. For example, here add this to the .cfg file. Then have myResetFxn do the toggle (or whatever to help determine that it ran). Note: the reset function has to be very simple since it is so early in the boot. 

    Reset = xdc.useModule('xdc.runtime.Reset');
    Reset.fxns[Reset.fxns.length++] = '&myResetFxn';

    4. Can you confirm the watchdog is disabled in all cases.

    Todd

  • Hi Todd,

    Thanks for you reply. We have narrow down the issue and it seems so bit related to hardware features. 

    We blink a LED at the very begining to make sure the jump is good, and error happens in afterward.

    Thanks

    Sheldon