Configuración de VSCODE para desarrollo para ARM usando la placa de depuración stm32f429i-disco como ejemplo


Hola a todos!


Hoy consideraremos la creación de un entorno de desarrollo conveniente y hermoso para un programador de microcontroladores utilizando un conjunto de herramientas de desarrollo completamente gratuitas.


Todos los pasos se verifican en una máquina virtual con Ubuntu 16.04 xenial desktop x64 recién instalado.


Se entiende que ya tiene el código fuente de un proyecto.


Todas las configuraciones relacionadas con un hardware específico (en mi caso es el controlador STM32F429 y el panel de control STM32F429DISCO), debe cambiar el suyo. Lo mismo vale para los caminos.


Si está listo, entonces vamos


Instalación de rizos


sudo apt-get install curl 

Instalación de Vscode


 curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install code # or code-insiders 

Instale la cadena de herramientas arm-none-eabi


 sudo apt-get install gcc-arm-none-eabi sudo apt-get install gdb-arm-none-eabi 

Instalar openocd


 sudo apt-get install openocd 

Lanzar y configurar vscode


Para ejecutar vscode, llame al comando de code en la terminal.
Vaya a la sección Extensiones (Ctrl + Shift + X) .
Buscamos e instalamos los siguientes complementos:


  1. Cortex-Debug por marus25.
  2. C / C ++ de Microsoft.

Abra la carpeta del proyecto a través del menú Archivo / Abrir carpeta .
Vaya a la sección Depurar (Ctrl + Shift + D) .


En la parte superior del menú desplegable, vemos el texto Sin configuraciones .


Hacemos clic en el engranaje al lado, aparece un menú emergente con una propuesta para crear una configuración para la depuración, seleccione Cortex-Debug .


Se crea una carpeta oculta .vscode en el directorio del proyecto, en el que se crea un archivo con configuraciones de depuración launch.json .


Si este archivo no se abre solo, ábralo con las manos: vaya a la sección Explorador (Ctrl + Shift + E) y seleccione este archivo en el árbol.


Configure la configuración para openocd:


 "configurations": [ { "name": "openocd", "request": "launch", "type": "cortex-debug", "cwd": "${workspaceRoot}", "servertype": "openocd", "executable": "build/lol.elf", "svdFile": "STM32F429.svd", "configFiles": [ "/usr/share/openocd/scripts/board/stm32f429discovery.cfg" ] } ] 

Las últimas tres propiedades: la ubicación del archivo elf, la ubicación del archivo svd, la ruta a la configuración de openocd, son personalizables.


Guardamos el archivo launch.json y volvemos a la sección Depurar , allí nos aseguramos de que nuestra configuración aparezca en el menú desplegable.


Luego, volvemos a la sección Explorador y en el directorio .vscode, agregamos un nuevo archivo llamado settings.json , lo abrimos, escribimos lo siguiente allí:


 { "cortex-debug.armToolchainPath": "/usr/bin", "cortex-debug.openocdPath": "/usr/bin/openocd" } 

A continuación, agregue otro archivo c_cpp_properties.json a .vscode , ábralo y escriba lo siguiente allí:


 { "configurations": [ { "name": "vscode_stm32_c_cpp_properties", "compilerPath": "/usr/bin/arm-none-eabi-gcc", "includePath": [ "${workspaceRoot}/Inc/", "${workspaceRoot}/Drivers/CMSIS/Include/", "${workspaceRoot}/Drivers/CMSIS/Device/ST/STM32F4xx/Include/" ], "defines": [ "STM32F429xx" ], "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 } 

Al presionar F5, puede comenzar a depurar (no olvide ensamblar el proyecto antes para que el archivo elf esté en el lugar correcto).


Source: https://habr.com/ru/post/437760/


All Articles