Programming/Debugging ARM Processors - Page 1
Forum section: electronics / general

author: olsenn
author_rank: Frequent Contributor
timestamp: March 15, 2012, 06:58:22 pm
content: I'm just curious to know if ARM processors; or more precisely, a TI OMAP 4430 with a built in ARM core, requires a specialized programmer/debugger (such as a PicKit for Microchip, or AVR Dragon for Atmel), and if so, what is it called? Is it standardized for all ARM processors, or does each implementation of the architechture require a specialized device for programming?The documents I've seen just say that it uses JTAG, but is JTAG really standard? I have an AVR Dragon as well as an AVR ONE! which both do JTAG for Atmel microcontrollers, but could I actually use these to program the TI OMAP processor as well?

author: Sal Ammoniac
author_rank: Super Contributor
timestamp: March 15, 2012, 09:21:41 pm
content: J-TAG is the standard for debugging ARM processors, including the ARM 9 used in the OMAP.Many companies make J-TAG units, and, for the most part, are compatible with all ARM processors and many ARM development environments. You should check with the manufacturer to be sure it supports a particular part, though.The AVR ONE! doesn't currently support ARM (Atmel has the SAM-ICE for this, which is a re-branded Segger J-LINK). I've heard rumors that since Atmel is moving towards Amtel Studio 6, which supports both AVR and ARM development, they are working on ARM support for the AVR ONE!

author: dgpalmer
author_rank: Newbie
timestamp: March 20, 2012, 07:24:28 am
content: Quote from: olsenn on March 15, 2012, 06:58:22 pmWith the bigger SoC chips (i.e. those that can run linux) they usually have a bootloader burnt into internal ROM that can load from various types of flash, SD and sometimes have the ability to download code via USB into memory (Atmel's SAM-BA for example).QuoteJTAG for ARM is a standard. The pinouts (I think there are only two different ones at this point) etc are common across boards. You can build a JTAG dongle yourself and run OpenOCD and debug most ARM based chips. Unlike Renesas etc ARM publishes all the details that are needed to write debuggers etc so there are decent free tools like OpenOCD. You can go totally open source with ARM development

author: graynomad
author_rank: Regular Contributor
timestamp: March 28, 2012, 10:19:31 am
content: QuoteI downloaded AVS6 the other day, it now supports their ARMs, I didn't check but I assume that the SAM-ICE is supported by it as well.I also read (on AVR Freaks I think) that the AVR ONE! will support ARMs before long._______Rob

author: Gall
author_rank: Frequent Contributor
timestamp: March 28, 2012, 12:23:37 pm
content: OpenOCD + gdb works well for most of the ARM chips. I used this combination to debug Xenomai kernel on S3C2440.

author: Bored@Work
author_rank: Super Contributor
timestamp: March 28, 2012, 12:24:57 pm
content: Quote from: graynomad on March 28, 2012, 10:19:31 amYou have to be careful with promises from Atmel. They have a nasty habit of breaking them.

author: rsjsouza
author_rank: Super Contributor
timestamp: March 28, 2012, 03:40:03 pm
content: Olsen,Quote from: olsenn on March 15, 2012, 06:58:22 pmDepending on what core you want to access, you can use an ARM debugger - the trick is to find the organization of the cores properly (more on this below)The JTAG debuggers from TI are called XDS (XDS100, XDS510, XDS560...)Quote from: olsenn on March 15, 2012, 06:58:22 pmAs mentioned before, ARM publishes the protocol to communicate with its cores, but what varies among manufacturers is the internal routing of the several cores (think of it as an ethernet comprised of switches and IP addresses). OMAP4 has dual A9's, some M3's and a DSP, and I am pretty sure the internet has information on how to use an ARM debugger with OMAP4.Quote from: olsenn on March 15, 2012, 06:58:22 pm"Plain JTAG" is more an electrical/signaling standard, but the protocol that runs on top of it varies greatly from supplier/core. That and the routing mentioned before prevent (or make it difficult) to use a JTAG debugger for one manufacturer in another device.--Rafael