news 2026/7/7 22:40:41

Eclipse嵌入式环境搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Eclipse嵌入式环境搭建

背景介绍:

由于公司没有keil的版权,而又频繁收到该公司的律师函,遂开始琢磨eclipse搭建嵌入式平台进行单片机的开发。

一,首先需要在eclipse官网下载安装包

点击后进入选择安装包界面,选择Eclipse IDE for Embedded C/C++ Developers。

点击后进入下载界面,选择国内镜像,之后点下载即可。

(注意:此处下载比较慢,请耐心等待,不要去其他镜像网站去下载镜像文件,因为镜像网站下载的IDE和官网下载的不一样的,ps:我下载的镜像文件是不一样,导致后面的环境配置缺少东西,不能配置成功)

二,mingw安装

  • mingw安装:(Mingw工具链网址由于是外网,推荐百度网盘下载)

百度云链接:https://pan.baidu.com/share/init?surl=1bogR8pmGYd6FDgD7QbgFg

密码:1111

(链接是网上找的,可能会失效,失效的话自行在网上下载)

下载并安装,最好将Mingw安装在C盘,接下来就是配置环境变量了

找到安装路径下的bin文件夹,复制该文件夹路径,添加到系统环境变量中去,如下图:

三,GNU_MCU工具链下载与配置

链接:https://pan.baidu.com/share/init?surl=q15QtrmjISoomjP_-YPYYA

密码:1111

将下载的文件解压后放到D盘(新建一个GNU_MCU文件夹放置这些文件),待用。

工具链配置:(若是在镜像网站下载的IDE,这步配置可能会有和流程显示有区别的地方,建议从头去官网下载IDE)

1.打开Eclipse-Windows-Preferences-MCU

如上图所示,点击 Global Arm Toolchains Paths (我们配置全局工具链)

点击右侧Browse... 找到D盘-GNU_MCU-Arm Embedded GCC-bin文件夹路径,然后确认,如上图,bin文件路径已经正常添加进去了。

2.接下来配置Global Build Tools Path

点击右侧Browse... 找到D盘-GNU_MCU-Build Tools-bin文件夹路径,然后确认,如上图,bin文件路径已经正常添加进去了。

3.接下来我们配置Global OpenOCD Path

点击右侧Browse... 找到D盘-GNU_MCU-OpenOCD-bin文件夹路径,然后确认,如上图,bin文件路径已经正常添加进去了。

4.继续配置Global QEMU Path

点击右侧Browse... 找到D盘-GNU_MCU-QEMU-bin文件夹路径,然后确认,如上图,bin文件路径已经正常添加进去了。

最后点击Apply and Close,关闭页面。

基于Arm核的相关工具链的配置到这里就结束了。

如上我们已经完成了多有的工具链的配置工作,我们进行是全局配置,所以当具体新建某个工程的时候,会自动引用这个配置,当然你可以在具体工程中对其进行更改。

截至到这一步,我们已经基本上完成了基于arm架构的Eclipse C 语言开发环境搭建工作。

四,CMSIS Pack 下载与配置

由于不同厂商Arm芯片的底层外设以及配置是不一样的,为了能在Eclipse 能支持对应芯片的开发,我们需要安装我们的目标芯片,下载对应的CMSIS Pack。

方法一:打开Eclipse-点击如下图按钮(若是镜像网站下载的IDE的安装包,好像找不到CMSIS Packs这个文件)

点击下图刷新按钮:

刷新完成,在右侧Devices选择单片机厂商以及系列,在右侧选择下载对应的pack.

方法一下载pack包,速度非常慢,我下载的时候好像就是因为网速特别慢直接报错了,所以推荐用方法二下载pack包

方法二:由于网络限制,方法一很难完成,附上网盘链接:

链接:https://pan.baidu.com/share/init?surl=KuijjdaY58QMSoRRbntWdg

提取码:1111

安装好pack文件好,记住安装路径,然后打开eclipse-Window-Perference-C/C++-MCU Packages

将package folder中的路径改成你的安装路径。

如果用的是ST系列的,eclipse新建工程时是有模板的,比较方便,但是如果用的不是ST系列的芯片,就需要创建空的模板,自己进行配置,接下来会继续讲到。

五,下载与调试工具配置

1,初次启动Eclipse时,第一步就是创建一个工作空间(workspace)

点击“Launch”后,就在F盘根目录下创建了一个名为eclipse-workspace的文件夹,该文件夹就是Eclipse的工作空间。至此工作空间创建完成。随之进入如下界面。

2,新建工程

打开Eclipse找到“C/C++ Project”进行工程创建(File → New → C/C++ Project),如下图所示:

选择classic c project,选择完后点next

点击NEXT后进入如下界面,若用的是ST芯片,下面有模板可以直接使用,比较方便,但是如果不是ST的模板就需要创建空模板,project name 给工程起个名字,user default location 为使用默认地址,取消勾选后,可以自己选择工程地址,project type 选择empty project,toolchains选择arm cross gcc。

完毕后选择下一步,勾选debug和release后,选择下一步。

根据你的gnu mcu安装在哪,选择相应路径的bin文件夹即可,完毕后点完成。

点“Finish”完成工程的创建,该空白工程只有一些工具链的包含信息,剩下的还需要自己去完善,如下图所示:

两个重要的文件分别是:.S文件(启动文件)和.ld文件(链接脚本文件),这两个文件必须是基于Eclipse平台下能够使用的,需要根据自己当前使用的芯片去查找,若我们使用的华大的芯片,可以通过华大提供的SDK开发包中进行查找。

3.添加相关文件

在工程目录下创建“文件夹”(如下图所示):

文件可以创建多层;

文件夹是.project下的文件夹,与源文件的文件夹没有任何关系,创建文件时可以创建“虚拟文件夹”。

将源文件导入到相应的文件夹中:

导入文件时,要勾选创建“软链接”,而非直接将源文件夹导入到工程中来。

创建完文件夹后,需要往文件夹导入文件,选中刚创建的文件夹,右键,选择Import...

选中file system选项,点击下一步。

根据自己想导入的文件的位置,在from directory中选中路径,选择文件导入即可。

文件导入完毕后如图

4.修改配置信息:

进入工程属性对话框,如下图所示:

确定内核信息是否匹配,如果不匹配根据自己当前情况进行修改,如下图所示:

代码优化等级,如下图所示:

勾选必要的告警信息,如下图所示

修改调试等级:

增加与芯片库有关的宏定义,如下图所示:

增加头文件路径(这里是相对.project工程文件的相对路径),如下图所示:

添加链接脚本(对应ARMCC的分散加载文件xxx.sct),如下图所示:

选中下图的两个选项,不然编译的时候会报错:exit.c:(.text.exit+0x18): undefined reference to `_exit'

打开默认生成bin文件,如下图所示:

选择make工具的来源:选择内部make

勾选“Create extended listing”,这样编译代码的时候自动生成汇编文件,如下图所示:

至此,主要的配置工作已经完成,此时可以编译工程了。

六,编译工程:

编译工程的方式可以有如下几种:

  • 选中待编译的工程,鼠标右键,选中“ Build Project”,如下图所示;
  • 选中待编译的工程,选择 Project → Build Project,即可编译当前工程;
  • 选择 Project → Build All,即可编译当前打开的所有工程

调试工程:

在程序的开发阶段,工程调试是必须的。下面就介绍一下通过JLink进行在线调试的的方法。

选中待调试的工程,选中“绿色调试按钮(小虫子形状)”按钮,选“Debug Configurations…”

双击“ GDB SEGGER J-Link Debugging”就可自动出现“ HC32F4A0_LED_Demo Debug” 调试文件,如下图所示。

工程的名字一般不需要修改(如果想修改,也可以)。这里主要配置” Main“、‘”Debugger“、” Startup“ 这三个界面。

Main界面

Project:自动选中了待调试的工程,不需要修改;

C/C++ Application:待调试的应用程序,需为elf文件,这个是自动选中的,不需要修改;(只有编译通过才会自动选中)

Debugger界面

  • Device name:选择待调试的芯片型号,因为这里是通过JLink调试工程,所以这里必须与JLink驱动中的芯片型号名字完全一致才行(若对名称是否一致产生怀疑,可以去SEGGER官网搜索,里面有详细的展示,附上链接
  • https://www.segger.com/downloads/supported-devices/),有的jlink不支持一些芯片,这样的话需要自己去添加芯片,具体步骤网上有教程,此处不展开说明,也有一些芯片需要联系芯片厂商下载补丁,比如我目前使用的hc32l021,联系了厂商打了补丁之后,DEBUG才没有报错。如果实在都不行,也可以在这里输入芯片内核架构,比如Cortex-M0+,但是这样填入需要搭配官方提供的flash算法(一般是.flm文件)来进行烧录程序。
  • Endianness:大小端模式选择(一般为小端模式);
  • Connection:连接方式选择,通过Jlink调试时,选择的时USB连接;
  • Interface:根据实际情况自行选择;
  • Initial speed:通信速率,这个也根据自身情况选择即可;
  • 其他参数:保持不变即可;

Startup界面

Set breakpoint at:调试时,断点处,这里Debug之后在main入口停住;

其他参数:保持不变即可;

至此完毕。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 14:23:51

Agent 入门实战(下篇):微观篇——动手构建你的第一个 Agent

宏观的“地图”看完了,现在该自己变成司机,上路跑一跑。下篇我们就用 OpenAI Agents SDK 来动手构建一个 Agent,同时穿插对比其他框架的习惯,帮你建立“手感”。看完这篇,你就能写出一个可运行的 Agent,并对…

作者头像 李华
网站建设 2026/7/3 4:24:46

Sunshine游戏串流服务器:如何用开源技术打造你的个人游戏云

Sunshine游戏串流服务器:如何用开源技术打造你的个人游戏云 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想象一下这样的场景:你正躺在客厅的沙发上&…

作者头像 李华
网站建设 2026/7/3 5:29:11

终极指南:3分钟解决Windows与iPhone USB网络共享驱动问题

终极指南:3分钟解决Windows与iPhone USB网络共享驱动问题 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_…

作者头像 李华
网站建设 2026/7/2 16:54:19

从内核到用户态:Rust 系统编程的安全边界与最佳实践

从内核到用户态:Rust 系统编程的安全边界与最佳实践一、系统编程的信任链:内核接口与安全抽象 系统编程的核心是与操作系统内核交互:文件 IO、网络通信、进程管理、内存映射。这些操作通过系统调用(syscall)完成&#…

作者头像 李华
网站建设 2026/7/3 5:33:30

A股代码与公司名称映射全解析:从000001到900957

1. A股代码编排规则解析 A股市场的股票代码看似随机排列,实则暗藏玄机。这套数字编码系统从上世纪90年代沿用至今,已经成为中国资本市场的独特标识。理解代码编排规律,就像掌握了一把打开A股大门的钥匙。 目前A股代码采用6位数字编码&#xf…

作者头像 李华
网站建设 2026/7/3 10:59:39

从TVOC到CO2:模拟监测模块的规格解析与应用指南

1. 从TVOC到CO2的转换原理揭秘 第一次接触这种用TVOC传感器模拟CO2数值的方案时,我和很多工程师一样充满疑问:这玩意儿靠谱吗?实测下来发现,这种方案在智能家居领域确实是个性价比极高的选择。它的核心原理是通过检测空气中总挥发…

作者头像 李华