User Tools

Site Tools


tiacx1xx

Differences

This shows you the differences between two versions of the page.


Previous revision
Last revision
tiacx1xx [2011/01/09 02:21] steve_m
Line 1: Line 1:
 +====== JTAG and the Texas Instruments ACX100/ACX111 Wireless LAN chip ======
  
 +The TI ACX100/ACX111 is an already somewhat outdated 802.11 wireless LAN chipset, which is based on an ARM7TDMI core.
 +There is an [[http://acx100.sourceforge.net/|open source project]] which develops a Linux kernel driver.
 +
 +^ Chip     ^ ACX100        ^ ACX111      ^
 +| TI name  | [[http://focus.ti.com/general/docs/bcg/bcgprodcontent.tsp?templateId=6116&navigationId=12147&path=templatedata/cm/product/data/acx100|TNETW1100]]| [[http://focus.ti.com/general/docs/bcg/bcgprodcontent.tsp?templateId=6116&navigationId=12246&contentId=4039|TNETW1130]]|
 +| standard | IEEE802.11b+  | IEE802.11g+ |
 +| speed    | 22Mbps        | 54Mbps      |
 +
 +For a full list of devices see [[http://acx100.sourceforge.net/matrix.html|here]].
 +
 +====== ACX100 JTAG Port ======
 +
 +When taking apart a Level1 WBR-2401B router, I noticed that the used ACX100 CardBus-card has a 6-pin header.
 +
 +{{:acx100_jtag.jpg?800|ACX100 card with JTAG header}}
 +
 +As it turned out by try and error, it is connected to the JTAG pins of the ACX100 chip. Once it was clear that the first 2 pins are GND and VDD (+3.3V), I tried all combinations of the JTAG signals.
 +
 +^ Pin   ^ 1   ^ 2   ^ 3   ^ 4   ^ 5   ^ 6   ^
 +|signal | GND | VDD | TCK | TDI | TDO | TMS |
 +
 +==== OpenOCD ====
 +
 +I used [[http://openocd.berlios.de/web/|OpenOCD]] to connect to the [[http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/Chdeaegh.html|EmbeddedICE]] unit of the ARM7TDMI core.
 +Since the ACX1xx contains a pretty standard TI TMS470 ARM7 core, it uses the TMS470 IDCODE:
 +
 +<code>
 +Info : clock speed 6000 kHz
 +Info : JTAG tap: acx1xx.cpu tap/device found: 0x3100e02f (mfg: 0x017, part: 0x100e, ver: 0x3)
 +Info : Embedded ICE version 1
 +Info : acx1xx.cpu: hardware has 2 breakpoint/watchpoint units
 +</code>
 +
 +This is the used configuration file for OpenOCD (using the [[http://wiki.openmoko.org/wiki/Debug_Board_v3|OpenMoko Debug Board]]) as JTAG interface:
 +
 +<file - acx1xx.cfg>
 +interface ft2232
 +ft2232_device_desc "Debug Board for Neo1973 A"
 +ft2232_layout "jtagkey"
 +ft2232_vid_pid 0x1457 0x5118
 +
 +reset_config trst_and_srst
 +jtag_khz 6000
 +
 +jtag newtap acx1xx cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id 0x3100e02f
 +target create acx1xx.cpu arm7tdmi -chain-position acx1xx.cpu -endian little -variant arm7tdmi
 +</file>
tiacx1xx.txt · Last modified: 2011/01/09 02:21 (external edit)