机智云设备移植RT-Thread

发布时间:2024-03-18  

开发环境:

Keil版本:V5.30

RT-Thread版本:3.1.5

STM32cubeMX:V6.0.1

开发板MCU:STM32F103


机智云平台生成的应用代码是裸机版本的,而在实际应用过程中,通常会有多个功能,这个时候就需要用到实时系统,比如FreeRTOS, AzureRTOS ThreadX, RT-Thread等,笔者这里推荐RT-thread。


RT-Thread是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括任务处理、软件定时器、信号量、邮箱和实时调度等相对完整的实时操作系统特性。适用于家电、消费电子、医疗设备、工控等领域大量使用的 32 位 ARM 入门级 MCU 的场合。


RT-Thread Nano 以软件包的方式集成在 Keil MDK 与 CubeMX 中,可以直接在软件中下载 Nano 软件包获取源码,关于RT-Thread Nano移植详情请参看笔者文章:

Keil版本:https://bruceou.blog.csdn.net/article/details/109549430

STM32cubeMX版本:https://bruceou.blog.csdn.net/article/details/109607302


3.1 Nano Pack 安装


进入打开 CubeMX,从菜单栏help 进入 Manage embeddedsoftware packages 界面,点击 From Url 按钮,进入 User DefinedPacks Manager 界面,其次点击 new,填入上述网址,然后点击 check,如下图所示:


poYBAGI3MLqAYhCtAAJvJSG52NU923.png


check 通过后,点击 OK 回到 User Defined Packs Manager 界面,再次点击 OK,CubeMX 自动连接服务器,获取包描述文件。



pYYBAGI3MMSATzBGAACFCKDxchI207.png


回到 Manage embedded softwarepackages 界面,就会发现 RT-Thread Nano 3.1.5软件包,选择该软件包,点击 InstallNow,安装之后,弹出 Licensing Agreement ,同意协议,然后点击 Finish,等待安装完成,成功安装后,版本前面的小蓝色框变成填充的黄绿色,如下图所示:


pYYBAGI3MOWARmL7AAIrT14L0zc611.png



至此,RT-Thread Nano 软件包安装完毕,退出 Manage embeddedsoftware packages 界面。



3.2添加 RT-Thread Nano 到工程

打开基础工程,点击 SelectSoftwares,选择Select Components界面,在 Pack Vendor 中选择 RealThread, 然后根据需求选择 RT-Thread 组件(此处只移植 Nano,只选择 kernel 即可),然后点击 OK 按钮,如下图所示:



pYYBAGI3MPSAT37rAAXm7LxJNb8760.png



选择组件之后,对组件参数进行配置。在工程界面 Pinout&Configuration 中,进入所选组件参数配置区,按照下图进行配置。

poYBAGI3MQ2AMYi6AAXGoNva4gk902.png


由于HardFault_Handler()和SysTick_Handler() 中断服务例程在RT-Thread的 board.c 中重新实现,做了系统 OS Tick,所以还需要删除工程里中原本已经实现的HardFault_Handler()和 SysTick_Handler() ,避免在编译时产生重复定义。如果此时对工程进行编译,没有出现函数重复定义的错误,则不用做修改。


pYYBAGI3MR6AHPWpAAdeuUS8vgI188.png



最后保存生成工程即可。

成功编译后下载到MCU即可。

关于线程的创建与使用可以参看笔者文章:

RT-Thread Nano 线程讲解:https://bruceou.blog.csdn.net/article/details/112157693



最后的效果就不在演示了,和上一章是一样的,到这里,机智云设备端基本玩的差不多,后面就可以使用所学知识做一些项目开发了。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>