GD32F310开发板试用--基于RTT Nano的RTT软件包使用
2024-11-15 来源:elecfans
概述
很高兴再次参加ARM中国的评测活动,本次活动是评测GD新出的一款M4内核的芯片--GD32F310K。
GD32F310K是一款基于 Arm Cortex-M4 RISC 内核的32 位通用微控制器。GD32F310系列MCU最高主频可达72MHz并支持DSP指令运算。配备了64KB的内置Flash及48KB的SRAM,内核访问闪存高速零等待。采用LQFP32封装。
在评测期间,我移植RTT完整版本,发现移植完,其实资源已经所剩无几了,而且裁剪也没有意义,这款芯片不适合移植RTT的完整版本。于是我选择移植RTT的nano版本,并且适配完整版本的PIN驱动接口和I2C驱动接口。即可完美的适配RTT的软件包。
rtt nano移植说明
移植rtt nano的过程很简单,完全按照官方的教程即可。参考:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-principle/an0044-nano-port-principle
为了方便调试,我也把FinSH移植了上,为后面的移植传感器软件包调试做准备。
移植rtt nano是非常简单的,但是移植完之后肯定是要弄点东西玩的,那么RTT与其他RTOS的区别就是有丰富的软件包,便于我们的项目开发。
RTT的软件包是基于他的驱动框架进行设计的,而nano增加驱动框架显得有点重,所以可以可以封装一层RTT的驱动框架接口。而这一封装接口,我在去年已经实现了,并且把教程提交到RTT的文档中心了。大家可以参考链接:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-ref/nano-device-pin/nano-device-pin
经过RT nano移植, 适配finSH和适配驱动接口,整个系统占用情况如下图:
以上移植完,便可以移植rtt的软件包。
rtt 软件包在nano中的使用
因为我主要适配了RTT的PIN驱动接口和I2C驱动接口,所以我选择一个使用I2C接口的传感器软件包--as7341,其实这个软件包也是我共享给RTT的其中一个软件包,所以选择最熟悉的,移植起来也方方便。
移植很方便,克隆对应的软件包放到项目工程中,软件包链接:https://github.com/RiceChen/as7341
使用软件包的教程,我也把相应的教程,提交到了RTT的文档中心了,链接:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-ref/nano-device-i2c/nano-device-i2c?id=i2c-%e8%ae%be%e5%a4%87%e7%9b%b8%e5%85%b3%e8%bd%af%e4%bb%b6%e5%8c%85%e4%bd%bf%e7%94%a8
软件包运行结果:
结论
整个移植及适配,就是把我之前做的工作,集成到这个芯片上,并进行验证。
总的来说,这个芯片资源太少了,可玩性收到局限。不过做一些功能验证还是可以的。
代码仓库:https://gitee.com/RiceChen0/gd32f310k