[[PageOutline]] = Gateworks JTAG Hardware = '''To use the JTAG software with any Gateworks single board computers, please see the [wiki:jtag_instructions JTAG Software Page]''' Gateworks supports the following JTAG programmer: * GW16099 - USB Type A device to 10-pin, 0.05" connector providing 2 USB endpoints: - FTDI serial console - FTDI MPSSE JTAG Both of these programmers uses the FTDI [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232D.pdf FT2232D ] which has two general purpose 8-bit ports. The 1st port is configured for JTAG and utilizes the FTDI MPSSE engine. The 2nd port is configured for serial and used for the Serial Console. == GW16099 JTAG dongle == The diagram below shows the signal mapping for the 10-pin connector: [[Image(GW16099_10pin_JTAG.PNG, 300px)]] == Gateworks System Controller (GSC) == Most of our boards have a 'Gateworks System Controller' implemented with an MSP430 MPU which emulates several I2C devices used for system control and monitoring (see [wiki:gsc]). The MSP430 is on our JTAG chain, along with the board specific CPU so that we can access both of these devices via JTAG. The MSP430 does not use standard JTAG and by default and the part comes up in 'Spy-By-Wire' mode where you must transition TRST and SRST properly to get the part into JTAG mode. Without doing so, it will 'break the chain'. Additionally, the MSP430 must be manually clocked when accessing its JTAG interface which the TDI signal is used for. The following state transitions of JTAG TRST# and SRST# will put the MSP430 in JTAG mode: 1. JTAG TRST# = 0, JTAG SRST# = 1 2. JTAG TRST# = 1, JTAG SRST# = 1 3. JTAG TRST# = 1, JTAG SRST# = 0 4. JTAG TRST# = 0, JTAG SRST# = 0 5. JTAG TRST# = 1, JTAG SRST# = 0 6. JTAG TRST# = 1, JTAG SRST# = 1 Once in JTAG mode, it will be in bypass by default with an 8-bit instruction length. Note that the MSP430 does not have a JTAG ID thus it will not show up if you try to auto detect. References: - Gateworks System Controller: [wiki:gsc] - FTDI AN_108 MPSSE - http://www.ftdichip.com/Support/Documents/AppNotes/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf - MSP430 Programming Via the JTAG interface - http://www.ti.com/lit/ug/slau320h/slau320h.pdf == JTAG Chain == The Gateworks Newport family has the following JTAG chain: 1. GSC (MSP430) (IR length=8bits, defaults to Spy-By-Wire mode on powerup) 2. Coresight Debug Access Port v5.2 (IR Length=4bits) The Gateworks Ventana family has the following JTAG chain: 1. GSC (MSP430) (IR length=8bits, defaults to Spy-By-Wire mode on powerup) 2. IMX6 SoC which internally has the following devices on the JTAG chain: a. IMX6 SJC (IR length=5bits) b. IMX6 SDMA (IR length=4bits) c. ARMV7A DAP (IR length=4bits)