完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的。这里介绍一些使用 gcc + vscode 开发单片机程序的经验。(这里不解释 gcc 是什么)
环境准备 gcc 我有个习惯:尽量使用免安装版软件,直接解压到软件安装目录中,添加环境变量即可使用,这样即使重装系统也不必重装软件。 把 arm-none-eabi-gcc 的 bin/ 目录添加到环境变量 Path 中就算安装完成了。打开命令行执行 arm-none-eabi-gcc -v 显示出版本信息就说明 arm-none-eabi-gcc 可以使用了。 make 我使用的 make 是从 mingw-w64 中复制出来的。 下载的 make 工具同样添加到环境变量 Path 中即可使用。 vscode vscode 仅仅是个文本编辑器,没有它也能开发(txt 写代码,命令行编译)。 软件目录下新建文件夹 data/ 可以使 vscode 完全不使用 C 盘空间,所有的缓存文件都会生成在 data/ 内。附我使用的 Vscode: 已经安装了以下扩展程序: 编译链接过程 无话可说…… 创建空工程 一个 ".vscode" 文件夹装一些配置,"boot" 装启动单片机的汇编文件,"cmsis" 装官方提供的源文件,"inc" 装头文件,"src" 装源文件,"output" 装输出文件,再来一个 makefile 一个链接脚本就完成了。完全没有多余的东西(txt 写代码,命令行编译的话可以删掉".vscode")。 在 makefile 所在的目录执行 "make" 就编译好了。 J-Link烧录和调试 .vscode/launch.json 里写入 { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Cortex Debug", "type": "cortex-debug", "cwd": "${workspaceRoot}", "executable": "${workspaceFolder}\output\template.elf", "request": "launch", "servertype": "jlink", "device": "STM32F103ZE", "interface": "swd", "preLaunchTask": "Compile" } ], } .vscode/tasks.json 里写入 { "version": "2.0.0", //每次执行都不启动一个新的控制台 "presentation": { "reveal": "always", "panel": "shared", //"new", "echo": true }, //设置环境变量 "options": { "env": { //"Path": "%Path%;D:\ProgramFiles\MinGW64\bin", "LOCAL_SRC_HOME": "${workspaceRoot}" } }, //任务列表 "tasks": [ { "label": "Compile", "command": "make", "args": [], "group": { "kind": "build", "isDefault": true } } ] } 安装 J-Link 驱动后,把 J-Link 添加到环境变量 Path 中,点击 F5 就能仿真了。 还可以监视指定内存、变量、寄存器,反汇编指定函数 …… 彻底告别 keil。 |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:53 , Processed in 1.110689 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号