
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
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:
- Cortex-Debug por marus25.
- 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).
