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.

nowFlash Suggested Enahancement: JTAG Chain Support

Hi,

A suggested enhancement to nowFlash is JTAG chain support.

I have the situation where I have a .BIN or .HEX file to program into a TMS570 within a JTAG chain on my target. I cannot use nowFlash as it does not support JTAG chains, and I cannot use Code Composer Studio as it does not support .BIN or .HEX file download to flash.

Nobody can suggest a conversion routine from .BIN or .HEX to .ELF.

Regards, Tony.

See Re: .BIN or .HEX Conversion to .ELF and Re: CortexR4: Warning: (Error -1003) on Load Memory Raw Data Format.

  • Hi Tony,

    Received your suggestion and we will include it in our enhancement/bug tracking system.  If/when this gets included, we'll let you know.

  • Actually, nowFlash is JTAG chain aware, its just not obvious how to handle this.

    There is a subdirectory named brddata.  In this directory, we have the connection information needed for JTAG.  So for the TMS570 devices, using say the Spectrum Digital XDS510USB, nowFlash would use the board_sdxds510usb_v3_cortex_rxx.dat file.  Contents in this file are:

    # config version=3.5
    $ sepk
      pod_drvr=xds510.dll
    $ /
    @ icepick family=icepick_c subpaths=2
      & port17 address=17 pseudo=no default=no custom=no
      & port16 address=16 pseudo=no default=no custom=no
        @ cs_dap_0 family=cs_dap subpaths=1 identify=0
          & port0 address=0 pseudo=no default=no custom=no
            @ cpu_0 family=cortex_rxx address=0x80001000 identify=0
          & /
      & /
    # /

    To add device before and/or after the TMS570LS device in the JTAG chain, you would modify the file as follows:

    # config version=3.5
    $ sepk
      pod_drvr=xds510.dll
    $ /
    @ bypass_1 family=bypass irbits=8
    @ icepick family=icepick_c subpaths=2
      & port17 address=17 pseudo=no default=no custom=no
      & port16 address=16 pseudo=no default=no custom=no
        @ cs_dap_0 family=cs_dap subpaths=1 identify=0
          & port0 address=0 pseudo=no default=no custom=no
            @ cpu_0 family=cortex_rxx address=0x80001000 identify=0
          & /
      & /
    @ bypass_0 family=bypass irbits=8
    # /

    where irbits is the length of the instruction register(s) you want to bypass in the JTAG chain.

     

  • Hi John,

    This looks to be just the ticket so I'll give it a go as soon as I recover my board from an unexpected electrical incident!

    Just one question, we use nowFlash to talk to the same device within a JTAG chain, but also stand alone. Is it possible to have two .dat files configured, one with and one without the bypass device such that we could easily switch between the two, for example, by selection within nowFlash itself?

    Regards, Tony.

  • Currently that is only possible from the command line, using the option -f "<board file path and name>".  Basically, you can use the GUI to get all the other arguments for the command line and then append this option.  For example, to erase, program and verify a device:

    nowFlash -bl -pr -ve  "<File to Program>" -d -q -emu SDXDS510USB -p 510 -cpu CORTEX_RXX -targets 1 -f "brddat\board_sdxds510usb_v3_cortex_rxx_with_bypass.dat"

  • Thanks for your comprehensive answer with the ever useful examples.

    Regards, Tony.