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.

custom omap3530 board with 512MB micron nand flash and JTA

Other Parts Discussed in Thread: OMAP3530, CCSTUDIO

Hi,

our custom board has both micro SD card interface and a 512MB nand flash in a package on package (flash chip is soldered above the omap chip)

I have finalized the process of programming the nand flash from a master SD card for the production team, however while I'm testing this process on multiple boards, I got couple boards out of 10 failing to format the nand flash at specific memory addresses (linux gives me an I/O error accessing address 0xabcdefgh)

so to me this looks like either a bad flash or bad connection on some pins, I was wondering if I can use a JTAG emulator to help me identify the root cause of the problem, so we can either return back to flash provider and say these chips are bad or to the PCB manufacturer and say the soldering here is wrong.

if JTAG can help, then my second question is which JTAG I should buy? I saw on beagleboard.org different options, like Flyswatter2 which is cheap and TI XDSXXXX which varies in capabilities and prices. I don't understand the differences between them to vary in price from less than 100$ to 1500$

Best Regards,

Ahmed

  • Sure, you can use JTAG to debug OMAP. For this, you have to design simple NAND flash low-level driver to erase/program/read NAND flash memory. And in the driver, you will need to activate the ECC engine and check the returned ECC result. If ECC is failed then it is a bad block. Anyway, you can see the raw status of the NAND controller to determine what's wrong.

    For JTAG, I think you can use XDS100v3 which is slow but cheaper. XDS200 is a better choice but more expensive. XDS560 is absolutely not required for your usage. OMAP is ARM-based, so there should be no problem. But you didn't mention the OMAP model, it is better to double-check the supported ARM type.

    Please also check the used NAND flash type, SLC, MLC or TLC? SLC is much much reliable than TLC.

    There is an alternative. If you can spend some time to get familiar with Linux NAND flash driver then you can modify it to log low-level register status. In this case, you don't need to use JTAG.
  • The processor is OMAP 3530

    The NAND is MT29C4G96MAZAPCJG-5 which is SLC

    I thought there are some built in applications for testing different parts on the board that come with the JTAG debugger. for example, for memory testing an app that will go through given address range and try setting memory locations to different patterns and read it back something like 0xFFFFFFFF,  0x00000000, 0xaaaaaaaa, 0x55555555.

    Having a JTAG device is useful anyway for the next board, so I might get it anyway, I want to make sure the one I get will work with future processors, I know the omap3530 we have is very close to end of life, so I don't want to get a JTAG that does not work with new processors, is this a valid concern? or the JTAG debugger/ interface does not change from one processor family to the other?

    Best Regards,

    Ahmed

  • As I know, TI has stopped supporting ARM7, ARM11 and some old DSP devices in their JTAG debugger. OMAP3530 is based on Cortex-A8. I think all the Cortex series are well supported. Your concern is reasonable. I would recommend XDS200 or XDS220. The cost is much cheaper if compared with XDS560 and the performance is much better if compared with XDS100.
  • Great!

    sounds like XDS220 is the best choice here, does it work with Free CCStudio or I have to purchase CCStudio license?

    Best Regards,
    Ahmed

  • Unfortunately, the answer is NO. TI provides free CCS license for XDS100 but not XDS200, XDS220 or XDS560. If the license fee is an issue then the only choice is XDS100v3.