[活动专区] N32G430开发板试用+eclipse+gcc开发环境搭建

[复制链接]
2548|20
 楼主| cuf_1798 发表于 2022-7-28 21:31 | 显示全部楼层 |阅读模式
1.1准备工作
下载 Eclipse IDE for Embedded C/C++ Developers,
参考链接:Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 350 rId5 projects...
下载交叉编译工具链gcc-arm-none-eabi
参考链接:Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer
下载Build 工具
参考链接:The xPack Windows Build Tools releases | The xPack Build Framework
安装过程不做详细描述。
1.2建立一个工程(验证准备工作)
本文使用的MCU为国民科技n32g430c8l7。
与Keil不同的是Eclipse开发MCU需要一个.ld文件,设备gcc的启动文件,其他文件都是通用的。由于习惯了使用STM32CubeIDE,所以文件目录结果模仿其生成的目录结构。
eb485851680d73a8791064c55219cce4
图1
b65752b4c4a4e98bf76dc76b05c8ca7b
图2
新建C/C++工程,见图1、2
输入工程名称、选择工程模板、选择编译工具链如图3所示。
20ff592ec87b1cce6e29b4459c99583a
图3
选择工具链名称和路径,路径为准备工作中编译工具链安装路径。
f387bece8216dc9323565fb50b712bf7
图4
新建Core目录用于存放项目初始化代码和main函数及启动代码。
Core目录中新建Src子目录存放外设初始化和main函数源码。
Core目录中新建Inc子目录存放外设初始化和main函数头文件。
Core目录中新建Startup目录用于存放,项目适用芯片的gcc启动文件。
新建Drive目录,其目录内新建CMSIS和Peripheral目录用于存放,CMSIS文件和标准 外设库。
1d28a6efb436341c6091ad702dcfacac
图5
将标准外设库源文件和头文件拷贝到..Drive/Peripjeral目录下
将CMSIS头文件拷贝到../Drive/CMSIS/inc目录下。见图6忽略错误。
0105a20d2eb45405169e881afb233e3e
图6
将启动文件startup_n32g430_gcc.s拷贝到..Core/Startup目录下。
n32g430_flash.ld拷贝到项目根目录下。
将system_n32g430.h、n32g430_conf.h、n32g430.h拷贝到..Core/Inc目录下。
将system_n32g430.c拷贝到..Core/Src目录下。
将gcc例程GPIO工程中的bsp_delay.c ,bsp_led.c,ng32g430_it.c和main.c拷贝到..Core/Src目录下。
将gcc例程GPIO工程中的bsp_delay.h ,bsp_led.c,ng32g430_it.h和main.h拷贝到..Core/Inc目录下。
此时编译有图7下错误
a71c41b6b5739fd6e7e3a323861a661c
图7
原因没有设置头文件路径。
设置头文件路径参考图8
b4c1d3a69335d2bd3aa74c4f91a5102e
图8
再次编译出现如图9下错误。注意languages 选项中选择GNU C因为我们的头文件都是C语言的头文件不是汇编语言的,初次搭建环境时这里就遇到了问题。
f3284d5656b1bbe36e04e22ded8f7e54
图9
原因是没有添加.ld脚本文件路径。添加方法参考图10
ddd20674ebf85dc007a6c4192b9f07e3
图10
此时编译 Build Finished. 0 errors, 1 warnings. (took 611ms)。0errors是不是我们已经成功了,但是一个严重强迫症患者我是不允许有着一个1 warnings。
85dde5a5cef3dadaf637cade5c1ffe17
图11
警告内容: cannot find entry symbol Reset_Handler; defaulting to 08000000Chapter_1 C/C++ Problem,我猜问题应该在启动文件。
设置启动文件路径,具体操作参考图12
f12a04e3d8fde340f684909120969058
图12
因为启动文件是汇编语言编写的所以路径,语言选择汇编。
此时再次编译,20:54:26 Build Finished. 0 errors, 0 warnings.到这里貌似大功告成。
补充如何生成不同格式的固件文件文件参考图13
9c165e8f6302f6fb652c639ea285368a
至此Eclipsegccmcu编译环境搭建完毕。
ab77694a354f8f3dee57dd59a77800b7
图14

下期预告,gcc+eclipse+pyocd调试n32g430c8l7







chapter_1.zip

3.96 MB, 下载次数: 20

foxsbig 发表于 2022-8-22 21:09 | 显示全部楼层
不错,顶一下
 楼主| cuf_1798 发表于 2022-8-23 07:57 | 显示全部楼层
感谢认可
Lupit 发表于 2023-4-14 10:50 | 显示全部楼层
编译配置还有什么特别要注意的吗为什么我设置了启动文件路径还是报警告...
jobszheng 发表于 2023-4-14 11:37 | 显示全部楼层
这是keil 需要授权吗?!
 楼主| cuf_1798 发表于 2023-6-30 08:09 | 显示全部楼层
这不是Keil,开源的开发环境
 楼主| cuf_1798 发表于 2023-6-30 08:09 | 显示全部楼层
jobszheng 发表于 2023-4-14 11:37
这是keil 需要授权吗?!

这不是keil,免费的开发环境
 楼主| cuf_1798 发表于 2023-6-30 08:10 | 显示全部楼层
Lupit 发表于 2023-4-14 10:50
编译配置还有什么特别要注意的吗为什么我设置了启动文件路径还是报警告... ...

启动文件.s改成大写的.S试试
georgeliu2016 发表于 2023-6-30 11:59 | 显示全部楼层
为啥不用keil开发呢。
 楼主| cuf_1798 发表于 2023-6-30 12:03 | 显示全部楼层
商用要买版权的
 楼主| cuf_1798 发表于 2023-6-30 12:04 | 显示全部楼层
georgeliu2016 发表于 2023-6-30 11:59
为啥不用keil开发呢。

不免费
yangxiaor520 发表于 2023-7-1 11:34 来自手机 | 显示全部楼层
国民的MCU应用还是挺广的
wwppd 发表于 2023-7-5 13:37 | 显示全部楼层
谁用eclipse+GNU C写过N32G430
jonas222 发表于 2023-7-5 15:18 | 显示全部楼层
如何利用Eclipse C/C++搭建嵌入式ARM开发环境

评论

这个教程就是呀  发表于 2023-8-22 20:21
janewood 发表于 2023-7-5 15:40 | 显示全部楼层
keil 5 了 已经比较好用了
usysm 发表于 2023-7-5 15:47 | 显示全部楼层
常用的其实就是KEIL 和IAR
kkzz 发表于 2023-7-5 21:42 | 显示全部楼层
用eslipse搭建arm开发环境需要安装哪些插件

评论

十八楼说的对  发表于 2023-8-22 20:23
mmbs 发表于 2023-7-6 11:23 | 显示全部楼层
下载并安装GNU ARM工具链,该工具链提供了适用于ARM Cortex-M处理器的编译器、链接器和调试器等工具。
jiahy 发表于 2023-8-22 20:48 | 显示全部楼层
jobszheng 发表于 2023-4-14 11:37
这是keil 需要授权吗?!

不是Keil
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

22

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部