Configurando o VSCODE para desenvolvimento para ARM usando a placa de depuração stm32f429i-disco como um exemplo


Olá pessoal!


Hoje, consideraremos a criação de um ambiente de desenvolvimento conveniente e bonito para um programador de microcontroladores usando um conjunto de ferramentas de desenvolvimento totalmente gratuitas.


Todas as etapas são verificadas em uma máquina virtual com o Ubuntu 16.04 xenial desktop x64 recém-instalado.


Entende-se que você já possui o código fonte de um projeto.


Todas as configurações relacionadas a um hardware específico (no meu caso, é o controlador STM32F429 e o painel de controle STM32F429DISCO), você precisa substituí-lo pelo seu. O mesmo vale para caminhos.


Se estiver pronto, então vamos lá


Instalação de ondulação


sudo apt-get install curl 

Instalação 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 a cadeia de ferramentas arm-none-eabi


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

Instale o openocd


 sudo apt-get install openocd 

Iniciar e configurar vscode


Para executar o vscode, chame o comando code no terminal.
Vá para a seção Extensões (Ctrl + Shift + X) .
Pesquisamos e instalamos os seguintes plugins:


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

Abra a pasta do projeto no menu Arquivo / Abrir pasta .
Vá para a seção Debug (Ctrl + Shift + D) .


Na parte superior da lista suspensa, vemos o texto Sem configurações .


Clicamos na engrenagem ao lado, um menu é exibido com uma proposta para criar uma configuração para a depuração, selecione Cortex-Debug .


Uma pasta .vscode oculta é criada no diretório do projeto, no qual um arquivo com configurações de depuração launch.json é criado .


Se esse arquivo não se abrir, abra-o com as mãos: vá para a seção Explorer (Ctrl + Shift + E) e selecione esse arquivo na árvore.


Defina a configuração para o 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" ] } ] 

As três últimas propriedades: a localização do arquivo elf, a localização do arquivo svd, o caminho para a configuração do openocd, são personalizáveis.


Salvamos o arquivo launch.json e, novamente, vamos para a seção Debug , para garantir que nossa configuração apareça no menu suspenso.


Em seguida, retornamos à seção Explorer e, no diretório .vscode, adicionamos um novo arquivo chamado settings.json , abra-o e escreva o seguinte:


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

Em seguida, adicione outro arquivo c_cpp_properties.json ao .vscode , abra-o e escreva o seguinte:


 { "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 } 

Pressionando F5, você pode iniciar a depuração (não esqueça de montar o projeto antes disso para que o arquivo elf esteja no lugar certo).


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


All Articles