本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:军军

写在前面:
很高兴获得这次试用机会,一直很想了解国内ARM MCU的发展,尤其是GD32系列的MCU。我也成功获得了第一次使用arm M4内核单片机的机会。
因为个人以后可能需要使用RT-Thread的一些功能在全国大学生智能车比赛中,遂决定做移植RT-thread的操作。

在我痛苦的移植过程中,我看见已经有其他开发者做出了标准版和nano的移植,我发现自己思路好像有些问题,遂部分参考,并且加以完善。争取以零基础视角完成这次移植工作

参考文章https://aijishu.com/a/1060000000372332

我收到的GD32F427RKT6开发板,好像有些人收到的GD32F427V。两者基本没有区别,包括内部存储等,好像开发板的电路略有区别,诸如gdlink的主控gd32f103一个贴正面一个贴反面

**准备工具:**keil(推荐5.34.0,因为是arm complier 5,6共存的版本)
Git(https://git-scm.com/)
Rt-thread env软件(https://www.rt-thread.org/download.html#download-rt-thread-studio)
可选工具:
Vscode(修改配置文件利器,https://code.visualstudio.com/)
Rt-thread studio(https://www.rt-thread.org/download.html#download-rt-thread-studio)
Pyocd 一种烧写工具
pip install pyocd
pyocd pack install gd32f427R
pyocd list

例程的使用

1、首先我们获取到一些官方库文件和例程

https://aijishu.com/a/1060000000356925

2、在keil pack管理器中导入GD32f4xx AddOn的pack

3、做一些配置 使之可以编译和下载

打开options for target
选择Device中查看是否有GD32F427RK
选择在debug设置中进行如下操作 选择CMSIS-DAP,打开JTAG 就可以愉快的debug了

4、随后对demo进行编译操作

GD32F4xx_Demo_Suites_V2.6.1\GD32427R_START_Demo_Suites\Projects,其中如果使用MDK5,需要使用project->manage->migrate to Version 5 Format方式转为MDK5
如果发现无法编译,可以将ARM complier切换为5版本

就可以看见led闪烁的demo已经通过GDLink被刷写进去了

5、随后可以选择打上断点,在debug里面进行调试

移植RT-thread

1、首先拉去RT-thread官方仓库

git clonehttps://gitee.com/rtthread/rt-thread
同时他们也在github上有仓库https://github.com/RT-Thread/rt-thread
仓库中已经有407的库文件,所以我们少量更改即可移植427

移植407的文档可供参考https://gitee.com/rtthread/rt-thread/blob/gitee_master/bsp/gd32/arm/docs/GD32_ARM%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md

2、我们进入\rt-thread\bsp\gd32\arm\

找到gd32407v-start,复制一份后命名为gd32427R-start

3、修改配置文件,以MDK5为例

打开template.uvprojx,不要打开project.uvprojx
选择Device中查看是否有GD32F427RK,修改为GD32F427RK

与前面跑例程时候类似,选择在debug设置中进行如下操作 选择CMSIS-DAP,打开JTAG

4、随后下载官方库文件,更新库文件

在\bsp\gd32\arm\libraries添加

5、修改bsp\gd32\arm\gd32f427v-start\board\Sconscript

第25行改为GD32F427

6、修改串口配置

参考其他大佬的帖子,我修改了串口引脚(以下为大佬原文,非原创)
默认串口引脚PA9在GD32F427V-Start上不能使用,所以需要修改为其他的复用串口引脚,在项目文件/libraries/gd32\\_drivers/drv\\_usart.c里面修改,如下图:

7、ENV工具设置

使用cd等指令进入你的项目文件夹,
输入menuconfig进行配置
通过方向键和enter进入→ Hardware Drivers Config → On-chip Peripheral Drivers → Enable UART。敲击空格 配置uart0

进入→ RT-Thread Kernel → Kernel Device Object,

随后使用左右方向键

移动到save 保存,退出

8、编译

使用
scons
进行编译

使用
scons --target=mdk5//注意小写
生成mdk5工程文件,也可以生成mdk4,iar等文件

也可以使用
scons –dist
生成打包好的工程文件在dist目录下

即可使用

也可以选择在RT-Thread studio打开项目

------------- 和测评无关的分割线 -------------
写在最后:
先期末去了,期末后把排针焊上,用串口链接msh跑个分,看一下f427多强(碎碎念 不是很明白为什么不给排针)

【GD32F427开发板试用】从0开始到RTthread移植相关推荐

  1. 【GD32F427开发板试用】二、USB库移植与双USB CDC-ACM功能开发

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:chenjie [GD32F427开发板试用]一.环境搭建与freertos移植 [GD ...

  2. 【GD32F427开发板试用】三、USB转CAN功能开发与试用总结

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:chenjie [GD32F427开发板试用]一.环境搭建与freertos移植 [GD ...

  3. 【GD32F427开发板试用】5. SPI驱动TFTLCD屏幕

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:hehung 之前发帖 [GD32F427开发板试用]1. 串口实现scanf输入控制L ...

  4. 【GD32F427开发板试用】INA226完成电流电压采集

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:จุ๊บ冰语 前言 本次有幸参与并通过了极术社区组织的[GD32F427开发板试用]活动 ...

  5. 【GD32F427开发板试用】+GD32F427开发以来遇到的问题以及解决方案

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:考试结束就睡觉 大纲 开箱问题 环境搭建以及创建第一个project 串口问题 重定向问 ...

  6. 【GD32F427开发板试用】06-硬件I2C软件I2C驱动0.91OLED

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:Stark_GS I2C 简介及特点 并行总线至 I2C 总线协议的转换及接口: 同一接 ...

  7. 【GD32F427开发板试用】FreeRTOS移植工程

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:kings669669 前言 为了方便需要FreeRTOS,附上移植完毕的工程,方便大家 ...

  8. 【GD32F427开发板试用】硬件SPI通信驱动CH376芯片,用单片机实现U盘数据下载

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:周文杰 SPI通信作为单片机多种基础数据传输模式中的一种,驱动外部芯片CH376实现数据 ...

  9. 【GD32F427开发板试用】USR-C210 WIFI模块进行以太网通信

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站.作者:小蜗牛 一.硬件介绍 USR-C210 硬件上集成了 MAC.基频芯片.射频收发单元,尺 ...

最新文章

  1. 由event target引发的关于事件流的一连串思考(二)
  2. SAP UI5库文件的加载细节探讨
  3. Set与WeakSet
  4. webview java调用js_android WebView java与js相互调用
  5. MFC初探 —— 双击Picture Control具体位置放大图片
  6. 遇到事情不计较就是善待自己
  7. 深入理解 Javascript 面向对象编程
  8. 7 个优秀 WordPress LMS 在线教育系统插件比较(优点和缺点)
  9. AndroidStudio配置一键360加固gradle脚本
  10. php+icu+库是什么意思,如何从PHP Intl(ICU库)获取默认货币
  11. 在Linux下用sopcast/qsopcast收看网络电视
  12. 1005打印任务取消不了 hp_HP打印机打印时任务打印不了时无法取消
  13. 斑马打印机 ZPL打印
  14. c/c++中指针学习的两个绝好例子
  15. 去掉串口硬盘的安全删除硬件图标
  16. 联想小新15用什么C语言程序,长处更长 优点更优 联想小新Air 15 2019首测
  17. 广告收入7年来首次下滑,千万粉UP主4个月无商单,自媒体还能好好恰饭吗?
  18. kerberos认证相关概念和流程
  19. 海思3559编译live555
  20. c语言把下划线换成空格,python - 如何用下划线替换空格,反之亦然?

热门文章

  1. Plant simulation 之初次见面
  2. npm ERR! enoent undefined ls-remote -h -t ssh://git@github.com/sohee-lee7/Squire.git
  3. SQL Tuning Guide
  4. web前端开发学习视频教程下载(百G)
  5. 传百度签约电信联通布局移动搜索
  6. Transphorm将以“TGAN”为股票代码开始在OTC市场交易
  7. 论文阅读方法(整理自公众号)
  8. 食物改变你的一生:软化血管或降血压的食物
  9. 【练习题】20道HTML测试题
  10. 2021待业在家四个月学习目标