【资料下载】免费领取!基于RT-Thread的GD32应用实战学习指南

描述

01

gd32简介

 

GD32是由兆易创新(GigaDevice)研发设计的一系列32位MCU,GD32是有和ST产品线P2P的产品系列,但和ST的产品差距还很大,还需要国人们一起努力呀。

 

目前GD32的单片机从内核上区分有Cortex-M3、Cortex-M4、Cortex-M23和RISC-V内核系列。

 

m

 

开发环境:支持主流的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 框架结构如下图所示:

 

m

 

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的安装包,然后安装即可。

 

m

 

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

 

m

 

 

03

RT-Thread PIN设备驱动简介

 

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

 

m

 

它位于硬件和应用程序之间,共分成三层,从上到下分别是 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,相关接口如下所示:

 

m

 

 

04

RT-Thread 的UART简介

 

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

 

m

 

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


运行序列图如下图所示:

 

m

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • m

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分