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
    +关注

    关注

    146

    文章

    17123

    浏览量

    350986
收藏 人收藏

    评论

    相关推荐

    为什么在rt-thread studio创建不了gd32的项目?

    为什么在rt-thread studio中创建一个gd32项目时候,他打开的那个选型芯片型号是,安装好了,没有确认键啊,只有退出sdk管理器,然后就卡在那里了,创建不了gd32的项目
    发表于 09-27 09:52

    【成都】9月21日RT-Thread巡回线下培训-OpenMV机器视觉

    亲爱的RT-Thread社区成员们:RT-Thread24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发,以及和工程师们线下交流的绝佳机会
    的头像 发表于 09-13 08:09 748次阅读
    【成都】9月21日<b class='flag-5'>RT-Thread</b>巡回线下培训-OpenMV机器视觉

    【南京】9月21日RT-Thread巡回线下培训-智慧家居视频监测系统实战

    亲爱的RT-Thread社区成员们:RT-Thread24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入式开发的绝佳机会。2024年
    的头像 发表于 09-11 08:07 371次阅读
    【南京】9月21日<b class='flag-5'>RT-Thread</b>巡回线下培训-智慧家居视频监测系统<b class='flag-5'>实战</b>

    【大连】9月7日RT-Thread巡回线下培训-OpenMV机器视觉

    亲爱的RT-Thread社区成员们:2024年RT-Thread全球开发者线下培训拉开帷幕啦!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-Thread嵌入
    的头像 发表于 09-01 08:02 1382次阅读
    【大连】9月7日<b class='flag-5'>RT-Thread</b>巡回线下培训-OpenMV机器视觉

    获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!

    亲爱的RT-Thread社区成员们: 我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超 10座城市及国家 ,为开发者提供一个深入学习
    发表于 08-20 14:15

    2024 RT-Thread全球巡回 线下培训火热来袭!

    亲爱的RT-Thread社区成员们:我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供一个深入学习RT-T
    的头像 发表于 08-07 08:35 1169次阅读
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 线下培训火热来袭!

    【好书推荐】RT-Thread设备驱动开发指南

    强烈,他们迫切地希望有一本可以指导他们在RT-Thread上开发驱动的指南。为了解决开发者的燃眉之急,《RT-Thread设备驱动开发指南》来了!希望帮助
    的头像 发表于 08-01 08:35 619次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>设备驱动开发<b class='flag-5'>指南</b>

    GD32F427 bootloader添加rt-thread系统后,跳转到app没有执行main()函数是怎么回事?

    Copyright by rt-thread team GD32是通过 nvic_vector_table_set(NVIC_VECTTAB_FLASH, 0x8000); // 向量偏移 来修改中断向量
    发表于 07-11 06:31

    6月6日杭州站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

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

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

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-16 08:35 416次阅读
    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 815次阅读
    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 527次阅读
    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官方出品撰写,系统讲解RT-threa
    的头像 发表于 02-24 08:16 1632次阅读
    《<b class='flag-5'>RT-Thread</b>设备驱动开发<b class='flag-5'>指南</b>》基础篇--以先楫bsp的hwtimer设备为例

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

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