NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. 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 OpenOCD

From Texas Instruments Wiki
Jump to: navigation, search

This page gives you short introduction how to debug DaVinci devices (e.g. DM355 EVM) using Olimex JTAG dongles (both "Tiny" and normal ones) and similar JTAG adapters based on ft2232 USB chips.

These devices are available from e.g. www.sparkfun.com. See openhardware.net for more details.

Current OpenOCD[edit]

As of 7 May 2009, a ti_dm355.cfg file is in the OpenOCD source tree. Releases 0.2.0 and later include it; or you can get a snapshot of the current source tree. Release 0.3.1 updates that support. You can use this with any JTAG adapter supported by OpenOCD, including the FT2232 ones from Olimex and Amontec. XDS100 support can be added easily enough, but TI's license for the schematics prevents distributing such driver tweaks with OpenOCD.

You will probably want to create an openocd.cfg file that may look something like this:

 # these are the defaults, change them if you want
 gdb_port 3333
 telnet_port 4444
 tcl_port 6666

 # **CHANGE THIS** line to reflect the JTAG adapter you use
 # for example, interface/jtagkey.cfg (or jtagkey-tiny) for Amontec
 source [find  interface/olimex-jtag-tiny.cfg]

 # the ft2232 JTAG adapters don't support RTCK, so use a slow
 # clock (TCK) until after reset until the PLLs get set up
 jtag_khz 1500

 # DM355 EVM support ... custom boards may be similar
 # READ THE CONFIG FILE for more information
 source [find board/dm355evm.cfg]

The ETM and ETB are set up; for now you'll probably need to read source code to find out how to use them to trace what the ARM is doing. The GDB linkage works in the normal way. Read the config file to see if you need to change the EMU0 and EMU1 signal settings on your board; current versions of OpenOCD (e.g. 0.3.1) know how to use ICEpick to enable the TAP for the ARM926 core and ETB.

There is a DaVinci NAND driver which you can use to update NAND data. Be sure to use the right OOB layout; several are defined.

There is basic dm6446 and dm365 support too.

Original EMail[edit]

Diego Dompe from RidgeRun Engineering reported success with an older version of OpenOCD:

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Debugging on DaVinci using OpenOCD here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Debugging on DaVinci using OpenOCD here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Debugging on DaVinci using OpenOCD here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Debugging on DaVinci using OpenOCD here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity