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.

TMDSCNCD280049C: Problems with JTAG, TDO pin programmed as input, now no JTAG programming possible anymore.

Part Number: TMDSCNCD280049C

Dear Texas Instruments Team,

I have got a TMDSCNCD280049C control card evaluation module. During my tests, I have
programmed the GPIO37 (which is also the TDO line of JTAG) as input:

   
GPIO_setDirectionMode(37,GPIO_DIR_MODE_IN);
GPIO_setQualificationMode(37,GPIO_QUAL_SYNC);
GPIO_setPadConfig(37,GPIO_PIN_TYPE_STD); // disable pull up
GPIO_setPinConfig(GPIO_37_GPIO37);

This was the last time I have successfully programmed the control card. Afterwards it was not possible anymore.
Investigation has shown that ther is no answer on the TDO line from the microcontroller.

It seems that because the GPIO is programmed as an input, the JTAG cannout output test data there and as such the JTAG programming fails.

What can I do about this? I want to program the microcontroller again. Help is appreciated.

Many thanks in advance.

Best regards

Patrick

  • The error is as follows:
    IcePick_C_0: Error connecting to the target: (Error -2131 @ 0x0) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.1.0.00005)
  • Patrick,

    I'm  going to assume that when you say "programmed" in the above post you mean not only the code is changing this GPIO to an input, but also this code has been burned into the Flash ROM such that it is executing every time you power up/Reset the device.

    What we need to do is keep the MCU from running its normal flash boot up sequence, since a powerup/reset the default for this pin is the TDO function.

    We have a reserved Boot Mode to help during development for the above case as well as others, called Wait Boot Mode.  The pin setting is documented here in the DS

    http://www.ti.com/document-viewer/TMS320F280049/datasheet/boot-rom-and-peripheral-booting-sprs9451853#SPRS9451853 

    Here is a screenshot of the boot table:

    So, you would want to make GPIO24 low and GPIO32 high.  This will stop the MCU from executing the main code and you should be able to connect.

    Let me know if this resolves your issue.

    Best,
    Matthew

  • Dear Matthew,

    many thanks. Yes I mean programming to flash. I found the switch on the PCB and have been able to reprogram the device. Tank you :-)

    So I assume it is a good idea to leave the pins 24 and 32 as inputs?

    What would happen if I program (to FLASH) the pins 24 and 32 as outputs? Is this something that will prevail any further programming or are the pins 24 and 32 at startup always used for these bootup purposes?

    Or does the controller (before any flash startup) look to those pins which voltage levels are there and then decides what to do (which boot sequence to choose)?

    Best regards

    Patrick

  • The latter is correct, at power up/XRSn all pins revert to their default state and for the boot pins this is input mode; so it will sense the state before proceeding and re-configuring the pins.  In practice most customers put a weak PU or PD to get the boot mode set, and then after boot and branch to the main can use as they see fit, in or out.

    Best,

    Matthew