使用stm32f429i-disco调试板为示例配置VSCODE以进行ARM开发


大家好!


今天,我们将考虑使用一组完全免费的开发工具为微控制器程序员建立一个方便,美观的开发环境。


所有步骤均在具有新安装的Ubuntu 16.04 xenial桌面x64的虚拟机上进行验证。


可以理解,您已经具有项目的源代码。


与特定硬件(在我的情况下是STM32F429控制器和STM32F429DISCO开发板)相关的所有设置,都需要用自己的硬件替换。 路径也是如此。


如果准备好了 走吧


卷曲安装


sudo apt-get install curl 

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 

安装arm-none-eabi工具链


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

安装openocd


 sudo apt-get install openocd 

启动并配置vscode


要运行vscode,请在终端中调用code命令。
转到扩展部分(Ctrl + Shift + X)
我们搜索并安装以下插件:


  1. marus25的Cortex-Debug
  2. Microsoft的C / C ++

通过文件/打开文件夹菜单打开项目文件
转到“ 调试”部分(Ctrl + Shift + D)


在下拉菜单的顶部,我们看到文本“ 无配置”


我们单击旁边的齿轮,弹出一个菜单,其中包含为调试创建配置的建议,然后选择Cortex-Debug


在项目目录中创建了一个隐藏的.vscode文件夹,在其中创建了带有launch.json调试配置的文件。


如果此文件无法自行打开,请用手打开它:转到“ 资源管理器”部分(Ctrl + Shift + E)并在树中选择此文件。


设置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" ] } ] 

最后三个属性:elf文件的位置,svd文件的位置,openocd的配置路径是可自定义的。


我们保存了launch.json文件,然后再次转到“ 调试”部分,在此确保我们的配置出现在下拉菜单中。


接下来,我们返回“ 资源管理器”部分,在.vscode目录中添加一个名为settings.json的新文件,打开它,并在其中写入以下内容:


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

接下来,将另一个c_cpp_properties.json文件添加到.vscode ,打开它并在其中写入以下内容:


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

通过按F5键,您可以开始调试(不要忘记在此之前组装项目,以便elf文件位于正确的位置)。


Source: https://habr.com/ru/post/zh-CN437760/


All Articles