Uso básico del JTag con insigth
Tabla de Contenidos
Introducción
La programación del micro ARM se la puede hacer sobre la RAM o la FLASH. Si se decide programar sobre la RAM no se presentan mayores inconvenientes a la hora del debugging con el Jtag. No obstante para la programación sobre la FLASH se deben tener en cuenta ciertos puntos.
Servidor del Jtag
El Open On-Chip Debugger (OpenOCD) permite la interacción con el usuario a travéz de una interface telnet (por defecto: port 4444) y con un GDB server (por defecto: port 3333). Previamente lo instalamos desde un terminal:
- aptitude install openocd
Para correrlo se lo hace desde un terminal como superusuario y con el archivo de configuración correspondiente:
- openocd -f target/lpc2114_david.cfg -f interface/arm-usb-ocd.cfg
En esta instancia aparecerá, en el terminal, algo como sigue:
Open On-Chip Debugger 0.4.0 (2010-02-23-17:04) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html trst_and_srst srst_pulls_trst srst_gates_jtag trst_push_pull srst_open_drain jtag_nsrst_delay: 100 jtag_ntrst_delay: 100 1000 kHz Info : clock speed 1000 kHz Info : JTAG tap: lpc2114.cpu tap/device found: 0x4f1f0f0f (mfg: 0x787, part: 0xf1f0, ver: 0x4) Info : Embedded ICE version 4 Info : lpc2114.cpu: hardware has 2 breakpoint/watchpoint units
Una vez conectado con el servidor se puede usar como conversor USB/RS232 y grabar el micro con el cable serial.
== Debugging sobre RAM== Para el debugging sobre la RAM se debe correr el servidor explicado en el punto anterior y luego correr el insight de la siguiente manera:
- arm-elf-insight NAME.elf
Donde NAME es el nombre del archivo correspondiente. Los pasos a continuación se deben realizar sobre la consola gdb del insight, pudiendo hacerse algunos desde los menús del insight:
target remote localhost:3333 ===> Conecta con el gdb a través del puerto 3333.
monitor soft_reset_halt ===> Detiene la placa del ARM y genera un reset por soft.
load ===> Carga el programa desde el insight al micro a través del Jtag.
A continuación se puede continuar el debugging de manera gráfica colocando todos los breakpoint necesarios sin mayores inconvenientes.
== Debugging sobre FLASH==