IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Vscode开发STM32单片机程序 -> 正文阅读

[开发工具]Vscode开发STM32单片机程序

STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的。这里介绍一些使用 gcc + vscode 开发单片机程序的经验。(这里不解释 gcc 是什么)

环境准备

不好意思,我要开始砸 [传资源收费(币)] 的人饭碗了。

gcc

1. ARM 开发者官网?Home – Arm DeveloperArm’s developer website includes documentation, tutorials, support resources and downloads for products and technologies.https://developer.arm.com/

?

??

??

??

??

??

?我有个习惯:尽量使用免安装版软件,直接解压到软件安装目录中,添加环境变量即可使用,这样即使重装系统也不必重装软件。

把 arm-none-eabi-gcc 的 bin/ 目录添加到环境变量 Path 中就算安装完成了。打开命令行执行

arm-none-eabi-gcc -v

显示出版本信息就说明 arm-none-eabi-gcc 可以使用了。

?

make

我使用的 make 是从 mingw-w64 中复制出来的。

Mingw-w64 - GCC for Windows 64 & 32 bits [mingw-w64]http://mingw-w64.yaxm.org/doku.php方便单独下载 make:https://download.csdn.net/download/qq_33523299/33634450https://download.csdn.net/download/qq_33523299/33634450下载的 make 工具同样添加到环境变量 Path 中即可使用。

vscode

vscode 仅仅是个文本编辑器,没有它也能开发(txt 写代码,命令行编译)。

Visual Studio Code - Code Editing. Redefinedhttps://code.visualstudio.com/#alt-downloads又是免安装版:

?

软件目录下新建文件夹 data/ 可以使 vscode 完全不使用 C 盘空间,所有的缓存文件都会生成在 data/ 内。附我使用的 Vscode:

https://download.csdn.net/download/qq_33523299/33635971https://download.csdn.net/download/qq_33523299/33635971

已经安装了以下扩展程序:

编译链接过程

?无话可说……

创建空工程

?一个 ".vscode" 文件夹装一些配置,"boot" 装启动单片机的汇编文件,"cmsis" 装官方提供的源文件,"inc" 装头文件,"src" 装源文件,"output" 装输出文件,再来一个 makefile 一个链接脚本就完成了。完全没有多余的东西(txt 写代码,命令行编译的话可以删掉".vscode")。

在 makefile 所在的目录执行 "make" 就编译好了。

GitHub - bfuxd/stm32f103EmptyProject: stm32f103空工程实例stm32f103空工程实例. Contribute to bfuxd/stm32f103EmptyProject development by creating an account on GitHub.https://github.com/bfuxd/stm32f103EmptyProject这是完整工程(去掉了空文件夹,去掉了输出目录),其中的 makefile 支持 windows 和 linux 。

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。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:08:46  更:2021-10-22 11:09:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:54:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码