1.5 ARM Keil μVision5 MDK (3)
Visualización y modificación de variables y registros:
Herramientas disponibles:
En el proceso de depurado, es importante poder observar y modificar el estado de las variables y registros del microprocesador. Keil μVision5 proporciona varias ventanas para visualizar esta información:
Watch: Permite acceder al valor de variables específicas. Puedes añadir variables a esta ventana para monitorear su valor en tiempo real durante la ejecución del programa.
Call Stack: Muestra la pila de llamadas, permitiendo ver qué funciones están activas y las variables locales de cada función. Se actualiza al Detener la ejecución del programa.
Registers: Muestra el estado de los registros del microprocesador. Puedes ver los registros generales, de propósito específico y de estado.
Memory: Permite observar el contenido de la memoria en direcciones específicas.
System Viewer: Proporciona una vista general del sistema, permite acceder a los registros de los periféricos.
Ejemplo de uso:
Para ilustrar el uso de estas herramientas, utilizaremos el proyecto lab1 y
seleccionaremos el target lab1.1:
Observa que en este caso el fichero lab1.1.c está activo y que el fichero
lab1.0.c se ha excluido de la compilación.
Comenzamos estudiando el código y observando el comportamiento del LED:
Abre el fichero
lab1.1.cy estudia el código fuente.Compila el código y descárgalo al microprocesador
->
-> Reset de la placa.
Observa su comportamiento.
El comportamiento no coincide con lo esperado, después de la primera pulsación el LED se apaga y ya no cambia de color, utilizaremos el debugger para analizar el código y encontrar el error:
Inicia la sesión de depuración
, el programa se detiene en la primera línea del código.
El color de encendido del led depende del valor de la variable
led_color. Puedes observar su valor en la ventana Call Stack cuando se detiene la ejecución.También puedes añadir la variable a la ventana Watch para observar su valor en tiempo real:
Haz clic derecho sobre la variable y selecciona .
Pon en marcha la ejecución del programa
, y podrás observar como cambia el valor de la variable
led_coloral pulsar SW2. Si quieres reiniciar la ejecución pulsa.
Para entender el comportamiento de la aplicación y encontrar el error, es necesario ejecutar el código paso a paso:
Detén la ejecución del programa
.
Sitúa un breakpoint
en la línea 74 (switch..).
Resetea el microprocesador
, ejecuta el programa
y pulsa SW2, el programa se detiene en el breakpoint.
Observa el valor de la variable
led_coloren la ventana Watch.Utiliza el botón
para ejecutar el código paso a paso y observa cómo cambia el valor de
led_color.Este proceso te permitirá entender cómo se comporta el código e identificar el error. Modifica el código para corregir el error, y vuelve a compilar y descargar el programa al microprocesador. Verifica que la variable
led_colorcambie correctamente al pulsar el botón SW2.
->
-> Reset de la placa.
, el programa se detiene en la
primera línea del código.
, y podrás observar como
cambia el valor de la variable
.
.
en la línea 74 (switch..).
para ejecutar el código paso a paso y
observa cómo cambia el valor de