cuf_1798 发表于 2022-7-28 21:31

N32G430开发板试用+eclipse+gcc开发环境搭建

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,所以文件目录结果模仿其生成的目录结构。

图1

图2
新建C/C++工程,见图1、2
输入工程名称、选择工程模板、选择编译工具链如图3所示。

图3
选择工具链名称和路径,路径为准备工作中编译工具链安装路径。

图4
新建Core目录用于存放项目初始化代码和main函数及启动代码。
Core目录中新建Src子目录存放外设初始化和main函数源码。
Core目录中新建Inc子目录存放外设初始化和main函数头文件。
Core目录中新建Startup目录用于存放,项目适用芯片的gcc启动文件。
新建Drive目录,其目录内新建CMSIS和Peripheral目录用于存放,CMSIS文件和标准 外设库。

图5
将标准外设库源文件和头文件拷贝到..Drive/Peripjeral目录下
将CMSIS头文件拷贝到../Drive/CMSIS/inc目录下。见图6忽略错误。

图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下错误

图7
原因没有设置头文件路径。
设置头文件路径参考图8

图8
再次编译出现如图9下错误。注意languages 选项中选择GNU C因为我们的头文件都是C语言的头文件不是汇编语言的,初次搭建环境时这里就遇到了问题。

图9
原因是没有添加.ld脚本文件路径。添加方法参考图10

图10
此时编译 Build Finished. 0 errors, 1 warnings. (took 611ms)。0errors是不是我们已经成功了,但是一个严重强迫症患者我是不允许有着一个1 warnings。

图11
警告内容: cannot find entry symbol Reset_Handler; defaulting to 08000000Chapter_1 C/C++ Problem,我猜问题应该在启动文件。
设置启动文件路径,具体操作参考图12

图12
因为启动文件是汇编语言编写的所以路径,语言选择汇编。
此时再次编译,20:54:26 Build Finished. 0 errors, 0 warnings.到这里貌似大功告成。
补充如何生成不同格式的固件文件文件参考图13

至此Eclipsegccmcu编译环境搭建完毕。

图14

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




@安小芯


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开发环境

janewood 发表于 2023-7-5 15:40

keil 5 了 已经比较好用了

usysm 发表于 2023-7-5 15:47

常用的其实就是KEIL 和IAR

kkzz 发表于 2023-7-5 21:42

用eslipse搭建arm开发环境需要安装哪些插件

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
页: [1]
查看完整版本: N32G430开发板试用+eclipse+gcc开发环境搭建