使用Eclipse搭建STM32嵌入式开发环境

news2024/10/7 8:20:33

1. Eclipse 软件和相关工具的安装

使用 Eclipse 开发 STM32 等嵌入式软件项目时,需要安装的软件或者工具有:

  • Eclipse 软件本身,eclipse-inst-jre-win64.exe
  • 交叉编译工具链,gcc-arm-none-eabi-10.3-2021.10-win32
  • make 构建工具,用于自动生成 makefile 文件
  • openocd 调试工具,用于下载或者调试代码
  • J-Link 驱动(如果有则不用安装)

下面一一介绍安装这些工具。

1.1 安装Eclipse

Eclipse是一个开放源代码的、基于Java的可扩展的开发平台。它只是一个框架和一组服务,通过添加各种插件来搭建开发环境(这点和VS Code有点像),因此只要添加了C/C++等语言的开发插件,就可以作为C/C++等其它语言的开发环境。

对于嵌入式开发,我们下载的版本是 Eclipse IDE for Embedded C/C++ Developers ,可以通过下面的连接下载:

https://www.eclipse.org/downloads/packages/release/2020-12/r/eclipse-ide-embedded-cc-developers

下载完成之后,我们双击打开软件,下面是安装过程介绍:

1、双击打开 eclipse-inst-jre-win64.exe 程序,然后选择 Eclipse IDE for Embedded C/C++ Developers 版本进行安装。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyjR0GEq-1668914120056)(../picture/image-20221119103834701.png)]

2、选择安装路径,然后点击安装。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-29JTNrmy-1668914120057)(../picture/image-20221119104643295.png)]

3、安装完成,点击 Launch 首次启动 Eclipse。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqRm3e18-1668914120058)(../picture/image-20221119110422938.png)]

4、首次启动后的界面选择:

首次启动 Eclipse ,会出现下面的界面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aE47DBjQ-1668914120058)(../picture/image-20221119111428897.png)]

  1. 这里让我们选择 Eclipse 的工作空间路径,以后使用 Eclipse 创建的项目,都会自动创建在这个文件夹下面。默认路径是在C盘的用户目录下的,这里我修改为D盘存放。
  2. Use this as the … 这个选项框不要勾选,这样以后我们想改变工作空间所处的文件夹不用浪费时间
  3. 最后点击 Launch 即可打开 Eclipse 界面了。

5、首次启动后,界面如下,会弹出欢迎的界面,我们直接关闭即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHW8fcKB-1668914120058)(../picture/image-20221119112342501.png)]

1.2 安装交叉编译工具链

交叉编译工具链可直接到ARM官网下载。下载链接如下:

https://developer.arm.com/downloads/-/gnu-rm

打开官网,拉到下面可以看到下载所需的软件,有windows、linux、mac os的。我们选择第一个即可:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kP1eTVm4-1668914120059)(../picture/image-20221119143223613.png)]

说明:当然下载 .exe 可执行程序或者 .zip 压缩包都可以的,压缩包的话解压出来也是一样的。

下载完之后,我们把它解压或者安装到某个目录即可(最好把Eclipse用到的所有工具都安装或解压在一个目录下,这样方便管理和查找)。然后需要指定环境变量,让Eclipse可以识别到交叉编译工具链的路径。

1.3 安装make构建工具

make工具主要的作用是自动生成makefile文件,当然 CDT 内嵌的make工具也可以实现,但是建议使用外部make工具,编译速度更快。

make 工具官网:

https://xpack.github.io/windows-build-tools/

下载地址:

https://github.com/xpack-dev-tools/windows-build-tools-xpack/releases/

打开下载的网址,点击下面的版本下载:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cwH49k7A-1668914120059)(../picture/image-20221119142250187.png)]

下载完之后,make工具其实就是一个压缩包,我们把它解压到和交叉编译工具链同样的目录下,以便备用(后续创建工程时,需要指定make工具路径)。

1.4 安装调试工具openocd

openocd ,即 Open On-Chip Debugger ,其实就是一款开源的GDB调试工具,是我们调试代码时需要用到的工具,它可以支持很多调试工具(ST-LINK, JLINK, DAP-LINK等等)在线调试。

我们可以到他的官网下载。

https://openocd.org/pages/getting-openocd.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tAAIAsyR-1668914120059)(../picture/image-20221119233751689.png)]

然后点击跳转的 github 界面进行下载:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4XxDYgp-1668914120060)(../picture/image-20221120094842188.png)]

下载完之后其实也是一个压缩包,解压到上面工具的同一个文件夹里,以便后面创建Eclipse STM32项目的时候备用。

1.5 J-Link驱动安装

如果使用的是J-Link调试器的话,需要安装J-Link驱动。可以到J-Link官网下载:

https://www.segger.com/downloads/jlink/

正版J-Link调试器是比较贵的,最新版本的J-Link驱动可以识别出我们使用的调试器是否是盗版,然后每次调试的时候就会弹出一个警告对话框,非常麻烦。

在这里插入图片描述

所以可以选择相对老版本的J-Link驱动。

下载完一路默认安装就行。

到这里软件和一些必要的工具全部准备完毕。

2. Eclipse新建STM32工程,环境配置

2.1 新建STM32工程

1、新建工程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LY918uLE-1668914120060)(../picture/image-20221120101643582.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ti2NM9B4-1668914120060)(../picture/image-20221120101759329.png)]

2、选择芯片项目类型、编译工具等。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UduUS6wZ-1668914120060)(../picture/image-20221120102330465.png)]

3、配置芯片信息,Flash大小,板子外接晶振频率等,这些信息是用来自动生产对应的链接脚本文件的,以及一些配置宏定义。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QJiodIiC-1668914120061)(../picture/image-20221120103011277.png)]

4、定义项目文件夹,这里默认即可,不过管。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHnd4qBQ-1668914120061)(../picture/image-20221120103221252.png)]

5、指定本项目的交叉编译工具链路径。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HtUAryYJ-1668914120061)(../picture/image-20221120103652123.png)]

最后点击完成,即可创建 Eclipse STM32工程完成,这个时候会自动生成一些代码。

2.2 Eclipse环境配置

这个时候,如果我们对新建的项目进行编译的话,会提示一些保报错,说钟爱不大make工具,这个是因为还没有进行一些必要的环境配置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7um7BgBY-1668914120062)(../picture/image-20221120104337567.png)]

下面还需要进行一些环境的配置。

1、进入属性配置界面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dyM7hVpP-1668914120062)(../picture/image-20221120104555604.png)]

2、使能多线程编译。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jUOkNVes-1668914120062)(../picture/image-20221120105012931.png)]

3、使用外部的make构建工具,且指定该工具的路径。

一般来说是默认使用了外部的make构建工具的,所以我们只要指定make工具路径即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y1ICFfQc-1668914120063)(../picture/image-20221120105250356.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SbusdRh3-1668914120063)(../picture/image-20221120105545602.png)]

如果是内部构建工具,那么就选择 CDT Internal Builder. 上面这两个选项一般都是默认选择了外部构建工具的,所以我们检查一些是不是就好了。

下面就需要指定外部make工具的路径了,指定到bin目录下。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4actnjYv-1668914120063)(../picture/image-20221120105918491.png)]

3. 编译Eclipse STM32项目

上面的配置搞完之后,没有错误的话一般就可以编译通过了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tUEQ24IL-1668914120064)(../picture/image-20221120110355144.png)]

然后点击那个锤子进行编译工程,结果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4foPtTtR-1668914120064)(../picture/image-20221120110450970.png)]

提示已经编译成功,但是有一个警告,这个是因为 Eclipse 创建STM32项目自动生成的代码输出的警告。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mZrMVoy-1668914120064)(../picture/image-20221120110616834.png)]

如果我们检查系统时钟配置没有问题的话,可以注释掉即可。

到这里就已经搞定了Eclipse 的STM32项目创建了。那么我们怎么使用Eclipse进行调试和下载程序到STM32呢,我们前面下载的 openocd 工具不是还没用上吗?

下面的文章接着介绍怎么使用 openocd 调试下下载程序到STM32。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux读写锁

这里写目录标题读写锁的认识读写锁的相关函数练习读写锁的认识 (1)读写锁是一把锁 (2)读写锁的类型: pthread_rwlock_t lock 又分“读锁”(对内存进行读操作)和“写锁”(对内存进行…

【数据结构Note5】- 树和二叉树(知识点超细大全-涵盖常见算法 排序二叉树 线索二叉树 平衡二叉树 哈夫曼树)

文章目录5.1 树和二叉树引入5.1.1 树的概念5.1.2 树的表示5.1.3 树中基本术语5.1.4 树的表示5.2 二叉树5.2.1 概念5.2.2 二叉树的性质5.2.3 特殊的二叉树5.2.4 二叉树的顺序存储5.2.5 二叉树的链式存储5.2.6 二叉树的深度优先遍历(递归)5.2.7 二叉树的遍…

[MQ] 死信队列介绍与场景描述

✨✨个人主页:沫洺的主页 📚📚系列专栏: 📖 JavaWeb专栏📖 JavaSE专栏 📖 Java基础专栏📖vue3专栏 📖MyBatis专栏📖Spring专栏📖SpringMVC专栏📖SpringBoot专…

Js逆向教程-11常见混淆AA和JJ

Js逆向教程-11常见混淆AA和JJ js默认 支持Unicode的。 所以支持所有的国家语种。 有没有哪些国家的和O很像但不是O,和0很像但不是0,和p很像但不是p 所以可以用这个相近的符号进行代码混淆。 var O00OO,o00oo;一、AA混淆和OO混淆 https://www.sojson.com/aaencode.html 这个…

Docker guide

前言 docker学习记录&#xff0c;内容参考 Docker Training Course for the Absolute Beginner Basic Command docker pull <Image:只是下载image&#xff0c;不会运行docker run <Image>:启动image实例&#xff0c;如果image不在docker host上&#xff0c;docker会…

【长难句分析精讲】状语从句

1. 状语从句九大类 时间状语从句&#xff1a;after / before / when / while / as / since / once / until地点状语从句&#xff1a;where原因状语从句&#xff1a;because / as / for / since让步状语从句&#xff1a;though / although / even if even though / while / as…

[Spring Cloud] Eureka Server安装

✨✨个人主页:沫洺的主页 &#x1f4da;&#x1f4da;系列专栏: &#x1f4d6; JavaWeb专栏&#x1f4d6; JavaSE专栏 &#x1f4d6; Java基础专栏&#x1f4d6;vue3专栏 &#x1f4d6;MyBatis专栏&#x1f4d6;Spring专栏&#x1f4d6;SpringMVC专栏&#x1f4d6;SpringBoot专…

ARM仿真器J-Link灯不亮的解决办法

感慨&#xff1a; 网络世界真是越来越封闭了啊&#xff0c;下载东西越来越难。 解决问题会越来越难。 解决仿真器Jlink灯不亮这个问题用了一下午..... 步骤&#xff1a; &#xff08;弯路&#xff1a;windows安装AT91-ISP&#xff0c;发现SAM_PROG v2.4加载bin后不能点击Write…

Android Camera性能分析 第23讲 录像Buffer Path实战和Trace分析

​ 本讲是Android Camera性能分析专题的第23讲&#xff0c;我们介绍录像Buffer Path实战和Trace分析&#xff0c;包括如下内容&#xff1a; Video Codec MediaRecorder.getSurface录像Buffer Path Trace分析Video Codec2 MediaRecorder.getSurface录像Buffer Path Trace分析…

java计算机毕业设计组成原理教学网站(附源码、数据库)

java计算机毕业设计组成原理教学网站&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

手把手教你搭建K8S集群

搭建前提条件&#xff1a;VMare16pro CentOS-7-x86_64-DVD-2009.iso镜像文件&#xff0c; 远程连接工具Xshell或者MobaXterm 首先创建三台centos7的虚拟机&#xff0c;装虚拟机的话大家可以参照网上资料&#xff0c;非常容易。 使用 kubeadm 安装 Kubernetes 集群 1&#…

通关算法题之 ⌈二叉树⌋ 下

填充每个节点的下一个右侧节点指针 116、填充每个节点的下一个右侧节点指针 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node {int val;Node *left;Node *right;Node *next; }填充…

手机短信注册验证与登录功能

文章目录一、前言二、准备工作三、发布短信1、基本测试发布①可-使用测试模板进行调试②测试结果③注意&#xff0c;可能会调试失败&#xff0c;是因为没有余额。进入首页点击头像>进入余额充值&#xff1b;一条大概4分钱④创建SpringBoot项目demo2、可自定义模板&#xff0…

[acwing周赛复盘] 第 78 场周赛20221119

[acwing周赛复盘] 第 78 场周赛20221119 一、本周周赛总结二、4719. 商品种类1. 题目描述2. 思路分析3. 代码实现三、4720. 字符串1. 题目描述2. 思路分析3. 代码实现四、4721. 排队1. 题目描述2. 思路分析3. 代码实现六、参考链接一、本周周赛总结 这周蛮简单的。T2 栈的应用…

Kafka - Kafka应用场景|基础架构|Windows安装|命令行操作

文章目录1. 消息队列的应用场景2. 消息队列的两种模式3. Kafka 的基础架构4. Kafka 的安装5. Kafka 命令行操作1. 主题命令行操作2. 生产者命令行操作3. 消费者命令行操作1. 消息队列的应用场景 传统的消息队列的主要应用场景包括&#xff1a;缓存/消峰、解耦和异步通信。 ①…

Packet Tracer - 配置多区域 OSPFv3

地址分配表 设备 接口 IPv6 地址 OSPF 区域 RA G0/0 2001:DB8:1:A1::1/64 1 G0/1 2001:DB8:1:A2::1/64 1 S0/0/0 2001:DB8:1:AB::2/64 0 本地链路 FE80::A 不适用 RB G0/0 2001:DB8:1:B1::1/64 0 S0/0/0 2001:DB8:1:AB::1/64 0 S0/0/1 2001:DB8:1:BC:…

JVM运行时数据区域之PCRegister和虚拟机栈

运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据 区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启 动而一直存在&#xff0c;有些区域则是依赖用户线程的启动和结束而建立…

群晖NAS搭建WebDav服务,并内网穿透实现公网访问

WebDAV是基于HTTP协议的通信协议。适用于有些客户限制于其他协议&#xff0c;要求使用WebDAV协议进行数据传输的&#xff0c;下面是通过WebDAV协议来访问群晖NAS的设置教程。 1. 在群晖套件中心安装WebDav Server套件 点击打开套件中心&#xff0c;并搜索webdav&#xff0c;点…

性能测试-linux-top/vmstat/dstat命令,闭着眼睛也要背出来

目录 Linux系统差异化 Ubuntu安装应用 CentOS安装应用 Linux通用安装&#xff0c;tar.gz包 Linux系统帮助命令 help/man/info Linux系统中树状结构查看文件 Linux系统中文件类型区分与权限 Linux系统中都有哪些文件夹及其作用 Linux性能测试分析-TOP命令(重点) Linu…

NFV关键技术:DPDK技术栈在网络云中的最佳实践

本文篇幅有限&#xff0c;很难用短短几语就勾勒出DPDK的完整轮廓&#xff0c;概括来说&#xff0c;DPDK是一个技术栈&#xff0c;主要用于Intel架构的服务器领域&#xff0c;其主要目的就是提升x86标准服务器的转发性能。因此&#xff0c;本文只重点介绍DPDK平台部分技术在电信…