国产MCU之光 第37期:套路揭秘!玩转GD32E230 的RTThread 上设备移植与实践
*阅读说明:详细过程及源码资料等请戳原链接查看。
1、GD32E230系列芯片简介 2、RTThread 3、RTThread起起伏伏 NANO版本裁剪出仅需要 3KBFlash、1.2KB RAM 内存资源,还是比较惊艳,相较与其他的RTOS还是很酷的,FreeRTOS就达不到如此小巧简洁,大道至简,适用的场景就会更加丰富,一路通吃。本次就用NANO版本试验喽。 3.1RTThread试验移植 3.2RTThread起起伏伏 起伏现象、原因分析、解决方案
1、自制原因 不支持ARMv8。那就自己自制一个,自力更生,网络和论坛的力量是无穷的,参考相关资料,开始了自制之路。 2、自制过程 自制硬件 原理图 PCB
趟过前面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。
接前面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曲线变化)和代码
|