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.

nand-flash-writer doesn't work with Spectrum Digital XDS200 emulator

I'm trying to use Spectrum Digital XDS200 with DM8168 in CCS5 (v5.3) .
And I'm trying to flash u-boot into NAND with the help of nand-flash-writer.


All the steps are made according TI manual available here:
http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_PSP_Flashing_Tools_Guide

And it does not wirk...
There are CIO functions in nand-flash-writer with which it interacts through XDS200.
The problem is that the debug session is always lost (there is no more reaction on printfs or scanf calls) in CCS5 after some (always different) amount of time of program execution. I see the "Running" state of CPU and XDS200 emulator diode blinks but Disassembly (and also CPU registers etc) becomes not available more and  the debugger skips any further CIO (printfs) from nand-flash-writer program.

Sometimes it happens after the console interaction with nand-flash-writer (after setting all it's requests) via console, sometimes during it. So, printfs come but only for a few time.

Has anybody met such issue? Or maybe you'll give some tipps on it...

Thanks in advance.

  • Hi Dmytro,

    Is this issue observed on the EVM or on a custom prototype board? Does the emulator work correctly with the EVM? If this is a custom board have verified that the emulation/JTAG design follows the considerations provided here:

    http://processors.wiki.ti.com/index.php/AM387x_/_C6A814x_Schematic_Review_Checklist#Debug_Considerations

    What is the speed at which you are running the device? Have you modified the GEL to match the timing requirements that you want to use on the custom board. Could you provide specifics about what kind of NAND flash you have on the board. the NAND flash writer may require some modification based on the type of NAND that you have used on the hardware. Is there any other flash media that you can try this from?

    Getting more insight into your test setup may help us provide you additional debug steps to resolve the issue.

    Regards,

    Rahul

  • Hi Rahul,

    I've recorded the CCS5 debug session screen and uploaded it here (you can watch it online):

    https://plus.google.com/u/0/106471817095691843360/posts/id34rifuzW5

    Maybe this tells something about the reason of our issue...

    The issue is observed on our custom prototype board. Unfortunately, we don't have the EVM board so we cannot test the emulator with it. Seems that the JTAG design of our board meets the requirements from "Debug Considerations" in the link you've wrote with the only exception that EMU0 and EMU1 pins are not connected to the device (TI14 header is used).

    Also TDO signal seems to be a little bit unusual... It has 0.5V on logical "0" level. I've made few photos of oscilloscope screen:

    2376.TDO-01.pdf

    6355.TDO-02.pdf

    But at least, the emulator establishes the connection with the device and we can load gel scripts and programs... So, seems the reason is not in JTAG design implementation. Maybe some extra configuration in CCS5 is needed for Spectrum Digital XDS200 to work with CIO functions of the loaded program properly...

    We use the TMS320DM8168ACYG2 device with 27MHz quarz and with H5TQ1G83DFR-H9C DDR3 RAM from Hynix. The GEL from TI is used without any modifications. Should it be modified somewhere to meet the requirements of the device and DDR3 RAM which we use?

    Also 4Gb NAND flash MT29F4G16ABAEAWP:E from Micron is used. I've look in nand-flash-writer sources... It should tell that something fails via printfs.

    But our problem is that we don't get  more any printfs on CCS5 console after some amount of the nand-flash-writer program runtime... Sometimes it happens during nand-flash-writer console menu interaction when the operation, image file etc is asked (as in the video above), sometimes after it.

    Maybe you'll have some ideas about the reason of the issue...

    Kind regards

  • Hi Dmytro, How did you solve the problem finally? what you you changed

  • Hi Kevin,

    We've used our custom prototype board for the tests. And we've found that the JTAG design of our board is a little bit different from the "Debug Considerations" TI manual (see the posts above): EMU0 and EMU1 pins of TI14 header were not connected to the device.
    So, seems that the issue lies there...

    We are redesigning our prototype board with the fixes for it.