0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子发烧友论坛 2022-05-24 09:22 次阅读

01

gd32简介

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

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

a971a5ea-dadb-11ec-b80f-dac502259ad0.jpg

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

a99b7848-dadb-11ec-b80f-dac502259ad0.jpg

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

aa2cd5e0-dadb-11ec-b80f-dac502259ad0.jpg

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

aa533708-dadb-11ec-b80f-dac502259ad0.jpg

03

RT-Thread PIN设备驱动简介

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

aa88b658-dadb-11ec-b80f-dac502259ad0.jpg

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

aac234a0-dadb-11ec-b80f-dac502259ad0.jpg

04

RT-Thread 的UART简介

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

ab11daaa-dadb-11ec-b80f-dac502259ad0.jpg

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


运行序列图如下图所示:

ab4ed9aa-dadb-11ec-b80f-dac502259ad0.jpg

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

    关注

    145

    文章

    15992

    浏览量

    343362
收藏 人收藏

    评论

    相关推荐

    4月25日北京站RT-Thread线下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-16 08:35 67次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深嵌入式软件工程师农晓明老师为您讲
    的头像 发表于 03-27 11:36 411次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 03-27 08:34 140次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread Studio使用GD-LINK下载,选择DAP-LINK,编译报错怎么解决?

    下载源码5.0.2, 使用RT-Thread Studio v2.2.7,导入bsp里面的RT-Thread Studio项目 MCU使用GD32F470ZKT6 使用
    发表于 02-26 06:47

    RT-Thread设备驱动开发指南基础篇—以先楫bsp的hwtimer设备为例

    RT-Thread设备驱动开发指南》书籍是RT-thread官方出品撰写,系统讲解RT-thread IO设备驱动开发方法,从三方面进行讲解。
    的头像 发表于 02-20 16:01 794次阅读
    <b class='flag-5'>RT-Thread</b>设备驱动开发<b class='flag-5'>指南</b>基础篇—以先楫bsp的hwtimer设备为例

    基于rt-thread的socket通信设计

    最近再研究 rt-thread 的通信 ,想设计出 eps8266(多个) rt-thread(作为中控) 服务器的通信框架,使用的开发板是 潘多拉
    的头像 发表于 10-13 15:02 662次阅读
    基于<b class='flag-5'>rt-thread</b>的socket通信设计

    试用RT-Thread Studio(VSCode)

    想尝试RT-Thread studio (VSCode),先下载安装VSCode,再搜索RT-Thread
    的头像 发表于 10-12 10:58 541次阅读
    试用<b class='flag-5'>RT-Thread</b> Studio(VSCode)

    RT-Thread v5.0.2 发布

    RT-Thread 代码仓库地址: ●  https://github.com/RT-Thread/rt-thread RT-Thread 5.0.2 版本发布日志详情: ●  htt
    的头像 发表于 10-10 18:45 754次阅读
    <b class='flag-5'>RT-Thread</b> v5.0.2 发布

    rt-thread studio新建gd32f450工程

    rt-thread studio 软件版本是:2.2.6;开发板的软件包是:GD32450Z-GD-EVAL版本是V1.0.1;开发板使用兆易的官方开发板GD32F450ZKT6。
    的头像 发表于 09-28 14:17 1209次阅读
    <b class='flag-5'>rt-thread</b> studio新建<b class='flag-5'>gd</b>32f450工程

    使用RT-Thread Studio进行智能家居终端的设计

    本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能。
    的头像 发表于 07-28 16:41 1356次阅读
    使用<b class='flag-5'>RT-Thread</b> Studio进行智能家居终端的设计

    电子工程专辑放福利啦!免费领取500本《RT-Thread设备驱动开发指南

    6月面包板社区新用户注册 免费领取物联学习大礼包! 大礼包包含: 1、《RT-Thread设备驱动开发指南》 2、
    的头像 发表于 06-28 19:25 416次阅读
    电子工程专辑放福利啦!<b class='flag-5'>免费</b><b class='flag-5'>领取</b>500本《<b class='flag-5'>RT-Thread</b>设备驱动开发<b class='flag-5'>指南</b>》

    带有RT-Thread的更好的SD库

    电子发烧友网站提供《带有RT-Thread的更好的SD库.zip》资料免费下载
    发表于 06-14 11:23 0次下载
    带有<b class='flag-5'>RT-Thread</b>的更好的SD库

    带有RT-Thread的Arduino应用程序

    电子发烧友网站提供《带有RT-Thread的Arduino应用程序.zip》资料免费下载
    发表于 06-14 11:22 5次下载
    带有<b class='flag-5'>RT-Thread</b>的Arduino应用程序

    RT-Thread内核对象操作API详解

    目的还是学习并熟悉RT-Thread 操作系统。
    发表于 06-02 09:48 312次阅读
    <b class='flag-5'>RT-Thread</b>内核对象操作API详解

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2548次阅读
    基于<b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>学习</b>