欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

STM32CUBEMX+Eclipse构建项目过程

程序员文章站 2022-06-23 20:19:42
STM32CUBEMX+Eclipse构建项目过程前言准备0.jre或者jdk1.STM32CubeMX安装2.eclipse安装3.CDT4.Eclipse Embedded插件5.GNU ARM交叉编译器6.Jlink驱动创建工程1.创建STM32CUBEMX工程2.导入Eclipse工程3.下载程序4.仿真调试5.添加源文件6.修改RAM/ROM偏移前言相信很多使用过STM32的开发者都对KEIL和 IAR非常熟悉了,网上也很容易找到他们的破解版,为什么我不想用?就是因为Eclipse可扩展性强,...

前言

相信很多使用过STM32的开发者都对KEIL和 IAR非常熟悉了,网上也很容易找到他们的破解版,为什么我不想用?就是因为Eclipse可扩展性强,跨平台,功能丰富,使用灵活,Eclipse是免费开源软件,而KEIL和 IAR都是收费软件,且都是国外公司开发的,在这一领域中国一直是弱势,随着中国加入RCEP,版权意识必然会越来越引起重视(律师函警告)。 STM32CUBEMX+Eclipse构建项目过程
其实ST官方也提供了免费的IDE: TrueStudio,它是基于Eclipse内核开发的,集成度高,更易于上手,TrueStudio具有完整的嵌入式软件开发功能,且是针对STM32定制的,如果你觉得自己配置Eclipse环境比较麻烦,TrueStudio确实是不错的选择,所以这篇文章只面向那些有一定开发经验并且喜欢折腾的玩家,没有困难,创造困难也要上!

准备

硬件: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

STM32CUBEMX+Eclipse构建项目过程

3.CDT

打开eclipse–>帮助–>安装新软件–>添加路径:https://download.eclipse.org/tools/cdt/releases/10.0
STM32CUBEMX+Eclipse构建项目过程

4.Eclipse Embedded插件

帮助–>eclipse–>marketplace, 输入gnu arm或Eclipse Embedded 搜索,第一个安装STM32CUBEMX+Eclipse构建项目过程

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
STM32CUBEMX+Eclipse构建项目过程
保存,GENERATE CODE生成代码,记住生成的目录,关闭cube。

2.导入Eclipse工程

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

STM32CUBEMX+Eclipse构建项目过程
右键项目属性–>工具链编辑器STM32CUBEMX+Eclipse构建项目过程
项目–>全部构建进行编译,正常情况下编译成功是0错误,0警告。STM32CUBEMX+Eclipse构建项目过程

3.下载程序

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

4.仿真调试

需要创建一个 J-Link Debug Configuration
打开 Run -> Debug Configurations…
双击 GDB SEGGER J-Link Debugging
STM32CUBEMX+Eclipse构建项目过程
切换debugger选项,设置jlink路径
STM32CUBEMX+Eclipse构建项目过程
下滑,设置GDB路径
STM32CUBEMX+Eclipse构建项目过程
其他选项使用默认设置。设置完成后就可以对MCU进行单步调试了

5.添加源文件

用这种方式建立的工程,不能像KEIL一样通过组织文件管理添加源文件,而是在Makefile里面声明,如在C_SOURCES后面添加源文件名,在C_INCLUDES后面添加头文件路径
STM32CUBEMX+Eclipse构建项目过程

STM32CUBEMX+Eclipse构建项目过程

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
STM32CUBEMX+Eclipse构建项目过程

本文地址:https://blog.csdn.net/Acquila/article/details/110085083