OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3411|回复: 2

RT-Thread操作系统的μC/OS-III兼容层发布啦!

[复制链接]

19

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2016-4-9
在线时间
123 小时
发表于 2020-8-14 12:24:32 | 显示全部楼层 |阅读模式
本帖最后由 神秘狼 于 2020-8-14 12:30 编辑

让基于μC/OS-III开发的应用层无感地迁移到RT-Thread操作系统https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III
详细说明请戳上面的github链接↑,如果喜欢的话请在github上给我一个star,这对我很重要,开源项目的成就感就靠star了!
软件包已经发布(uCOSIII_Wrapper),可以通过ENV工具进行自动配置
1 概述
这是一个针对RT-Thread国产操作系统的μCOS-III操作系统兼容层,可以让基于美国Micriμm公司的μCOS-III操作系统的项目快速、无感地迁移到RT-Thread操作系统上。在兼容层的设计、编写上尊重原版μC/OS-III,保证原版μC/OS-III的原汁原味。
支持版本:μC/OS-III 3.00-3.08全部版本
1.1 本兼容层适合于:
  • 之前学习过μCOS-III操作系统,意图转向学习RT-Thread国产操作系统。本兼容层可以帮您用已有的μCOS-III编程经验和习惯快速将项目跑起来,日后在应用过程中深入熟悉RT-Thread的API函数,逐步向RT-Thread过度,降低您的学习门槛和时间成本。有了本兼容层,对RT-Thread API以及编程风格的不熟悉再也不是您学习RT-Thread的阻力!
  • 现有任务(线程)模块采用μCOS-III编写,想要用在基于RT-Thread的工程上
  • 老项目需要从μCOS-III操作系统向RT-Thread操作系统迁移
  • 当需要快速基于RT-Thread开发产品,但是工程师之前均采用μC/OS开发,从未用过RT-Thread的开发经验。本兼容层可以帮助让工程师快速基于μC/OS开发经验开发产品,简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。
  • 避免在从μCOS-III迁移到RT-Thread时,由于μCOS-III的编程经验导致的思维定式引发的错误,这种错误一般很难被发现
        例如:

    • 两个操作系统对于任务/线程挂起、解挂函数的区别。
      RT-Thread不支持任务嵌套挂起、解挂
      ​μCOS-III支持任务嵌套挂起、解挂
    • 软件定时器参数的不同
    • 任务堆栈的数据类型不同
  • 本兼容层实现了与Micriμm公司专门为其旗下产品μC/OS等开发的专用软件μC/Probe的对接,可以通过该软件以图像化形式查看、调试RT-Thread内核以及μCOS-III兼容层的相关信息


2 使用2.1 迁移步骤
  • uCOS-III_Wrapper文件夹内的所有文件都加入到你的工程中,最好保持原有文件夹的结构。相较于原版μCOS-III增加了os_rtwrap.c文件,负责对RT-Thread和μCOS-III的转换提供支持。
  • 浏览一下μC-CPU/cpu.h文件,看一下头文件中的定义是否符合你的CPU,一般不需要改这个文件
  • 浏览一下μCOS-III/os.h文件,看一下错误代码,这个错误代码和原版μCOS-III是有一定区别的。
    注意: 请勿随意打开注释掉的错误码枚举体成员, 如果用户使用到了这些注释掉的成员,则会在迁移时编译报错,用以提醒用户这些错误代码在兼容层已经不可用。
  • 配置os_cfg.h和os_cfg_app.h
    每个选项的配置说明和原版μCOS-III一致,若有不同,我已经在注释中有所解释。
    原版μCOS-III配置说明可参见:
    a)《嵌入式实时操作系统μC/OS-III》北京航空航天大学出版社 宫辉等译 邵贝贝审校
    b) Micriμm公司μCOS-III在线文档: https://doc.micrium.com/display/kernel304/uC-OS-III+Features+os_cfg.h
  • μCOS-III原版定时器回调函数是在定时器线程中调用的,而非在中断中调用,因此要使用μCOS-III兼容层的软件定时器,需要将rtconfig.h中的宏定义RT_USING_TIMER_SOFT置1。
3 接口3.1 没有实现兼容的API(仅2个)
虽然RT-Thread没有任务内建消息队列、任务内建信号量、任务内建寄存器机制,但是本兼容层均已实现,可以正常兼容。但由于RT-Thread没有提供相关接口,以下μCOS-III API无法兼容

void  OSTaskChangePrio (OS_TCB *p_tcb, OS_PRIO prio_new, OS_ERR *p_err);
void  OSTaskTimeQuantaSet (OS_TCB *p_tcb, OS_TICK time_quanta, OS_ERR *p_err);


3.4 统计任务(OS_StatTask()、os_stat.c)
        在μCOS-III中,统计任务是一个系统任务,通过OS_CFG_STAT_TASK_EN宏决定是否开启,可以在系统运行时做一些统计工作。例如统计总的CPU使用率(0.00% - 100.00%)、各任务的CPU使用率(0.00% - 100.00%)以及各任务的堆栈使用量。CPU的利用率用一个0-10000之间的整数表示(对应0.00% - 100.00%)。
        但是RT-Thread并没有统计任务,因此需要创建一个任务来兼容原版μCOS-III的统计任务,完成上述功能。该统计任务会在兼容层初始化时自动创建,用户无需干预。用户仅需调用OSStatTaskCPUUsage全局变量即可获取当前的CPU使用率,CPU使用率的计算策略和原版μCOS-III完全一致。
        目前统计任务实现的功能:
  • 计算全局CPU使用率
  • 计算每个任务的任务堆栈使用情况(当 OS_CFG_DBG_EN 和 OS_CFG_STAT_TASK_STK_CHK_EN 为1)
注意:一旦开启统计任务,则该优先级强烈建议不要被其他任务使用,统计任务的优先级总是为OS_CFG_PRIO_MAX-2u 。

4 μC/Probe4.1 介绍
        μC/Probe 是由Micriμm公司研发的一款基于Windows操作系统的、专门针对Micriμm公司旗下产品(μC/OS-II、μC/OS-III、uC/TCP-IP等)的应用程序。该软件以可视化的模式实时查看目标系统的内部变量,并且在不中断系统正常运行的情况下改变系统内部全局变量。全局变量可以通过刻度指针、数字表、柱状图、虚拟LED等可视化对象想试出来,通过滑块、开关或者按钮等来修改变量值。用户不需要编写任何代码就可以实现这些功能。目前μC/Probe也已经支持对FreeRTOS的调试。
        μC/Probe可以通过多种方式与板卡通信,以获取调试信息:
  • J-Link
  • CMSIS-DAP
  • 与Keil-MDK编译器联合调试 (硬件在线仿真以及软件仿真两种方式都支持,软件仿真模式下不需要板卡)
  • IAR Embedded Workbench plugin for μC/Probe
  • Analog Devices CCES 2.6.0 or newer
  • Eclipse plugin for μC/Probe
  • TCP/IP (需要板载驻留代码支持)
  • USB (需要板载驻留代码支持)
  • RS-232/串口 (需要板载驻留代码支持)

4.2 使用
        本兼容层已经实现与μC/Probe的对接,虽然不能和原版μCOS-III一样将所有内核信息全部显示,但是绝大多数信息以及所有内核关键信息均已实现与μC/Probe的对接。同时用户可以借助本兼容层,实现通过μC/Probe直接显示、调试RT-Thread内核信息和数据。






正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

72

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
416
金钱
416
注册时间
2016-4-9
在线时间
123 小时
 楼主| 发表于 2020-8-14 12:26:50 | 显示全部楼层
好像论坛对markdown文件导出来的html文档支持并不太好。。。 大家可以点击链接 直接查看详细说明:https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III  别忘了给我一个star, 开源项目就靠star来续满足感了,谢谢!

@正点原子 申请精品
回复 支持 反对

使用道具 举报

11

主题

1041

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3696
金钱
3696
注册时间
2011-5-23
在线时间
2008 小时
发表于 2020-8-14 12:48:50 | 显示全部楼层
赞一个
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 13:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表