问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

GCC+VSCODE 从0开始配置嵌入式开发环境

创作时间:
作者:
@小白创作中心

GCC+VSCODE 从0开始配置嵌入式开发环境

引用
CSDN
1.
https://m.blog.csdn.net/zhouruyi/article/details/145057413

GCC(GNU Compiler Collection)和VSCode(Visual Studio Code)是嵌入式开发中常用的工具链和开发环境。本文将详细介绍如何从零开始配置基于GCC的VSCode嵌入式开发环境,包括工具链下载、插件安装、工程配置等步骤。

前言

最近想折腾GCC来做MCU的固件开发,网上写VSCODE来进行嵌入式开发的文章很多,但是很多写的步骤不完整或者过于复杂,另外一些是基于STM32CubeMX来自动生成工程,不适合其他MCU的配置入门。我想写一篇简单且完整从0开始的步骤,如果有错误,欢迎指正。

关于MCU 固件开发可以选择的工具链,主流的有以下几种:

  • ACC5 : ARM MDK 工具,ARM公司基于GCC开发,不免费,开发需要授权;
  • ACC6 : ARM MDK 工具,ARM公司基于LLVM开发,不免费,开发需要授权;
  • IAR :IAR编译器,不免费;
  • GCC for ARM : GCC 嵌入式工具链,免费软件;
  • LLVM for ARM:LLVM 嵌入式编译器,免费软件,但是EIDE不支持。

调试软件网上也有很多选择,我们这次选择最简单的VSCODE 插件cortex-debug,其他工具比如OpenOCD....,我们以后再讨论。

作为入门,我们从简单的开始,只需要下面软件:

  • IDE 及插件 VSCODE + EIDE + Cortex-debug。
  • 编译工具链:GCC for ARM(arm-none-eabi)。

一、嵌入式工具链及插件下载

1-1、下载GCC 工具链

Arm GNU Toolchain Downloads – Arm Developer

下载完成后双击安装,安装完成后需要将其添加系统环境变量,这样电脑上其他软件才能找到这个工具链

添加windows环境变量:

检查安装是否成功:cmd 或者powershell输入以下命令

arm-none-eabi-gcc -v

1-2、下载VSCode 插件

VSCode 种安装 EIDE插件

VSCode 种安装Cortex-Debug插件

1-3、下载CMSIS 芯片支持包

Arm Keil | CMSIS Packs

根据你芯片选择对应packs

CMSIS 内核支持包也必须下载:

可以去github下载最新的版本,最新版本V6.1

GitHub - ARM-software/CMSIS_6: CMSIS version 6 (successor of CMSIS_5)

CMSIS除了上面必须有的支持包, 还有其他包,也可以按照需要下载

如果需要添加操作系统下载CMSIS-FreeRTOS支持包。另外推荐CMSIS-Driver支持包,里面的I2C 驱动用汇编写的。

到这里我们需要的下载的工具和支持包都完成了

二、配置工程环境

配置EIDE工具链的路径

前面我们讲到,我们选择GCC工具链来作为编译器,只需要配置以下脚本。注意这里和前面的环境变量配置不一样,需要退一级目录,就是包含bin文件目录

也可以从configure Toolchain来选择

选择对应工具链,指向对应的bin文件夹路径,如果配置成功后面会显示一个√

另外注意一个从EIDE Setting进去,要把下面这个选项去掉,否则每次重新打开工程,你在RTE_Components.h文件添加的代码会被覆盖掉,如果不清楚是这里导致的,会被弄的一头雾水。

三、创建工程并配置

3-1、从一个空的工程开始创建

3-2、导入库文件

工程创建后,我们先点击加号把前面下载的MCU 芯片支持包添加进来:

选择对应芯片子型号:

选择Startup后面的加号安装MCU的组件:

安装完成后,我们工程里面看到导入的芯片组件

我们继续添加CMSIS 标准支持包和操作系统包(操作系统不需要的可以不加)

如果你在ARM 官网下载的是类似 ARM.CMSIS.6.1.0.pack 可以和前面一样添加package方式

如果你和我一样是在github下载的源文件可以在Project Resources 通过添加文件夹到工程的方式添加:

这里注意,GCC 默认会将整个文件夹添加到工程,对于工程不需文件或者文件夹,选中后将文件夹或者对应文件手动排除到工程外面,以免影响编译。

当然你也可以去文件夹中删除不需要的文件,但是我不建议这样中,CMSIS 应该作为一个公共文件给多个项目公用,每个项目根据需要来包含文件,而不是每个项目用独立的CMSIS,不然会导致冗余的代码太多并难以维护。

最后我们还要去IncludeDirections 下面把源文件和头文件路径都包含进来

3-3、编译器配置

如果你前面的load MCU pack正确的话,编译器部分配置会自动识别,你也可以手动将配置地址复制过来,GCC使用ld或者lds文件,如果选择其他编译器,这里链接配置会不一样。

3-4、下载工具配置

Flash 下载配置,这个按照自己硬件环境的来选择

3-5、Debug 工具配置

我们使用前面下载的Cortex-debug插件来配置debug功能

在菜单栏选择Run->Add configrution, 然后在弹出来选项中选择cortex-debug,然后配置一个launch.json 文件,以下是我的配置文件供参考:

当然你也可以从创建的文件链接中,去Vscode官网看详细的配置:

Debugging in Visual Studio Code

Segger 的官网也有关于这个脚本配置指导:

J-Link Visual Studio Code - SEGGER Knowledge Base

至此,配置应该都完成了

四、测试功能

测试编译,EIDE视图下选择编译按钮:

编译成功会输出下面信息:

选择下载按钮测试下载:

测试debug功能,菜单栏选择Run-Start debug

至此,环境配置全部完成。然后就可以愉快的写代码了和调试了。

最后关于EIDE插件更多功能,我附上官方指导,这个写的非常详细,建议大家去看:

这是什么? | Embedded IDE For VSCode

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号