El proceso de resolución de errores o defectos que interfieren con el correcto funcionamiento de un software o sistema operativo se conoce como Depuración. Este artículo cubre la configuración y el uso de un depurador JTAG con un microcontrolador ARM Cortex M3. Para configurar el entorno de desarrollo ARM Cortex M3, consulte este artículo.
El LPC 1768 es un microcontrolador basado en ARM Cortex-M3 para capacidades de aplicaciones integradas con bajo consumo de energía y un alto nivel de integración. El ARM Cortex M3 está diseñado para mejorar las capacidades de depuración y un mayor nivel de integración del sistema. Funciona a una frecuencia de CPU de 100 MHz e incorpora una tubería de 3 etapas y utiliza una arquitectura Harvard con buses de datos e instrucciones locales separados para periféricos de tercer bus. La CPU ARM Cortex-M3 tiene una unidad de captación previa interna para admitir ramas especulativas. Los componentes periféricos incluyen memoria flash de 512 KB, memoria de datos de 64 KB, Ethernet MAC, USB OTG, 4 UART, controlador DMA de uso general de 8 canales, 2 controladores SSP, DAC de 10 bits, interfaz de codificador de cuadratura, interfaz SPI, 3 buses I2C interfaz, interfaz de bus I2S de 2 entradas más 2 salidas, 4 temporizadores de uso general, reloj en tiempo real (RTC) de potencia ultrabaja con suministro de batería independiente y hasta 70 pines de E/S de usuario General, 6 salidas generales -propósito PWM. Los LPC1768/66/65/64 son compatibles con los pines de la serie de microcontroladores basados en LPC236x ARM7 de 100 pines.
En este tutorial se utilizan los siguientes componentes:
-
Depurador: tu elección
-
Controlador/placa – LPC1768/Explore Cortex M3
-
IDE/Compilador – Keil
Como sabe, JTAG se puede utilizar para programar y depurar el controlador. El uso principal de JTAG es cuando necesitas trabajar en una lista enorme de códigos. Se puede utilizar para agregar puntos de paso y de interrupción en todo el código. La siguiente imagen muestra el diagrama de pines del Explore ARM Cortex M3 (LPC1768). Dispone de conector JTAG ARM de 20 pines.
Conexión del hardware:
Fig. 1: Explore el diagrama de pines de ARM Cortex M3 LPC1768
Cabe señalar que conectar el depurador a la placa no lo encenderá. Es necesario conectar un adaptador de corriente externo a la placa. Una vez configurado el hardware, podemos pasar a la parte de software.
Seleccionar el depurador
-
Haga clic en la pestaña Proyectos y luego en "Opciones de destino" (ATL + F7)
-
Haga clic en la pestaña "Depurar"
-
La selección predeterminada es "Simulador". Cambie la selección a "Nombre de su depurador".
-
Haga clic en "Aceptar" para continuar
Fig. 2: Seleccionar el depurador
Opciones de depuración para NXP LPC1768:
Ahora seleccione la pestaña Depurar. En el panel derecho de la ventana actual, encontrará un botón de opción llamado "Usar". En la lista desplegable, seleccione el nombre del depurador que está utilizando.
Fig. 3: Opciones de depuración para NXP LPC1768
Opción de utilidades para el NXP LPC1768:
Haga clic en la pestaña "Utilidades" y verá una ventana como se muestra a continuación.
Fig. 4: Opción de utilidades para NXP LPC1768
Seleccione el mismo depurador elegido en la ventana anterior. El botón "Configuración" en esta ventana mostrará las mismas opciones que la ventana Depurar. Se recomienda encarecidamente que las opciones de Depuración y Utilidades estén configuradas antes de proceder a "Configuración".
Configuración de depuración/utilidad usando NXP LPC1768:
Haga clic en la tecla "Configuración" y confirme la pestaña Depurar para obtener la ventana como se muestra a continuación.
Fig. 5: Configuración de depuración/utilidades usando NXP LPC1768
Los grados:
-
Los ajustes en las pestañas "Depuración" y "Utilidades" deben configurarse antes de confirmarlos.
-
El enlace y el destino deben estar presentes para ver estas opciones.
-
Se debe elegir la opción "Detener después del gestor de arranque".
Opciones de descarga flash para el NXP LPC1768:
En la pestaña "Descarga Flash", confirme las opciones como se muestra a continuación. Si lo desea, seleccione la casilla de verificación "Restablecer y ejecutar".
Fig. 6: Opciones de descarga de Flash para NXP LPC1768
Si el espacio debajo de "Algoritmo de programación" está en blanco, seleccione "AGREGAR" y seleccione un nombre de la lista que se muestra a continuación.
Programas de depuración:
Invocar el depurador
-
Haga clic en la Lupa en la barra de herramientas.
Icono de activación/desactivación de depuración
-
Si se está utilizando el modo MDK “EVALUACIÓN”, aparecerá el mensaje que se muestra a continuación. Haga clic en Aceptar".
Fig. 7: Cuadro de diálogo del modo de evaluación
Mensaje con evaluación MDK
3.El depurador realizará los siguientes pasos:
. Apaga el flash
. Descarga el código
. Reinicie el microcontrolador y ejecute la dirección Reset_Handler o “main” dependiendo de las opciones que se definieron en la configuración. A continuación se mostrará una posible ventana de registro:
Fig. 8: Registro de comandos al invocar el depurador
Registro de comandos al invocar el depurador
4.Luego aparecerá la pantalla de depuración.
Opciones de ejecución del depurador
Fig. 10: Opciones de ejecución del depurador
Opciones de ejecución del depurador
Hay 7 opciones de ejecución:
-
Reiniciar el microcontrolador
-
Ejecute el microcontrolador normalmente
-
Detener la depuración
-
Un solo paso, una instrucción a la vez
-
Saltar funciones
-
Funciones de salida
-
Corre hacia el cursor
Una sesión de depuración típica podría constar de los siguientes pasos:
-
Ingrese al modo de depuración: el depurador se ejecutará en la dirección Reset_Handler (o "principal" si se selecciona en la configuración)
-
Haga clic con el cursor en una línea de código fuente para iniciar la investigación.
-
Haga clic en la séptima opción para ejecutar el programa en el cursor. Todos los cambios de registro se resaltarán.
-
Haga clic en el ícono Centro para ejecutar el código en un solo paso según sea necesario.
-
Si el paso único ingresa a un bucle, use la sexta tecla para salir de esta función.
-
Si no es necesario investigar más, utilice la segunda tecla para correr a toda velocidad.
-
Para detenerse, utilice la tercera tecla.
-
Para reiniciar toda la secuencia, use la primera tecla.
-
Para salir de la sesión de depuración, seleccione la lupa que está presente en la barra de herramientas principal.
Puntos de interrupción
Fig. 11: Iconos de punto de interrupción
Hay 4 iconos de puntos de interrupción:
-
Coloque un punto de interrupción en la posición actual del cursor. Esto se mostrará como un punto rojo.
-
Un programa en ejecución se detendrá en el punto de interrupción.
-
Si el punto de interrupción está en un bucle que reinicia el programa, se detendrá en el punto de interrupción en la siguiente pasada.
-
Alternar: deshabilitar/volver a habilitar un punto de interrupción en el cursor. Los puntos de interrupción deshabilitados se representarán como un círculo abierto.
-
Deshabilite todos los puntos de interrupción: se representarán como círculos abiertos. Se pueden reactivar individualmente.
-
Eliminar todos los puntos de interrupción: se eliminarán todas las posiciones de los puntos de interrupción.
Ventana de observación
Se pueden activar o desactivar varias ventanas utilizando los iconos de la barra de herramientas.
Fig. 12: Opciones para el depurador en Windows
Opciones de visualización de Windows para el depurador
Las ventanas que se pueden habilitar o deshabilitar son:
-
Ventana de comando. (Se muestra por defecto)
-
Ventana de desmontaje. (Se muestra por defecto)
-
Ventana de símbolos (oculta por defecto)
-
Ventana de registro (se muestra de forma predeterminada)
-
Ventana de pila de llamadas (se muestra de forma predeterminada)
-
Ventanas de observación (ocultas de forma predeterminada)
-
Ventanas de memoria (mostradas por defecto)
Los grados:
-
Cuando la pila de llamadas, la memoria y la observación estén habilitadas, aparecerán en el panel inferior derecho.
-
Cuando se selecciona, la ventana de símbolos aparecerá como se muestra a continuación:
Fig. 13: Ventana de Símbolos
Diagramas de circuito
JTAG-Depuración-con-LPC1768 |