从0开始到RTthread移植(以GD32F427为例
本文最后更新于 880 天前,其中的信息可能已经有所发展或是发生改变。

存档自 https://aijishu.com/a/1060000000375321

写在前面:
很高兴获得这次试用机会,一直很想了解国内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
pic2.png
3、做一些配置 使之可以编译和下载

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

pic3.png
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版本

4.png

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

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

移植RT-thread

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

git clone https://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

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

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

在\bsp\gd32\arm\libraries添加

8.png
9.png
5、修改bsp\gd32\arm\gd32f427v-start\board\Sconscript

10.png
第25行改为GD32F427

6、修改串口配置

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

7、ENV工具设置

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

12.png
进入→ RT-Thread Kernel → Kernel Device Object,

13.png
随后使用左右方向键

14.png
移动到save 保存,退出

8、编译

使用
scons
进行编译

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

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

即可使用

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

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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇