国产MCU之光 第37期: 套路揭秘!玩转GD32E230 的RTThread 上设备移植与实践

[复制链接]
1797|1
手机看帖
扫描二维码
随时随地手机跟帖
21ic小能手|  楼主 | 2022-12-14 10:52 | 显示全部楼层 |阅读模式
国产MCU之光 第37期:套路揭秘!玩转GD32E230 的RTThread 上设备移植与实践

37.jpg
*阅读说明:详细过程及源码资料等请戳原链接查看

(作者:@yanzhengxin1
1、GD32E230系列芯片简介
2、RTThread
3、RTThread起起伏伏
NANO版本裁剪出仅需要 3KBFlash、1.2KB RAM 内存资源,还是比较惊艳,相较与其他的RTOS还是很酷的,FreeRTOS就达不到如此小巧简洁,大道至简,适用的场景就会更加丰富,一路通吃。本次就用NANO版本试验喽。
3.1RTThread试验移植
3.2RTThread起起伏伏
起伏现象、原因分析、解决方案


1、自制原因
不支持ARMv8。那就自己自制一个,自力更生,网络和论坛的力量是无穷的,参考相关资料,开始了自制之路。
2、自制过程
自制硬件
原理图
PCB
a.jpg


趟过前面RTThread在GD32E230CotexM23上的坑之后,继续进行了RTThread端设备驱动的验证测试,IIC作为很多设备之间通信的基础通信方式,起使用程度和普及程度基本也算是很多MCU的标配,即使没有硬件IIC,用软件对GPIO口也可以模拟出软件方面的IIC,自然GD32E230作为ARMv8架构的CotexM23系列的芯片,硬件IIC还是有的,而且SDK里面也留了完整的例程,可以根据实际需求去使用。当然本文不是想使用裸机上的IIC驱动,而是RTThread RTOS上的IIC驱动,这里我们还是先来看看RTThread上外设驱动的结构,参考的官方文档。
1、 RTThread移植IIC到CotexM23中
2、RTThread IIC驱动EEPROM
3、 RTThread IIC驱动EEPROM实践2
4、 RTThread IIC总结
完成以上的移植和EEPROM上面的实践,下一步运用到实际项目中IIC驱动气压芯片,由于芯片、传感器紧张,打算使用多种气压传感器,以作备胎,
5、此次移植、实践工程代码


本文就来详细说明RTThread上设备SPI的移植与实践,SPI的通信原理不用赘诉,百度一搜索,对应的知识点就明明白白的。本文的主要内容还是阐述一下RTThread上SPI的一些细节内容,总体感觉RTThread的代码层次,以及各个设备驱动的核心文件都相当优秀,
1、RTThread上SPI设备“上线”
2、RTThread上设备SPI
3、RTThread设备SPI通信板级实践
3.1、板级硬件
3.2、SPI实践
3.3、总线注册
3.4、设备“上线”
3.5、读取SPI设备ChipID
通过相关地址读取FlashID,分享的例程,实现了两种SPI操作读取FlashID。
b.jpg


接前面RTThread上设备IIC和SPI的移植与实践,ADC也是项目中常用的功能之一,要说Cotex系列MCU没有ADC功能基本不可能,一般只是说有多少路ADC,ADC多少位采样,以及采样频率,转换时间等等方面的性能参数,所以关于ADC相关的基础知识大概百度一下也能清楚,这里就不详细说了,毕竟ADC技术以及用了许多年也是相当的成熟了。言归正传作为本次RTThread上设备ADC移植的核心芯片GD32E230C8T6,CotexM23核,ADC是10路,采样位数是12位。10路ADC分布分布与GPIOA和GPIOB上,后续配置映射中也是可以看到的。
1、RTThread设备ADC移植四个“套路”
2、GD32E230上的ADC实践
2.1、注册
2.2、ADC测试例程
2.3、测试
2.4、实践展示
3、测试视频(对可调电阻进行调整后看到ADC曲线变化)和代码
c.jpg


使用特权

评论回复
Innercourage| | 2022-12-20 13:36 | 显示全部楼层
不错,不错,支持国产

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则