当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]在如今芯片沉浮的大环境下,中国“芯”一直在暗暗发力,经过卡脖子、等封装、没晶圆的窘境,下一步将会是什么情况不得而知。项目需求下,如果只有PLANA,风险等级就会被判定为为高。有PLANB,风险等级也只是“海中一滴水”。如此,PLANC、PLAND成了公司立项的常态的趋势,甚至有些...


在如今芯片沉浮的大环境下,中国“芯”一直在暗暗发力,经过卡脖子、等封装、没晶圆的窘境,下一步将会是什么情况不得而知。
项目需求下,如果只有PLAN A,风险等级就会被判定为为高。有PLAN B,风险等级也只是“海中一滴水”。如此,PLAN C、PLAN D成了公司立项的常态的趋势,甚至有些朋友将PLAN做到了“N”。
此情此景,人人都在暗自“搞备胎”,可想而知,这是到底有多慌。所以有一句话,芯不在手,慌上心头,只有捧在手里才是真“芯”
扯了这么多,似乎都是闲话,与本次的内容背道而驰,不过不用着急,好东西不怕晚,下面请出本次的主角:GD32E230C8T6芯片,搭载在GD32E230C-EVAL 开发板上,我们将其称之为DEMO板,按照国际惯例,首先是图片展示:

1、GD32E230系列芯片简介
ARM架构毋庸置疑,但是核属于CotexM23,MCU世界里面ARM家族的比较通用的是CotexM0,CotexM3,CotexM4等。
这CotexM23属于什么东西,很是奇怪,查了一下,属于ARMV8新的体系,百度一下ARMV8与ARMV7的区别,核心的区别是ARMV8为了满足64位的机器,所以进行了更新发展。
不过2011年就放出来了,话说也是快10年了,这许多年的发展,可怜我孤陋寡闻,尽然全然不知道这个东西,看来知识体系还是需要不断更新。

DataSheet的资源配置,全局呈现如下图所示:

纵观资源还是挺丰富,再看看配套DEMO板的裸机SDK,也是该有的都有GPIO、UART、ADC、IIC、SPI、I2S、IR、Timer等等


2、RT-Thread
不过不过,这些都是裸机的,正如标题,本文重点想说的是RT-Thread在CotexM23上的起起伏伏,CotexM23已经具备,只是RT-Thread还没登场,下面说说RT-Thread,当然百度一搜那也是一堆,RT-Thread优秀自然不用说,但是我的出发点是比较简单,因为他是国产的RTOS(实时操作系统),国产系统配国产“芯”那也算的是真正意义上的中国“芯”,值得鼓励,值得拥有。
以下是RT-Thread自言自语,摘抄自RT-Thread官网:
RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。针对资源受限的微控制器(MCU)系统,可通过方便易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 版本(NANO 是 RT-Thread 官方于2017 年 7 月份发布的一个极简版内核);而对于资源丰富的物联网设备,RT-Thread 又能使用在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。
相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此以外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(如成本、功耗限制等)的场合。虽然 32 位 MCU 是它的主要运行平台,实际上很多带有 MMU、基于 ARM9、ARM11 甚至 Cortex-A 系列级别 CPU 的应用处理器在特定应用场合也适合使用 RT-Thread。
3、RTThread起起伏伏
NANO版本裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源,还是比较惊艳,相较与其他的RTOS还是很酷的,FreeRTOS就达不到如此小巧简洁,大道至简,适用的场景就会更加丰富,一路通吃。本次就用NANO版本试验喽。
3.1 RTThread试验移植
官方的移植教程,清晰明了。优秀的团队出来的也是优秀的作品。以下是官方权威链接。
https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-keil/an0039-nano-port-keil
3.2 RTThread起起伏伏3.2.1起起伏伏第一幕
起伏现象:

原因分析:
rt_show_version()正常显示,突然就直接报错,挣扎许久,仔细分析了一番,RTThread超前初始化完成之后,便开始了主函数(main)线程的运行,因此可能是main线程出问题,是不是main线程的栈太小了,查看main线程栈大小,一看是256Bytes,上面的一行Default:512。


解决方案:
将main线程栈改为512

编译、烧录、验证果然不错了,果然是内有乾坤呀。至此起起伏伏第一幕完成。


3.2.2 起起伏伏第二幕
起伏现象:
承上启下,层层递进,RTThead控制台能正常运行,Finsh没有,no fish,无鱼(语)。

为什么就没有Finsh组件,观工程,Finsh组件加载了,char rt_hw_console_getchar(void)函数也有了,神马情况,还有坑????
 


百度分析一番,还是没有结果,百度如是说:


难道真的是这个原因(搞不清到底是个啥),添加上,试验一下,结果还是唏嘘不已,看来也不全然是这个问题,那就只能再静静思考一下。
原因分析:
根据现象看本质,首先看看MSH的配置,栈的大小1024比较大了,应该是没问题的,那难道是线程优先级的问题,优先级21,这是个什么等级,估计都被遗忘了,抢都抢不到执行的权利吧,可怜呀。


解决方案:
试验一下,提升一下地位,修改一下等级,加入抢占的行列梯队,于是修改了优先级

保存、编译、烧录,哎呦MSH出来了,看来真是这个坑呀!至此起起伏伏第二幕完成。

2.3 起起伏伏番外
没有伏,只有起,help一下,蹦出不少东西,至此为RT-Thread在CotexM23上的起起伏伏暂告一段落。

此文如有不恰当出处,敬请谅解,路漫漫其修远兮,中国“芯”路历程,我们一起见证起起伏伏,最后附上工程代码。
 GD32E23x_Demo_RTT.rar (1.28 MB, 点击“阅读原文”内下载文件)

END
本文系21ic论坛资深网友yanzhengxin1原创撰写
嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:为了研究微型多旋翼的定点控制,设计并实现了一种基于RT-Thread的微型多旋翼定点控制系统。采用DigitalMotionProcessing库和双闭环PID进行姿态控制,使用磁力计与激光测距仪进行航向与高度的锁...

关键字: RT-Thread 定点控制 数据融合

日前,RT-Thread Space 高可靠性嵌入式实时操作系统完成北京轩宇信息技术有限公司(以下简称“轩宇信息”)第三方测评,测试结论表明 RT-Thread Space 嵌入式实时操作系统满足GJB7718-2012...

关键字: RT-Thread 嵌入式 航空航天

一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名,本届大会以"Beyond"为主题,并将于2021年12月18日在在深圳大中华喜来登酒店举办。    ...

关键字: RT-Thread 开发者大会

一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名,本届大会以"Beyond"为主题,并将于2021年12月18日在在深圳大中华喜来登酒店举办。    ...

关键字: RT-Thread 开发者大会

近日,开源物联网数据基础设施软件供应商杭州映云科技有限公司(EMQ映云科技)与物联网操作系统厂商上海睿赛德电子科技有限公司(RT-Thread)签署技术战略合作协议,双方将结合各自技术优势,面向开发者和企业用户在ICT、...

关键字: RT-Thread 物联网平台

近日,开源物联网数据基础设施软件供应商杭州映云科技有限公司(EMQ映云科技)与物联网操作系统厂商上海睿赛德电子科技有限公司(RT-Thread)签署技术战略合作协议,双方将结合各自技术优势,面向开发者和企业用户在ICT、...

关键字: RT-Thread 物联网平台

作为通信协议的两大基础,IIC和SPI两者的应用都非常广泛,上一篇文章讲过了RTT上IIC的移植与实践。《一步到位!教你RT-Thread上设备IIC驱动移植》讲完IIC,自然少不了SPI的相关内容,基于此,本文就来详细...

关键字: 移植 RT-Thread

趟过前面RT-Thread在GD32E230CotexM23上的坑之后,继续进行了RT-Thread端设备驱动的验证测试。《国产GD32替代:RT-Thread在CotexM23上的起起伏伏》IIC作为很多设备之间通信的...

关键字: IIC驱动 移植 RT-Thread

1.介绍TouchGFX是一个图形框架,它可以帮助用户基于STM32创建出类似于当前智能手机风格的用户界面,对于STM32的用户,它是免费的!RT-Thread是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS)...

关键字: Touch 移植 RT-Thread

近日,开源物联网数据基础设施软件供应商杭州映云科技有限公司(EMQ映云科技)与物联网操作系统厂商上海睿赛德电子科技有限公司(RT-Thread)签署技术战略合作协议,双方将结合各自技术优势,面向开发者和企业用户在ICT、...

关键字: RT-Thread 物联网
关闭
关闭