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.

Flashed Sys/Bios app continuously resets

Other Parts Discussed in Thread: ASH

SYS/BIOS 6.31.00.18

XDCTools 3.20.05.76

C28335 DSP

The Target used is ti.targets.C28_float

The platform is based on the ezDsp evaluation board.

My Application is based on the SYS/BIOS example C++(Big Time).

It looks like a watchdog problem, but is not. I have verified the Watchdog is disabeled and also that it is not the cause of the reset. My XINTF values look good.

The Application runs fine from RAM. It runns fine from FL:ASH if the JTAG is connected.

With the JTAG is disconnected and the power is cycled, it does Boot, it copies the ISR table from FLASH to PIE Vecotors and calls main(). After that, I am not sure what else happens as the processor starts resetting. 

Subsequent resets do copy the ISR table but do not get to main.

I used a forum posted application as a template to convert the RAM app to FLASH.

Normal 0 false false false EN-US X-NONE X-NONE

 http://e2e.ti.com/support/embedded/f/355/t/91081.aspx

Any ideas on common oversights?

TIA,

Jan

 

 

  • Although it is a BIOS app that you are trying to flash, your issue does not seem to be specific to BIOS.  I am going to move this thread the C28x forum in hopes that it will get a faster response there.

    Dave

  • FYI

    Recently I recreated my flashing problem on ezDsp hardware With a single task that repeatedly toggles a LED and sleeps for a second.I would expect that to eliminate my custom hardware platform.

    Jan

  • Jan Stefan said:
    It looks like a watchdog problem, but is not. I have verified the Watchdog is disabled and also that it is not the cause of the reset.

    Jan,

    To be sure it is not the watchdog, can you check the rate of the reset?  Also the length of the reset would be 512 OSCCLK cycles if it is the watchdog.

    One thought I have - before the program gets to main(), the cinit will run and initialize global variables.  it is possible that this time is taking too long due to the number of variables and the flash waitstates and the watchdog times out before main() is reached.  One solution is to disable the watchdog before cinit.  There is an example of how to do this in this application note-  www.ti.com/lit/SPRA958 

    Refer to section 7: Disabling the Watchdog Timer During C-Environment Boot

    Regards,

    -Lori