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/TMS320F28335: restart after asm(" LB 0x318000");

Part Number: TMS320F28335


Tool/software: Code Composer Studio

Dear team

My customer  is using TMS320F28335.

There are two projects,  boot project and the app project. The boot project is executed in sector A, the begin address is 0x33FFF6, and the app project is executed in sectors B to H.

The power-on program runs from the boot project. After a delay of 1s, it jumps to the app project. During the jump, sometimes it can jump to the app, execute the app program, and sometimes restart (after asm(" LB 0x318000");), causing the program to be executed from the boot again.

They found the following program is called twice

void DisableDog(void)
{
EALLOW;
if(!(SysCtrlRegs.WDCR & 0x0080)) //check WDFLag
{
//Force a reset
//make sure WDog is enabled
//watch dog enable, and WDCHK value
SysCtrlRegs.WDCR = 0x00A8; //previous value of 0x0068
//would disable the WDog
//write invalid data forces reset
SysCtrlRegs.WDCR = 0x0000;
}
//Clear WDFlag - also need to write WDCHK correctly
SysCtrlRegs.WDCR = 0x00E8; //This will also disable the WDog
//SysCtrlRegs.WDCR = 0x00A8; //This will enable the WDog
EDIS;
}

  • they need to identify whether the issue is with boot or app. to narrow down instead of  jumping to app they can have while(1) loop at the end of boot.

    if the boot keeps restarting even now then they need to check the boot app.

    since the jump is happening sometimes i dont see issue with that code. it may be some issue with boot or app program.