...select a particular device on a JTAG scan chain?

Comments

3 comments

  • Avatar
    Paul

    The Explore function in the targets window only works in the Crossworks for ARM version 2. This feature is not available in version 1.7.  Crossworks 1.7 will still allow you to target a particular device on the scan chain, but requires that the project file (.hzp) is edited manually.  The variables that need to be changed to achieved this are arm_linker_jtag_pad_pre_dr  arm_linker_jtag_pad_pre_ir  arm_linker_jtag_pad_post_drarm_linker_jtag_pad_post_ir.

    0
    Comment actions Permalink
  • Avatar
    Adam Toner

    I am having some problems getting this to work on Crosworks for ARM v2.3.5 (on Windows). 

    I have 2 devices on my JTAG chain, an Atmel AT91SAM3S4B ARM microcontroller and a Xilinx XC7K160T FPGA.  When I open Crossworks' JTAG explorer I can see that it has detected the two devices, but the displayed data for IDCODE, Manufacturer, Part and Version is incorrect.  This seems to be caused by crossworks incorrectly detecting the Instruction Register (IR) length for each device.  JTAG Explorer indicates an IR length of 3 for the ARM (should be 4) and 7 for the FPGA (should be 6).  Needless to say I cannot connect to the ARM.  Interestingly the Xilinx tools do correctly identify the two devices and can connect to the FPGA OK.

    My next step was to try to manually change the values of "Bits Before" and "Bits After" in Crossworks as discussed in the opening post of this thread.  However, JTAG Explorer does not let me edit these values.  In fact the entire dialog seems to be read only.  I do see the same settings in the Project Properties and I can edit the values there.  Unfortunately this seems to have no effect on the actual operation of the JTAG interface and JTAG Explorer still shows the auto-detected values and not my manually entered values.  I still cannot connect to the ARM.

    For confirmation I have tried physically removing the FPGA from the scan chain and now Rowley does detect the ARM OK and I can connect to it without problems.

     

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    Unfortunately this seems to have no effect on the actual operation of the JTAG interface and JTAG Explorer still shows the auto-detected values and not my manually entered values.

    The JTAG explorer does just that: tries to figure things out from scanning the chain.  Some devices do not play ball all the time--and we may have bugs or something.

    Putting that to one side, the operation of the pre-post data/IR is taken into account when you connect to a target.  These need to be set correctly in the project.  We've had customers with 8 ARMs in a JTAG chain, so pretty confident this works.

    0
    Comment actions Permalink

Please sign in to leave a comment.