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.设置串口设备的接收回调函数,之后发送字符串,并创建读取数据线程。
运行序列图如下图所示:
全部0条评论
快来发表一下你的评论吧 !