Espacio de trabajo para la materia Arquitectura de Microprocesadores de la Especialización de Sistemas Embebidos de FIUBA
Nota: únicamente probado en Ubuntu 20.04
- Instalar Visual Studio Code
- Agregar el Plugin Cortex Debug
- En el Makefile del repositorio, actualizar los directorios de las herramientas de programación y depuración en funcion de dónde se tengan instaladas. Específicamente las siguientes dos herramientas:
...
CROSS=arm-none-eabi-
...
OOCD=openocd
...
Si las herramientas fueron instaladas siguiendo los pasos de Firmware V3 o similar, posiblemente el directorio en el que se encuentren dichas herramientas sea:
/home/<username>/CIAA/tools/
En cuyo caso las lineas pertinentes del makefile quedarían de la siguiente manera
...
CROSS=/home/<username>/CIAA/tools/gcc-arm-embedded/bin/arm-none-eabi-
...
OOCD=/home/<username>/CIAA/tools/openocd/bin/openocd
...
- Crear un archivo
launch.json
en la carpeta.vscode
en el directorio raíz
mkdir -p .vscode && cd .vscode # Ignorar si la carpeta ya existe.
touch launch.json # Ignorar si el archivo ya existe
Luego copiar la siguiente configuración en el archivo launch.json
creado (reemplazando los directorios donde corresponda).
{
"version": "0.2.0",
"configurations": [
{
"name": "EDU-CIAA-Debug",
"cwd": "${workspaceRoot}",
"executable": "${workspaceRoot}/out/arquitecturaDeMicroprocesadores.elf",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"serverpath": "/home/<username>/CIAA/tools/openocd/bin/openocd",
"configFiles": [
"${workspaceRoot}/lib/ciaa-nxp.cfg"
],
}
]
}
- Correr desde la terminal el siguiente comando para para compilar la aplicación (conectar la EDU-CIAA a la PC previamente):
make program
Nota: se puede crear una Task de Vscode para que automáticamente compile el binario cada vez que queramos debuggear y no tener que hacerlo manualmente.
- Finalmente, posicionarse en el archivo de código fuente a depurar (
main.c
por ejemplo) y presionarF5
. - Revisar que en la columna de la izquierda (menu de depuración) se pueden observar los registros del microcontrolador, pero la ventana se encuentra colapsada por defecto (se expande haciendo click sobre ella).