使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension
  0IQUaw2fOZvh 2023年11月12日 35 0

使用VS Code进行STM32单片机开发(创建工程、编译、调试)

官方STM32 for VS Code Extension

 

一、环境搭建

1.下载软件

(1)VS Code V1.78.2

https://code.visualstudio.com

(2)STM32CubeMX V1.12.1

https://www.st.com/en/development-tools/stm32cubemx.html

(3)STM32CubeCLT V1.12.1

https://www.st.com/zh/development-tools/stm32cubeclt.html

或者STM32CubeIDE V1.12.1(完全包含STM32CubeCLT)

https://www.st.com/en/development-tools/stm32cubeide.html

(4)CMake V3.26.4

https://cmake.org/download

(5)Git V2.40.1

https://git-scm.com/downloads

 

2.软件安装

(1)VS Code 选择安装目录后一直Next直到安装完成。

(2)STM32CubeMX 选择安装目录后一直Next直到安装完成。

(3)STM32CubeCLT 选择安装目录后一直Next直到安装完成。

(4)CMake 安装时注意选择加入环境变量(或者安装后手动增加),选择安装目录后一直Next直接安装完成。

 

3.插件安装

(1)STM32 VS Code Extension

运行VS Code,点击菜单View->Extensions,或者点击左侧栏Extensions(Ctrl+Shift+X),输入“STM32 VS Code Extension”,点击Install安装插件。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code

 

自动安装关联插件,共安装7个插件:

Arm Assembly

C/C++

CMake

CMake Tools

Embedded Tools

GNU Linker Map files

STM32 VS Code Extension

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_02

 

 

二、工程开发

1.导入已经存在的STM32CubeIDE工程

运行VS Code,点击左侧插件STM32 VS CODE EXTENSION,在PROJECT MANAGER点击Import a local project 在右下角提示框中点击Continue按钮,选择相应工程目录,选中.cproject文件点击Open project按钮,打开此前已经建好的STM32CubeIDE工程。

对于已经导入的工程的,下次运行VS Code后直接从File->Open Recent打开目录工程。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_VS Code_03

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_04

 

 

导入工程如果发现找不到STM32CubeIDE或STM32CubeCLT路径报错,打开工程目录cmake内的gcc-arm-none-eabi.cmake文件手动修改路径。如果安装了CLT修改1处,如果使用IDE修改2处,_*代指版本号不用动,修改后保存,可能需要关闭目录重新打开工程目录。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_VS Code_05

 

导入工程编译时如果发现有用不到源文件目录而报错,打开工程目录cmake内的st-project.cmake文件找到target_sources,(中用不到源文件目录,手动删除该行,保存。

首次打开工程时,可能缺少vcpkg、node、cmake、ninja,会自动安装。

2.新建STM32CubeIDE工程

运行VS Code,关闭已经打开的目录文件,点击左侧插件STM32 VS CODE EXTENSION,在PROJECT MANAGER点击Create a new application project ,首次使用时右下角提示框中点击Find STM32CubeMX按钮,指定STM32CubeMX。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_06

 

 

找到STM32CubeMX的安装目录,选中STM32CubeMX.exe文件,点击打开按钮,自动打开STM32CubeMX工具创建新工程。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_VS Code_07

 

如果已经指定了STM32CubeMX.exe,当点击Create a new application project后将直接打开STM32CubeMX工具。

打开STM32CubeMX后,进行新建工程操作,此外不展开详述。

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_08

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_09

 

 

 

创建新工程并配置完成后,在ProojectManager页面Toolchain/IDE项目选择STM32CubeIDE,注意后面的Generate Under Root保持勾选状态,否则后面导入工程不方便。然后点击上方GENERRATE CODE按钮生成STM32CubeIDE工程。

新创建的工程需重复上文“导入已经存在的STM32CubeIDE工程”的步骤导入这个新工程到VS Code中。注意修改gcc-arm-none-eabi.cmake中的STM32CubeIDE路径重新打开工程。

3.编译工程

打开左侧插件栏CMake,点左侧窗口上方的Build All Projects按钮编译工程,编译成功后下方OUTPUT窗口提示[build] Build finished with exit code 0,0表示成功。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_VS Code_10

 

如果编译失败[build]非0,可查看下方PROBLEMS窗口中的提示信息,修改错误后再编译,直到[build]0成功。

 

4.调试工程

打开编译成功的工程,点击菜单Run->Open Configurations;或者点击左侧插件栏Run and Debug(Ctrl+Shift+D)上方Open launch.json图标;或者工程目录中直接打开.vscode\launch.json文件,修改相应的工具目录。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_VS Code_11

 

修改如下项目:

"miDebuggerPath": "${command:vscode-embedded.st.gdb}",

"miDebuggerServerAddress": "localhost:3333",

"debugServerPath": "${command:vscode-embedded.st.gdbserver}",

"debugServerArgs": "--stm32cubeprogrammer-path ${command:vscode-embedded.st.cubeprogrammer} --swd --port-number 3333",

这些项目中${}全部替换为本机上的软件工具目录,注意替换中的反斜杠’\’要变成正斜杠’/’。

/Program/IDE/ST/STM32Cube/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.200.202301161003/tools/bin/arm-none-eabi-gdb.exe",

      "miDebuggerServerAddress": "localhost:3333",

/Program/IDE/ST/STM32Cube/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.0.500.202301161003/tools/bin/ST-LINK_gdbserver.exe",

/Program/IDE/ST/STM32Cube/STM32CubeIDE_1.12.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.600.202301161003/tools/bin --swd --port-number 3333",

修改后保存。硬件连接ST-link通电后即可进行调试。

点击菜单Run->Start Debugging;或者点击左侧插件栏Run and Debug(Ctrl+Shift+D)上方Launch图标,进入Debugging。左侧窗口中可以查看寄存器、本地变更、调用栈,可在左侧栏WATCH中增加全局变量查看。窗口上方有调试按钮方便调试操作,按钮包含运行、单步、跳入、跳出、复位、停止。也可从菜单Run中点击相应菜单项或者用快捷键F5、F10、F11、shift+F11、ctrl+shift+F5、shift+F5。在源代码窗口左侧行号上点击可直接增加断点,也可在左侧栏BREAKPOINTS栏中修改。

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_12

 

使用VS Code进行STM32单片机开发(创建工程、编译、调试)基于官方插件STM32 for VS Code Extension_STM32 for VS Code_13

 

 

完。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

0IQUaw2fOZvh