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.

TMS320F2808: Runs only with JTAG connected

Part Number: TMS320F2808

Hello.

I am running code on a TMS320F2808 in a bespoke card.  One of these is showing a strange problem (others OK).

If I connect to the processor via JTAG & run, the code runs OK (I can see a GPIO being toggled).  I can use CCS to reset and run, or toggle the reset line into the processor, and the code runs OK.  I terminate the debugging session and the code goes on running.  But if I power cycle or toggle the reset pin, the code does not appear to be executing.  I have monitored the reset pin, and this is not showing any resets.

I have created at target configuration to connect without resetting (no GEL script, etc.).  This does work as I have tested with running code, and on connect I find the PC in a timer wait loop (where it will spend most of its time).
If I connect after a reset when the code is not seen running, I find that PC = 0x3FFB50, which is the reset address.  Clicking “run”, the code then runs.

So, it looks like the processor is getting stuck at the reset address.
Any ideas why this might be?  Or what is really happening?
Perhaps there is a common cause of this.

Regards, Giles

  • Giles,

    When you run standalone the MCU evaluates the boot pins when XRSn goes from low to high to determine where to begin execution.  I assume if you are programming the code you are loading the code to flash, in which case you need to ensure the boot mode is set accordingly(and the reset vector is correct as well). 

    Please find the boot mode pins/modes on page 70 in the datasheet here http://www.ti.com/lit/ds/symlink/tms320f2808.pdf

  • Oops - I'd meant to add that I had checked the Boot Pins, and are are high (3.3V).

    Checking the memory, the reset vector at 0x3F FFC0 is 0x3F FB50, which is the address the PC appears to be stuck at when I connect. I think it should then run from there and decide what to do next.  But it appears to be stuck.

    Is it possible that the processor is constantly resetting, so returning to 0x3F FB50.  I am not seeing anything but high on the reset pin, so this does not seem likely.

  • Giles,

    When you power on the board to work in standalone mode is the emulator still plugged into the JTAG pins?  On this device if EMU0 = 0 and EMU1 = 1(VDDIO) when TRSTn = 0 then it will hold the device in reset so that the emulator can take control before code executes.  This sounds like this is happening, called Wait In Reset mode.  I'm not sure why different boards would be OK though, I beleive that there is a internal PU on both these pins if they are floating.

    Best,

    Matthew

  • Giles,

    Want to follow up to see if there is still an issue on your side, I'm going to mark as TI thinks resolved.  If you have more questions you can reply back to this thread or start a new one.

    Best,
    Matthew

  • Matthew,

    Unfortunately I have not had time to investigate this board further.  The problem is not seen on any other board and there are more pressing issues.

    As I may never get back to looking at it, I will mark the thread resolved.  I can always ask another question if needed.

    Regards, Giles