01
gd32简介
GD32是由兆易创新(GigaDevice)研发设计的一系列32位MCU,GD32是有和ST产品线P2P的产品系列,但和ST的产品差距还很大,还需要国人们一起努力呀。
目前GD32的单片机从内核上区分有Cortex-M3、Cortex-M4、Cortex-M23和RISC-V内核系列。

开发环境:支持主流的Keil MDK4/5、IAR等 IDE;
开发编程/烧写工具:因为采用标准的Cortex-M内核,所有支持标准的JlinkV8/V9、Ulink2和自己的GD-link工具;
总之,只要你熟悉STM32,那么上手GD32就很快,而且GD32还有很多开发板,每块开发板都配备有相应的demo,虽然GD32和ST由一定差距,但希望更多的开发者支持国产。
基于RT-Thread的BSP 框架
前面简单介绍了GD32,接下来再介绍下基于RT-Thread的BSP架构。GD32的BSP 框架结构如下图所示:

02
使用 Keil +Env开发 GD32
目前市面通用的MDK for ARM版本有Keil 4和Keil 5:使用Keil 4建议安装4.74及以上;使用Keil 5建议安装5.20以上版本。笔者的MDK是5.30。
Pack包安装
从MDK的官网可以下载得到MDK的安装包,然后安装即可。

安装完成后会自动打开,我们将其关闭。
接下来我们下载GD32F4xx的软件支持包。

03
RT-Thread PIN设备驱动简介
RT-Thread 提供了一套简单的 I/O 设备模型框架,如下图所示。

它位于硬件和应用程序之间,共分成三层,从上到下分别是 I/O 设备管理层、设备驱动框架层、设备驱动层。
应用程序通过 I/O 设备管理接口获得正确的设备驱动,然后通过这个设备驱动与底层 I/O 硬件设备进行数据(或控制)交互。关于I/O模型的详细描述请参看RT-Thread官方手册。
I/O设备模型
PIN设备属于Miscellaneous类型,在驱动文件pin.c中的rt_device_pin_register()函数可以看到其注册的设备类型,PIN设备是很多驱动的基础,其他驱动的开发还会依赖PIN设备,比如软件I2C的驱动就是在PIN设备的基础上开发的。
应用程序通过 RT-Thread 提供的 PIN 设备管理接口来访问 GPIO,相关接口如下所示:

04
RT-Thread 的UART简介
UART和其他设备一样,应用程序通过统一的设备管理接口来访问串口硬件,相关接口如下所示:

UART的主要步骤如下所示:
1.首先查找串口设备获取设备句柄。
2.配置串口参数。
3.初始化回调函数发送使用的信号量,然后以读写及中断接收方式打开串口设备。
4.设置串口设备的接收回调函数,之后发送字符串,并创建读取数据线程。
运行序列图如下图所示:

-
mcu
+关注
关注
147文章
19232浏览量
405149
发布评论请先 登录
让 RT-Thread 用上 HyperRAM——e2studio 工程配置详解 | 技术集结
基于 RT-Thread 和兆易创新GD32F527的CAN总线监视器 | 技术集结
基于RT-Thread和兆易创新GD32F527系列MCU的健康监测站 | 技术集结
兆易创新与RT-Thread MCU技术路演圆满收官
【直播预告】高性价比智慧视觉处理器FH8626V300L解析,与RT-Thread全栈开发实战 | 问学直播
RT-Thread Studio 正式支持GD32H7高性能系列MCU | 技术集结
学习强国深度报道 RT-Thread“1+X+N”战略,国产操作系统赋能高端制造引关注|媒体视角
通过scons生成RT-Thread Studio工程,编译报rtconfig_preinc.h告警怎么解决?
rt_thread studio import gd32h759i_start 失败的原因?
rt-thread studio中创建不了gd32项目是怎么回事?
在Ubuntu上开发基于先楫MCU的RT-Thread应用指南
【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结
【直播预告】RT-Thread携手NXP硬核实战,解锁MCX微控制器的AI落地秘籍 | 问学直播
兆易创新加入RT-Thread高级会员合作伙伴计划 | 战略新篇
【资料下载】免费领取!基于RT-Thread的GD32应用实战学习指南
评论