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.

EMU0/1 Signal levels for OmapL-137

Other Parts Discussed in Thread: SN74LVTH18502A, OMAP-L137

Hi,

I'm designing a JTAG chain starting with a Lattice FPGA followed by four OMAPL-137 DSPs. Does anybody out there know what to do with the EMU/1 signal lines, as I can't find much information in the documentation? The OMAPL-137 starter kit is little help either.

Thanks,

Richard

  • Thanks for your speedy reply Mariana.

    I've skimmed those documents, and I'm still a little confused. Assuming I only wanted to program, rather than emulate the OMAP chips, shouldn't I be able to do this with just the standard JTAG pins? The reason I mention this is that I have the OMAPL-137 starter kit, which I could use to develop the software without having to buy a very expensive emulator pod. Presumably a programmer is a lot  cheaper than an emulator? In that case, do I pull up EVM1 and pull down EVM0?

    Regards,

    Richard

  • As mentioned in http://tiexpressdsp.com/wiki/index.php?title=JTAG_Connectors, the EMU0/1 signals are used for a specific purpose associated with RTDX, cross-core triggering, etc.

    As you may have seen in the table on the above Wiki site, for ARM based emulators, only the standard JTAG signals are required (ie. TCK, nTRST, TMS, TDI, TDO).

    It is possible to simply pull these signals up with external resistors.  As mentioned in the Wiki, some devices have different test modes invoked by controlling the EMU0/1 signals upon a nTRST rising edge.  Therefore, it would be advisable to have the possibility of controlling those signals from test points, but certainly simply pulling up the EMU0/1 on each device, separately, would suffice.

  • A good diagram showing what you need to do can be found here.  That diagram is addressing the TCK/RTCK and TDI/TDO connections more so than EMU0/1.  For EMU0 you want to connect all the EMU0 pins together, route them to the header, and pull them high.  Same for the EMU1 pins.  That will allow you to still perform debug functions such as global breakpoints.

    What kind of device are you referring to as a "programmer"?  Can you point to one?

    The programming options I can think of would be:

    1. Use JTAG emulator to download a flash burning program to processor and then have it burn your application to flash.  (That's how programs like Flashburn work.)
    2. Use one of the device's ROM boot modes (UART, etc.) to get a flash burning program into the processor and then have it burn your application to flash.  (Same concept as #1, but without requiring an emulator.)
    3. Boot the device in boundary scan mode and use a boundary scan tool to twiddle the flash pins to burn your program into it.
    4. Program the flash before populating your board using some kind of flash programmer.

    Brad

  • Thanks Brandon and Brad for the great advice.

    Brad, the programmer I was thinking of something like an Altera USB JTAG programmer. Having thought about it a bit more, couldn't I just use a boundary scan device such as the TI SN74LVTH18502A to provide on board emulation, rather than having to buy an emulator? From what I can gather, the 'emulation' part of the emulator is little more than clocking the boundary scan data out of the JTAG chain. Am I wrong?

     

    Richard.

  • Using the JTAG interface there are two main modes of operation:

    1. "Emulation" mode.  Being able to load code, set breakpoints, view memory, etc.
    2. "Boundary scan" mode.  Being able to wiggle pins or read the status of pins.

    The device you mention can do boundary scan.  However, being able to wiggle pins is just a small piece of the puzzle.  The device needs to have some "smarts" in order to wiggle the right pins in the right way in order to actually do things like program a NOR flash, or tougher yet, program a NAND flash.  Not only that, but it must be able to read your program from somewhere and write it into the flash.  This is not an easy or cheap task.

    Personally I recommend buying an emulator.  That way you can do some real debugging on your own hardware.  You can also use it for downloading code that programs the flash as I had mentioned before.  It's up to you though.  It's possible to do it without one.  For example, you can use the UART to get u-boot into RAM and from that point you can use u-boot to write the flash.  The emulator is especially great for DSP debugging.  If you're planning to do most of your work on the ARM you may not find it is as useful.

    Brad

  • Okay, thanks very much for the advice, Brad.

     

    Richard

  • Hi,

    May be be a silly question,
    OMAP-L137 EVM has two JTAG interfaces, one for TI DSP and another for ARM,
    could you please tell me the difference between these two interfaces,
    Is it possible to use 14-pin JTAG interface along with adapters
    (ARM-JTAG 20 pins to 14 pins TI target adapter) to debug ARM.

    And also there is no EMU1 pin in OMAP-L137 JTAG connection,
    what is the reason behind this.

    Thankyou.

  • Hi Chikku,

    The JTAG interfaces are connected (the pins to both interfaces are connected) in the board so you would not need to use an adapted.

    The EMU1 omission was a decision to be able to fit the pinout desired in the package.

  • Hi Mariana,

    Thankyou for the reply,

    I came to know that 14-pin JTAG interface can also be used to
    debug the ARM,then why there is a 20-pin JTAG interface,and
    when develping my own board, is it ok if I just use 14-pin JTAG interface
    to debug both ARM and DSP?

    Thankyou.

  • Chikku,

    Just want to make sure you are aware that OMAP-L137 EVM has on-board emulation via USB to allow you to connect via CCS as well.  Since you mentioned the connector board, I did not want you to spend extra $$ if you did not have to, unless you have a good reason for using external JTAG adaptor which is certainly a valid option.

    Also, FYI, when it comes to JTAG technology, ARM JTAGs are typically 20-pin; you can certainly connect to ARM using 20-pin to 14-pin adapter, or even connect directly to 14-pin JTAG on board and talk to ARM... however, the 20-pin JTAG connectors typically associated with ARM processors give you additional features that are not available via 14-pin JTAG; in particular target reset control, and adaptive clocking.