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

    关注

    147

    文章

    19232

    浏览量

    405149
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT-Thread 用上 HyperRAM——e2studio 工程配置详解 | 技术集结

    的帖子中介绍如何在e2sutido中结合RT-Thread的代码仓库(使用的是最新的RT-Thread版本),在e2stduio中调试和下载RT-Thread工程。配
    的头像 发表于 04-27 18:07 9478次阅读
    让 <b class='flag-5'>RT-Thread</b> 用上 HyperRAM——e2studio 工程配置详解 | 技术集结

    基于 RT-Thread 和兆易创新GD32F527的CAN总线监视器 | 技术集结

    【适配新进展】兆易创新与RT-Thread的适配大家庭又添新成员啦!GD32VW553现已正式完成适配,并在社区开发者的协作下完成了电子书《GD32VW553开发实践指南
    的头像 发表于 03-05 10:04 470次阅读
    基于 <b class='flag-5'>RT-Thread</b> 和兆易创新<b class='flag-5'>GD</b>32F527的CAN总线监视器 | 技术集结

    基于RT-Thread和兆易创新GD32F527系列MCU的健康监测站 | 技术集结

    本项目为RT-Thread嵌入式大赛获奖作品,基于RT-Thread和兆易创新GD32F527I-EVAL的健康监测站。目录项目概述系统硬件框架结构基础驱动程序实现整体驱动实现工程效果演示视频及代码演示
    的头像 发表于 01-20 17:37 8539次阅读
    基于<b class='flag-5'>RT-Thread</b>和兆易创新<b class='flag-5'>GD</b>32F527系列MCU的健康监测站 | 技术集结

    兆易创新与RT-Thread MCU技术路演圆满收官

    近日,兆易创新(GigaDevice)与RT-Thread携手举办的MCU技术路演圆满收官。本次路演聚焦GD32 MCU为核心开发场景,以“GUI开发实战”与“信息安全落地”为两大核心主题,吸引了
    的头像 发表于 12-01 10:14 1762次阅读

    【直播预告】高性价比智慧视觉处理器FH8626V300L解析,与RT-Thread全栈开发实战 | 问学直播

    对智慧视觉领域感兴趣,或是行业从业者注意啦!11月13日20:00,RT-Thread携手富瀚微技术专家,为您带来FH8626V300L全栈开发实战线上直播,手把手带你从芯片解读到RT-Thread
    的头像 发表于 11-11 11:53 1026次阅读
    【直播预告】高性价比智慧视觉处理器FH8626V300L解析,与<b class='flag-5'>RT-Thread</b>全栈开发<b class='flag-5'>实战</b> | 问学直播

    RT-Thread Studio 正式支持GD32H7高性能系列MCU | 技术集结

    RT-ThreadNano极简内核RT-Thread标准版完整生态全链路开发支持工程创建→代码编写→在线调试→烧录下载图形化配置让开发效率倍增,专注业务逻辑更省心驱动支持情况(持续扩展
    的头像 发表于 10-24 11:52 1871次阅读
    <b class='flag-5'>RT-Thread</b> Studio 正式支持<b class='flag-5'>GD</b>32H7高性能系列MCU | 技术集结

    学习强国深度报道 RT-Thread“1+X+N”战略,国产操作系统赋能高端制造引关注|媒体视角

    近日,国产嵌入式操作系统领军企业RT-Thread睿赛德在工博会发布的“1+X+N”战略体系,获得了国家级权威媒体平台“学习强国”的重点报道。该报道从产业高度深入剖析了RT-Thread睿赛德以自主
    的头像 发表于 09-29 17:37 1430次阅读
    <b class='flag-5'>学习</b>强国深度报道 <b class='flag-5'>RT-Thread</b>“1+X+N”战略,国产操作系统赋能高端制造引关注|媒体视角

    通过scons生成RT-Thread Studio工程,编译报rtconfig_preinc.h告警怎么解决?

    我在 github 下载 V5.1.0 的代码,在 gd32f450 的 bsp 中通过命令 scons --dist-ide 生成能够在 RT-Thread Studio 下运行的工程。在编译时会
    发表于 09-29 09:01

    如何在RT-Thread上创建一个GD32F470工程?

    如何在RT-Thread上创建一个GD32F470工程
    发表于 09-23 06:09

    rt_thread studio import gd32h759i_start 失败的原因?

    使用rt_thread studio导入git 下载的bsp失败了,导入目录是 bsp/gd32/gd32h759i-start
    发表于 09-15 07:07

    rt-thread studio中创建不了gd32项目是怎么回事?

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

    在Ubuntu上开发基于先楫MCU的RT-Thread应用指南

    1、前言RT-ThreadEnv是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的menuconfig
    的头像 发表于 08-29 12:22 2243次阅读
    在Ubuntu上开发基于先楫MCU的<b class='flag-5'>RT-Thread</b>应用<b class='flag-5'>指南</b>

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    01内容简介ContentSummary本书为读者提供了一个全面、系统的RT-Thread学习指南,旨在帮助初学者及有经验的开发者掌握RT-Thread实时操作系统和STM32嵌入式微控制器的核心
    的头像 发表于 08-24 10:05 1420次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第20本相关书籍!《嵌入式实时操作系统<b class='flag-5'>RT-Thread</b>原理与应用》| 技术集结

    【直播预告】RT-Thread携手NXP硬核实战,解锁MCX微控制器的AI落地秘籍 | 问学直播

    ,从“生态布局”到“电机实战”到“AI应用”,预约直播,和我们一起打开嵌入式开发新视界。Details直播详情直播主题RT-Thread携手NXP硬核实战解锁MC
    的头像 发表于 07-20 10:05 1242次阅读
    【直播预告】<b class='flag-5'>RT-Thread</b>携手NXP硬核<b class='flag-5'>实战</b>,解锁MCX微控制器的AI落地秘籍 | 问学直播

    兆易创新加入RT-Thread高级会员合作伙伴计划 | 战略新篇

    全球领先的半导体供应商兆易创新(GigaDevice)正式加入RT-Thread高级会员合作伙伴计划,标志着双方在嵌入式领域的合作迈入全新阶段。未来,兆易创新将与RT-Thread睿赛德围绕兆易创新
    的头像 发表于 07-14 09:04 2439次阅读
    兆易创新加入<b class='flag-5'>RT-Thread</b>高级会员合作伙伴计划 | 战略新篇