0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机智云设备移植RT-Thread

机智云 2022-04-19 18:39 次阅读

开发环境:


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



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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348744
收藏 人收藏

    评论

    相关推荐

    RT-Thread设备驱动开发指南基础篇—以先楫bsp的hwtimer设备为例

    RT-Thread设备驱动开发指南》书籍是RT-thread官方出品撰写,系统讲解RT-thread IO设备驱动开发方法,从三方面进行讲解
    的头像 发表于 02-20 16:01 824次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>设备</b>驱动开发指南基础篇—以先楫bsp的hwtimer<b class='flag-5'>设备</b>为例

    RT-thread源码移植到STM32F10x和STM32F4xx

    RT-thread源码移植到STM32F10x和STM32F4xx: 一、源码下载 点击入门->下载   在历史版本里边随便选取一个   会进入百度云盘的下载地址,里边有全部版本的源码。这里下载
    的头像 发表于 11-15 09:38 1017次阅读
    <b class='flag-5'>RT-thread</b>源码<b class='flag-5'>移植</b>到STM32F10x和STM32F4xx

    i.MX RT1170:VGLite移植RT-Thread Nano过程讲解(下)

    上篇介绍了如何移植 RT-Thread Nano 内核与 Finsh 控制台到 RT1170。本篇继续介绍如何将 NXP 官方的 VGLite API 移植
    的头像 发表于 11-09 11:22 497次阅读

    i.MX RT1170:VGLite移植RT-Thread Nano过程讲解(上)

    RT-Thread 是国人自主研发的开源实时操作系统(RTOS),RT-Thread Nano 是极简版的硬实时内核,内存占用小,移植简单。VGLite 是 NXP 提供的轻量级 2D 图形 API,基于 FreeRTOS 实现
    的头像 发表于 11-09 11:20 1241次阅读
    i.MX <b class='flag-5'>RT</b>1170:VGLite<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> Nano过程讲解(上)

    基于rt-thread的socket通信设计

    最近再研究 rt-thread 的通信 ,想设计出 eps8266(多个) rt-thread(作为中控) 服务器的通信框架,使用的开发板是 潘多拉
    的头像 发表于 10-13 15:02 690次阅读
    基于<b class='flag-5'>rt-thread</b>的socket通信设计

    RT-Thread移植使用webserver (lwip+httpd)

    开发环境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2,rt-thread版本为4.0.3。
    的头像 发表于 10-12 12:49 560次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>移植</b>使用webserver (lwip+httpd)

    试用RT-Thread Studio(VSCode)

    想尝试RT-Thread studio (VSCode),先下载安装VSCode,再搜索RT-Thread
    的头像 发表于 10-12 10:58 572次阅读
    试用<b class='flag-5'>RT-Thread</b> Studio(VSCode)

    RT-Thread v5.0.2 发布

    RT-Thread 代码仓库地址: ●  https://github.com/RT-Thread/rt-thread RT-Thread 5.0.2 版本发布日志详情: ●  htt
    的头像 发表于 10-10 18:45 780次阅读
    <b class='flag-5'>RT-Thread</b> v5.0.2 发布

    梁山派GD32F450/470-RT-Thread Nano移植(二)

    在上一篇文章中,我实现了在keil中给梁山派移植RT-Thread Nano,但在官方的移植教程中,除了系统的移植,还有在 RT-Thread
    的头像 发表于 09-25 15:40 1154次阅读
    梁山派GD32F450/470-<b class='flag-5'>RT-Thread</b> Nano<b class='flag-5'>移植</b>(二)

    RT-Thread qemu mps2-an385 bsp移植制作 :环境搭建篇

    最近打算系统地研究一下 RT-Thread,包括 RT-Thread BSP 的移植,由于一直在使用 QEMU 进行一些软件功能的验证,qemu 支持很多的CPU 与 开发板,所以想移植
    的头像 发表于 08-02 14:45 352次阅读
    <b class='flag-5'>RT-Thread</b> qemu mps2-an385 bsp<b class='flag-5'>移植</b>制作 :环境搭建篇

    怎么知道RT-Thread的CRYPTO设备对M2354支持怎样呢?

    前面碰到了一个问题,RT-Thread 支持 MD5,可是 M2354 却不支持,那怎么知道 RT-Thread 的 CRYPTO 设备对 M2354 支持怎样呢?
    的头像 发表于 07-27 15:21 570次阅读
    怎么知道<b class='flag-5'>RT-Thread</b>的CRYPTO<b class='flag-5'>设备</b>对M2354支持怎样呢?

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083开发板上,并成功运行。
    的头像 发表于 07-03 09:04 2.2w次阅读
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> nano到CW32L083

    【灵动微】FTHR-G0140开发板移植RT-Thread驱动

    灵动微G0140移植RT-Thread驱动。
    的头像 发表于 06-05 13:45 21.6w次阅读
    【灵动微】FTHR-G0140开发板<b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b>驱动

    RT-Thread最小系统的移植方法

    目标为进一步研究RT-Thread,掌握系统移植的基本方法
    发表于 06-02 09:47 304次阅读
    <b class='flag-5'>RT-Thread</b>最小系统的<b class='flag-5'>移植</b>方法

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2580次阅读
    基于<b class='flag-5'>RT-Thread</b> Studio学习