STM32CUBEMX+Eclipse构建项目过程

前言

刚才有个朋友问我,***发生甚么事了,我说怎么回事,给我发了一张截图:破解版KEIL的证书于2020年9月份过期了
我一看,哦,原来是昨天,破解版KEIL的证书于2020年9月份过期了,他说他一直用KEIL练代码,把头发练没了,问我能不能教教他搭建Eclipse的开发环境,救救他的头发,我说可以,我说你用KEIL练四劲儿不好用,他不服气,非要和我比试,我说可以,他啪一下就站起来了,很快啊!上来就是一个KEIL, 一个IAR,我全部防出去了啊,放出去以后自然是以传统Coding点到为止,我手指头放在键盘上没有按下去,因为按照传统Coding点到为止他已经输了,他自己也承认他输了,在我收键盘的时间不打了他突然袭击,我大E了啊,没有闪(现),给我shift+delete键蹭了一下,当时流眼泪了捂着电脑我说婷婷,这个年轻人不讲武德,来骗,来偷袭我一个29岁的老同志,这好吗?这不好,我劝这位年轻人耗子尾汁,好好反思,不要犯这样的聪明,小聪明啊,谢谢朋友们。

准备

硬件:STM32F103开发板,Jlink
软件:Jlink 版本6.0,stm32cubemx版本6.0, eclipse版本2020q3

0.jre或者jdk

Java运行库

1.STM32CubeMX安装

STM32Cube initialization code generator

2.eclipse安装

eclipse-inst-jre-win64.exe
首先下载安装器–>打开–>选择eclipse IDE for c/c++ developers

在这里插入图片描述

3.CDT

打开eclipse–>帮助–>安装新软件–>添加路径:https://download.eclipse.org/tools/cdt/releases/10.0
一路下一步,完成

4.Eclipse Embedded插件

帮助–>eclipse–>marketplace, 输入gnu arm或Eclipse Embedded 搜索,第一个安装在这里插入图片描述

5.GNU ARM交叉编译器

gcc-arm-none-eabi-9-2020-q2-update-win32.zip
下载,解压到任意目录,我的是D:\eclipse\gcc-arm-none-eabi-9-2020-q2-update-win32,记住这个位置

6.Jlink驱动

创建工程

1.创建STM32CUBEMX工程

关于如何使用STM32CUBEMX配置时钟与引脚,这里不做赘述,初学者可以移步ST官网或论坛查找相关资料。需注意工程输出的IDE/toolchain选择Makefile
在这里插入图片描述
保存,GENERATE CODE生成代码,记住生成的目录,关闭cube。

2.导入Eclipse工程

首先添加交叉编译器到eclipse:窗口–>首选项–>MCU–>所有编译器路径改为gcc-arm-none-eabi交叉编译器所在的路径,我的是D:\eclipse\gcc-arm-none-eabi-9-2020-q2-update-win32\bin,视具体情况而定在这里插入图片描述
文件–>新建项目–>Makefile project with existing code;
Existing code location选择上一步生成 代码的目录;

在这里插入图片描述
右键项目属性–>工具链编辑器在这里插入图片描述
项目–>全部构建进行编译,正常情况下编译成功是0错误,0警告。在这里插入图片描述

3.下载程序

编译完成后/build文件夹下面会自动生成*.bin, *.hex文件,将其下载到MCU上(具体方法有很多,我这里用的是jflash,因为在eclipse没有找到可以下载hex/bin的地方o(╯□╰)o,有高手找到的话麻烦指教一下,感谢)

4.仿真调试

需要创建一个 J-Link Debug Configuration
打开 Run -> Debug Configurations…
双击 GDB SEGGER J-Link Debugging
在这里插入图片描述
切换debugger选项,设置jlink路径
在这里插入图片描述
下滑,设置GDB路径
在这里插入图片描述
其他选项使用默认设置。设置完成后就可以对MCU进行单步调试了

5.添加源文件

用这种方式建立的工程,不能像KEIL一样通过组织文件管理添加源文件,而是在Makefile里面声明,如在C_SOURCES后面添加源文件名,在C_INCLUDES后面添加头文件路径
在这里插入图片描述

在这里插入图片描述

6.修改RAM/ROM偏移

对于需要IAP功能并且自己写BootLoader的玩家, 可以通过修改工程目录下的***FLASH.ld文件重新定义RAM和ROM的起始地址,比如我使用的是STM32F103RCTx芯片,48K RAM, 256K ROM。
BootLoader地址:0x8000000
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 16K
应用程序地址:0x8004000
RAM (xrw) : ORIGIN = 0x20001000, LENGTH = 44K
FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 100K
在这里插入图片描述

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值