NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Debugging on DaVinci using Amontec JTAGkey
The following page gives a short introduction on how to debug DaVinci devices using Amontec JTAGkey dongle.
The tutorial is based on the DaVinci target board called DM355 EVM. The JTAGkey Emulator are available from e.g. www.amontec.com.
This information reflects old versions of OpenOCD, pre-dating its first (0.1.0) release. See the OpenOCD page for more current information about using the DM355 configuration file now included with OpenOCD. FT2232 based adapters from many vendors work much the same in OpenOCD.
The Amontec JTAGkey pinout is fully compatible with ARM Multi-ICE 20-pin header. The DM355 EVM has a standard ARM 20-pin connector and you can plug any standard ARM JTAG if you configure the scan chain properly:
- Set the EMU0 and EMU1 pins to Low. This will put the SoC on the following configuration:
IcePick (IRLen 6) - ARM (IRLen 6) - ETB (IRLen 4)
- Run the openocd with the configuration script (see below):
openocd -f dm355.cfg
Now you can telnet to the OpenOCD session or attach it to gdb as documented on the OpenOCD (On-Chip Debugger) project.
gdb_port 3333 telnet_port 4444 #interface interface ft2232 ft2232_layout "jtagkey" ft2232_vid_pid 0x0403 0xcff8 #For Windows #ft2232_device_desc "Amontec JTAGkey A" #For Linux ft2232_device_desc "Amontec JTAGkey" #target hardware notes: # #TI DM355 EVM: set EMU0 L and EMU1 L #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst #jtag scan chain #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE) jtag_device 4 0x1 0x0 0x0 jtag_device 4 0x1 0x0 0xe jtag_device 6 0x1 0x0 0x0 #target <type> <endianness> <reset mode> <chainpos> <variant> target arm926ejs little reset_halt 1 arm926ejs run_and_halt_time 0 30 # setup data portion of tightly coupled (internal) memory # for open OCD working area working_area 0 0x10000 0x8000 nobackup # newer openocd allow you to include commands in config file arm7_9 fast_memory_access enable arm7_9 dcc_downloads enable arm7_9 force_hw_bkpts enable gdb_memory_map enable