ifconfig · 2022年04月07日

【GD32F310开发板试用】eclipse开发环境

准备:

  1. Eclipse IDE for Embedded C/C++ Developers使用的版本是:Version: 2021-12 (4.22.0)
  2. 编译工具链:gcc-arm-none-eabi-9-2020-q2-update-win32
  3. 把工具链的路径,添加到eclipse的配置中
  4. GD32F310K的可运行的Demo,可移植keil中的工程。要把工程中的Firmware文件夹也复制到eclipse的工程中。
  5. 移植一个gcc版本的启动文件,文件名的扩展名要是大写的“S”。我是从一个STM32F4的芯片上移植过来的,也可以从GD32的其他的芯片上移植赤来,参考文章:https://aijishu.com/a/1060000...
  6. 移植一个ld链接文件,我也是从STM32F4的一个文件中移植过来的。

步骤:

新建一个工程,选择C Managed Build,把源代码复制到工程目录下。
右键工程名,进入设置工程界面。

芯片类型为M4
7.png

添加头文件路径

8.png

添加一些Symbols

9.png

设置链接文件的路径

10.png

都设置好后,就可以进行编译了。

11.png

添加串口与printf时,会有错。

12.png

对于printf 的重定向,在gcc中不再是fputc函数,而是_write函数,这里重新写一个_write函数。

int
_write (int fd, char *pBuffer, int size)
{
  for (int i = 0; i < size; i++)
    {
      while (RESET == usart_flag_get (EVAL_COM, USART_FLAG_TBE))
    ;
      usart_data_transmit (EVAL_COM, (uint8_t) pBuffer[i]);
    }
  return size;
}

并增加newlib-nano的支持

13.png

再编译后,没有错误。
通过GD_Link_Programmer下载的芯片上,运行正常。

14.png

问题

1、目前是缺少openocd的cfg文件,还无法使用openocd进行下载仿真。
2、不知道GDlink在设备管理器中是以哪种设备存在的,在里面找不到GDlink.
3、使用高版本的gcc编译器里的gdb时,会有缺少dll的问题,使用低版本就可以。

推荐阅读
关注数
10694
内容数
187
中国高性能通用微控制器领域的领跑者兆易创新GD系列芯片技术专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息