如何使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開發(fā)環(huán)境
工具
- make:Windows中沒有make,但是可以通過安裝MinGW或者M(jìn)inGW-w64,得到make。
- gcc-arm-none-eabi:建議最新版,防止調(diào)試報(bào)錯(cuò)
- OpenOCD
- vscode
- cubeMX
VSCODE 插件
- Arm Assembly:匯編文件解析
- C/C++:c語言插件
- Cortex-Debug:調(diào)試插件
添加環(huán)境變量路徑
- gcc-arm-none-eabi\bin
- OpenOCD\bin
- 建議MinGW-make工具重命名為make.exe并添加到gcc-arm-none-eabi\bin路徑
測試工具環(huán)境變量是否生效
arm-none-eabi-gcc -v OpenOCD -v make -v
創(chuàng)建工程
使用cubeMX創(chuàng)建Makefile工程
Makefile:由于window沒有rm指令,所以這里修改為 del,并添加了系統(tǒng)判斷
將makefile一下 ------------------------------- clean: -rm -fR $(BUILD_DIR) ------------------------------- 修改 ------------------------------- ifeq ($(OS),Windows_NT) clean: del $(BUILD_DIR) else clean: -rm -fR $(BUILD_DIR) endif -------------------------------
工程添加文件
調(diào)試器配置OpenOCD\share\openocd\scripts\interfacestlink-v2.cfg芯片配置OpenOCD\share\openocd\scripts\targetstm32f7x.cfg
vscode 配置任務(wù)腳本
創(chuàng)建任務(wù)腳本
F1
輸入 tasks
選擇 運(yùn)行任務(wù)
選擇 配置任務(wù)
選擇 使用模板創(chuàng)建task.json
選擇 other
選擇創(chuàng)建 tasks
使用任務(wù)腳本
CTRL + SHIFT + B 選擇對(duì)應(yīng)的任務(wù)
tasks.json
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format “version”: “2.0.0”, “tasks”: [ //make 任務(wù) { “l(fā)abel”: “build”, “type”: “shell”, “command”: “make”, “problemMatcher”: [], “group”: { “kind”: “build”, “isDefault”: true } }, // clean 任務(wù) { “l(fā)abel”: “clean”, “type”: “shell”, “command”: “make clean”, “problemMatcher”: [], “group”: { “kind”: “build”, “isDefault”: true } }, //下載任物 { “l(fā)abel”: “download”, “type”: “shell”, “command”: “openocd”, // openocd 傳遞的參數(shù) “args”: [ “-f”, “stlink-v2.cfg”, “-f”, “stm32f7x.cfg”, “-c”, “program build/stm32f767_project.elf verify reset exit”, ], “group”: { “kind”: “build”, “isDefault”: true }, }, ] }
vscode 配置調(diào)試腳本
1.創(chuàng)建調(diào)試腳本
選擇調(diào)試窗口
選擇 創(chuàng)建 launch.json 文件2. 啟用調(diào)試
快捷鍵 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", ] } ] }
調(diào)試過程中報(bào)錯(cuò):仔細(xì)查看報(bào)錯(cuò)信息,gcc版本過低也會(huì)造成調(diào)試報(bào)錯(cuò)
到此這篇關(guān)于使用arm-none-eabi-gcc編譯器搭建STM32的Vscode開發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)arm-none-eabi-gcc編譯器搭建Vscode開發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++實(shí)現(xiàn)藍(lán)橋杯競賽題目---搭積木
這篇文章主要介紹了C++實(shí)現(xiàn)藍(lán)橋杯競賽題目---搭積木,本篇文章通過題目分析列舉公式進(jìn)行分析算法,包含詳細(xì)的圖文,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07深入理解c++中char*與wchar_t*與string以及wstring之間的相互轉(zhuǎn)換
本篇文章是對(duì)c++中的char*與wchar_t*與string以及wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++ 學(xué)習(xí)之旅三 我和超級(jí)瑪麗有個(gè)約會(huì)
學(xué)習(xí)了c++有一周有余了吧,感謝孫鑫老師的視頻教程,讓我 對(duì)C++有了基本的了解,并理解到C++與.net 的許許多多的區(qū)別,更要感謝網(wǎng)民為programaking的人,會(huì)為我提供了超級(jí)瑪麗制作揭秘 這套寶貴的教程,讓我 做做出了這個(gè)項(xiàng)目,對(duì)c++ 有了一個(gè)更深層次的認(rèn)識(shí)2012-11-11循環(huán)隊(duì)列詳解及隊(duì)列的順序表示和實(shí)現(xiàn)
這篇文章主要介紹了循環(huán)隊(duì)列詳解及隊(duì)列的順序表示和實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-12-12