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.

TMS320F2809: downloading error using uniflash

Part Number: TMS320F2809
Other Parts Discussed in Thread: UNIFLASH

I have my custom board with TMS320F2809 microcontroller installed.

I have the XMSTMS200-U emulator probe and i am using the uniflash utility to program the device.

I get the error "device in reset"

what is the problem here, please help

  • Hi Harbinder Singh,

    Are you able to connect to the device via CCS + debug probe?  And load code successfully to RAM if not the flash?

    Thanks and regards,
    Vamsi

  • Hi Harbinder Singh,

    Please note:  I am out of office until February 23rd.  Please reply on February 23rd if you have further questions.  

    Thanks and regards,

    Vamsi

  • Hi Vamsi, As mentioned before, I have not used CCS to download programs. I had used spectrum digital emulators earlier. About 8 years ago. Now spectrum digital is no longer available. so i have bought the blackhawk emulator and was trying to load program using the uniflash utility. I am getting the error "device in reset"  I can send you my hardware layout and connections from the Jtag connector to the device on board.

  • Hi Harbinder Singh,

    Did you try loading using CCS now?

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    I am setting up CCS now and will need help in doing so. But still if you can tell me how to download programs using CCS and not the uniflash utility, that will help. Thanks

  • I have installed CCS but do not know how to bring my already made file J18.out into CCS and where to download it from. Please let me know.

  • Hi Harbinder,

    Is your .out file a legacy coff file?  If yes, I think you can simply using the CCS Debug view's menu Run -> Load Program.  It should figure out flash address and invoke the flash loader.

    If that does not work, let me know and I will ask our team to help you.

    Thanks and regards,
    Vamsi

  • i had responded here, but do not see my response, strange! Anyways, please explain me step by step the procedure to load program from the main menu of CCS

  • Hi Harbinder,

    When you say you responded here - did you get an email of the same?  If you are sure that you responded, I can notify our E2E team to check how your message got deleted - they should be able to figure it out.  Please confirm.

    Once you connect to the target CPU in CCS, you can load the executable file by going to CCS debug view -> Run -> Load program.

    We are assigning this to our F2809 flash expert to help you further.  

    Thanks and regards,

    Vamsi

  • Hi,

    the basic issue is connecting to the device. I tried uniflash utility and the error I get is "device in reset" I could not go any further than that.

    Now it there is any way to connect to the device through CCS then please let me know. By going to the debug menu-->run--> load program , the  option is not available. for this to be available, i need to be connected first. thanks, Havi

  • Harbinder,

    Are these new units from TI, or have they been previously been programmed?  In either case we may be running into the Code Security module blocking access to the emulator if the code is running from secure memory(Flash and some of the RAM).

    There are 2 ways to prevent this;
    1)There is a wait in reset mode in the target config file in the ccxml in CCS.  This thread give detail on that https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/716748/tms320f28335-what-part-of-the-target-configuration-should-i-modify-to-test-wait-in-reset-emulation-mode-feature

    2)Pick a different boot mode than boot to flash, I would suggest a comm port.  This will cause the boot ROM to wait in unsecure ROM so that we can connect via the JTAG

    If you try either of these options, are you able to connect via the JTAG?

    Best,

    Matthew

  • I had replied earlier to this but don't know where my reply is, this is happened the second time.

    Anyways, i tried the option #1 by going to CCS menu in the target configuration tab. I changed the setting to EMU 0 as low and EMU 1 to high and was able to reset the controller. but i could no go any further as load options were greyed out. please show me the step by step instructions/procedure to load the program.

  • Hi Harbinder,

    The expert will be out of office until March 20th, please expect a response back early next week.

  • Harbinder,

    After you make the changes to the ccxml and save, let's manually launch this by right clicking on the target configuration file and "Launch Target Config".  This should pull up the debug view in CCS, you should see the target config and then below it the C28x CPU target.  Right click on the C28x listed and "connect".  After this you can try to load the .out.

    If you see this have an issue(after the connect), then right click and "disconnect" power cycle your PCB and then try to re-connect (don't terminate the debug session).  I want to make sure the EMU0/1 signals are latched by the C28x when it powers up.

    Best,

    Matthew

  • Can you please let me know how to download the out file.

    Starting with the ccxml file settings, how to check if I have the connection to the device without getting the error.

    I think I can do that but wanted to confirm. Then how to load the out file. This is where I think I am unable to get to.

    I could not get to the debug menu manually.

    If possible please explain to me with screen shots, so that I can visually see what screens I should be looking for.

    I have tried the connection and i think i got it. i can send you the screen shots of the results. but i could not go any further with the manual download as i could not find the tab to the debut menu or any other way to manually download

  • Harbinder,

    First, bring up the target configs;

    Then right click on your ccxml(I'm using a F2806x launchpad in the below)

    This will bring up the debug window, with the target and its list of CPUs.  Right Click on the main C28x CPU and select connect

    Once that is done, you can attempt to load the .out file.

    The file load ribbon is shown in the below screenshot:

    After this you can use my previous reply to see if we can either download, or just have error.

    Best,

    Matthew

  • right click here does not bring up the launch option.

  • from the main menu, i go to the view tab, then i select the target configuration tab.

    after that i do not get the launch option.

    is there any way i can have a live chat with you or call you. i am available any time.

    or is there a direct email that we can corrospond, 

    the screen shots that you sent me are not focussed and are blurry, so could only make guesses on your suggestions.

    i really need to get this download issue resolved soon. 

  • Harbinder,

    I think in your screenshot you have doubled clicked on the .ccxml file which is bringing up the dialogue you are showing to select the core, etc.  If, instead, you right click on the .ccxml it should bring up a smaller window with one of the items as "launch selected configuration"  The rest should follow the outline I listed above.

  • I cannot find the "launch target configuration" tab anywhere.

    please start from the begining when we start CCS, then show step by step to reach launch configuration tab.

    if we can talk or have direct email chat, we will save lot of time.

  • here the launch selected configuration is grayed out. this is the closest i could get.

  • i loaded the 2809.ccxml file and then right clicked the space where the project drop down is or the right window. still the launch selected configuration is grayed out. 

  • Video attached, let me know if this gets us a step further.

    Best,

    Matthew

  • After following the video, this is what i was able to do.

    I changed the Jtag options to EMUo to low , EMU1 to high. then under these conditions i was able to connect to the device. then i followed the launch selected configuration tab and reached the debug window and after that i went to the Run tab and selected the connect option. the screenshot above is the result of that. please read the error below and advise.

  • Harbinder,

    Once you are connected, can you open a memory browser and set the location to 0x3F 7FF8?  In the memory window we want to see 0x3F7FF8-0x3F7FFF.  Then do a "refresh" of the window.  Do you see all 0xFFFF or all 0x0000?  If we don't see 0xFFFF then the device CSM is programmed and the device is locked.

    Best,

    Matthew

  • As mentioned earlier, i was able to reach this point where i get the reset error. After this is opened the memory browser window and reached the window shown below.

    As shown i put in the value of 0xF7FF8 in the location shown next to the data tab and tried to refresh the memor but it is grayed out as shown.

    what to do now.

  • Harbinder,

    There is a missing digit in your address, please try to open to address 0x3F7FF8.  0xF7FF8 is not in the memory map for this device, and will be greyed out as you see.

    Best,

    Matthew

  • I started the process again and tested the connection. After it showed that the connection succeeded, I launched selected configuration and the debug window showed up. Below is the result of that window.

    Then i noticed that i could go to the Run menu and try the connect target option which i did. The result is the window below

    then i opened the memory window and put in the address that we were interested in looking at, please see below for correct address

    still the refresh option is grayed out.

  • Harbinder,

    I would like you to remove the init script that the .ccxml is using and try to connect again.  To do this, double click on your target .ccxml file and then select the "advanced" tab.  Remove the line below and "Save" and then try the above procedure again.

    Best,
    Matthew

  • I cannot read the screen shot of the window you sent. it is too small and i cannot see which line to remove. please send again with bigger window and mention in text which line to remove.

  • Harbinder,

    I want to make sure there is not some issue with E2E in general, if you hover your mouse over the image you should get a magnifying glass; if you single click it should zoom up the image to full size.  If this not the case please let me know so I can alert the E2E management.  I've also attached the file in case there is an issue.

    /resized-image/__size/320x240/__key/communityserver-discussions-components-files/171/F2809_5F00_ccs_5F00_ccxml_5F00_edit.png

    Best,

    Matthew

  • yes, the zoom screen works. I was able to remove the script and launch the selected configuration. further i was able to connect and then RUN--> LOAD PROGRAM and then the window shown below poped up.

    after clicking the OK tab in the pop up window i selected the view tab in the  screen and the screen shot below came up.

    please advise 

    do you want me to send you the hardware connection on the board. it is the same as described in the jtag connecton manual.

    i just want to make sure the hardware is connected correctly or otherwise. please advise. 

  • Harbinder,

    Yes you can send that info on the HW connection.  Before you try and load the .out, can you open a memory browser to 0x3F7FF8 -0x3F7FFF and C/P the contents?

    Matt

  • Before loading the program, here is the memory location 0x3F7FF8 contents

    and then I tried loading the program, here is the resulting window below.

    I will send you the HW connection in the next post.

  • Harbinder,

    Thanks for doing this, since we are reading all 0x0000's it means that the device is password(CSM) protected.  This means that at some point the password locations were programmed to something not 0xFFFF. 

    This is why CCS has issues connecting/downloading code.  Unless we know the password to unlock the device, we will not be able to download code to the secure regions of memory, which includes all of the flash.

    The only soln if the password is unknown would be to get a fresh device from TI.

    Do you recall if there was an issue when trying to program the device previously?  If there is a power fault or un-intentional reset during flash programming it can cause the passwords to become accidentally non 0xFFFF, locking the device.

    Best,

    Matthew

  • It is not only this board that is not working, I have 4  more boards that are not working. I will try to test them again with the same method and let you know the results. in the mean time, how can i get a sample of a fresh IC to replace this one as there is no stock of them.

  • Harbinder,

    I've sent you a message/friend request regarding the above.

    Best,

    Matthew