如何使用arm-none-eabi-gcc编译器搭建STM32的Vscode开发环境
工具
- make:Windows中没有make,但是可以通过安装MinGW或者MinGW-w64,得到make。
- gcc-arm-none-eabi:建议最新版,防止调试报错
- OpenOCD
- vscode
- cubeMX
VSCODE 插件
- Arm Assembly:汇编文件解析
- C/C++:c语言插件
- Cortex-Debug:调试插件
添加环境变量路径
- gcc-arm-none-eabi\bin
- OpenOCD\bin
- 建议MinGW-make工具重命名为make.exe并添加到gcc-arm-none-eabi\bin路径
测试工具环境变量是否生效
arm-none-eabi-gcc -v OpenOCD -v make -v
创建工程
使用cubeMX创建Makefile工程
Makefile:由于window没有rm指令,所以这里修改为 del,并添加了系统判断
将makefile一下 ------------------------------- clean: -rm -fR $(BUILD_DIR) ------------------------------- 修改 ------------------------------- ifeq ($(OS),Windows_NT) clean: del $(BUILD_DIR) else clean: -rm -fR $(BUILD_DIR) endif -------------------------------
工程添加文件
调试器配置OpenOCD\share\openocd\scripts\interfacestlink-v2.cfg芯片配置OpenOCD\share\openocd\scripts\targetstm32f7x.cfg
vscode 配置任务脚本
创建任务脚本
F1
输入 tasks
选择 运行任务
选择 配置任务
选择 使用模板创建task.json
选择 other
选择创建 tasks
使用任务脚本
CTRL + SHIFT + B 选择对应的任务
tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format “version”: “2.0.0”, “tasks”: [ //make 任务 { “label”: “build”, “type”: “shell”, “command”: “make”, “problemMatcher”: [], “group”: { “kind”: “build”, “isDefault”: true } }, // clean 任务 { “label”: “clean”, “type”: “shell”, “command”: “make clean”, “problemMatcher”: [], “group”: { “kind”: “build”, “isDefault”: true } }, //下载任物 { “label”: “download”, “type”: “shell”, “command”: “openocd”, // openocd 传递的参数 “args”: [ “-f”, “stlink-v2.cfg”, “-f”, “stm32f7x.cfg”, “-c”, “program build/stm32f767_project.elf verify reset exit”, ], “group”: { “kind”: “build”, “isDefault”: true }, }, ] }
vscode 配置调试脚本
1.创建调试脚本
选择调试窗口
选择 创建 launch.json 文件2. 启用调试
快捷键 F5
launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Cortex Debug", "cwd": "${workspaceFolder}", "executable": "${workspaceFolder}/build/stm32f767_project.elf", // 编译文件 "request": "launch", "type": "cortex-debug", "servertype": "openocd", "interface":"swd", "device": "STM32F7IGT6", "configFiles": [ "stlink-v2.cfg", "stm32f7x.cfg", ] } ] }
调试过程中报错:仔细查看报错信息,gcc版本过低也会造成调试报错
到此这篇关于使用arm-none-eabi-gcc编译器搭建STM32的Vscode开发环境的文章就介绍到这了,更多相关arm-none-eabi-gcc编译器搭建Vscode开发环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论