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.

JTAG based eMMC flashing

We are currently using a USB based tool to flash our OMAP4430 product x-loader, u-boot and system image into our board level eMMC device in our factory.  We have reliability issues with this system as noted below.  We wish to change to a JTAG based solution.  We wish to implement a two step process: (1) load x-loader and u-boot and (2) reboot and complete system image flashing through USB.

Can you please advise what we should be using for a JTAG based tool:
  • Which model of JTAG is suitable for our board (USB,Ethernet)?
  • Which flashing SW should be used.

Do you need any further information such as the eMMC device or other.

Our current USB based flashing solution has the following issues:

  • Sometimes doesn't detect properly the board
  • Sometimes doesn't send properly the second image to the unit
  • Hi David,

    You could use CCS (code composer studio) &  XDS560v2 Jtag:
    http://www.blackhawk-dsp.com/products/XDS560v2.aspx

    or

    http://www.spectrumdigital.com/product_info.php?cPath=22&products_id=236

    in order to flash the u-boot on your device.

    Here are a couple of guides on how to flash EZSDK/u-boot via JTAG, you can use this as reference & reproduce for OMAP4:
    http://c6000.spectrumdigital.com/davincievm/revf/files/How_to_Flash_U-Boot_on_DaVinci_EVM.pdf

    https://www.youtube.com/watch?v=GKd1QLdatso

    Hope this helps.

    Best Regards,
    Yordan

  • Hello,

    I'm currently working with David on this implementation. Thank you for your quick answer. I have some questions concerning the routing of the JTAG and the JTAG. 

    Can the XDS510USB plus do the job or not?
    The lines EMU0 and EMU1, are they needed for JTAG or we can do it without them?

    Thank you in advance

    Best Regards,

    Nicolas

  • Can you please confirm the need / requirement for EMU0 and EMU1.  Our current system does not bring these signals out from the OMAP4430.  We wish only to use JTAG to program our on board system eMMC memory.  We will not be using it for any emulator purpose.  In my experience with multiprocessor ARM cores these two signals are only ever needed for multiprocessor emulator functions - not for system programming.  Most TI app notes seem to indicate that is what they are for also, but we are not sure for the OMAP4430.

    Can you please confirm that we will or will not be able to program our on board eMMC without the use of these signals.

  • Hi David, Nicolas,

    1. I think XDS510USB JTAG should be ok to be used to flash your device.

    2. Regarding EMU0 and EMU1, I think those signals are needed by the debug interface, for whatever purpose it is used.  If you look at the OMAP4430 TRM, Section 28.2.1 IEEE1149.1, Table 28-1. IEEE1149.1 Signals, you will see that EMU0 & EMU1 signals are always used: Channel 0 trigger OR boot mode OR trace port, the other EMU signals (EMU2 to EMU4) are used only by the 20pin JTAG interfaces.
    Moreover Section 28.3.2 Boot Modes also states that both signals need to be driven high (0x1) in order to use the default boot mode.  

    Best Regards,

    Yordan

  • Yordan,

    Just to build on this, I understand ICEPick can't even boot if the EMU0 and EMU1 pins are left unconnected. With that in mind, are all debug and programming capabilities associated with JTAG lost?

  • Hi,

    This is my understanding. The initial configurations of ICEPick depend on the level of EMU0 & EMU1 pins  at POR release.

    Those two signals (drm_emu0 & drm_emu1) are mandatory for all JTag headers: 14 pin and 20 pin.  EMU0 and EMU1 are used for Channel 0/1 trigger, or boot mode, or trace port.

    Best Regards,

    Yordan