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

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

3天内不再提示

μC/OS实时RTOS技术线上讲座汇总问答

麦克泰技术 来源:麦克泰技术 作者:麦克泰技术 2022-11-15 11:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

10月底我们与Weston-embedded和Embedded office专家们成功举办µC/OS实时操作系统系列技术线上讲座。

第二讲是由麦克泰软件技术总监张爱华主讲的µC/OS-II 和 µC/OS-III 内核原理,我们课后整理汇总了一些问答,方便学员以及感兴趣的朋友了解μC/OS,下面就来一起看看有没有你想了解的!

Q是否有μC/OS移植相关的参考资料?

A将μC/OS移植到具体的处理器,需要了解处理器的寄存器现场,堆栈处理方式,以实现正确的任务现场保存;需基于处理器汇编指令架构实现任务的上下文切换工作。

建议新手基于官方提供的开发例程,通过分析相同架构的处理器移植代码,完成移植、验证工作。

QμC/OS-III中没有消息邮箱,那用什么服务替代?

A邮箱相当于长度为1的消息队列,μC/OS-III中可以使用队列服务替代邮箱的应用场景。

QμC/OS支持创建相同优先级的任务吗?

AμC/OS-III提供时间片轮询算法,允许创建相同优先级的任务。μC/OS-II仅支持抢占调度算法,任务必须设置独立的优先级别。

QμC/OS中如何实现低功耗?

A用户任务阻塞时,μC/OS会运行最低优先级的系统任务,即空闲任务。空闲任务执行一个无限循环,每次循环调用OSTaskIdleHook()。为了节省空闲任务的功耗,可以在hook函数中配置处理器工作在低功耗模式。μC/OS-III为满足低功耗应用场景需求,增加了tickless模式和动态节拍模式。

Q使用μC/OS-II切换为μC/OS-III,要注意什么?

A将应用从μC/OS-II升级到μC/OS-III需要完成的工作。

Q内核配置是配置哪些内容?

AμC/OS配置文件的内容涉及具体应用需要的系统服务,支持的任务/优先级等信息,获取各个配置项的具体信息。

Q支持多核吗?

A目前μC/OS还不支持SMP架构运行。

Q有支持cpu任务负载统计吗?有栈大小的估计方法和自动化分析工具?

AμC/OS提供了统计任务,跟踪任务的CPU利用率。用户可以借助IDE提供的内核感知插件,可视化分析工具等获取任务相关的信息。一些IDE提供了堆栈使用分析,可以帮助确定每个任务需要多少堆栈空间。还可以借助RTOS的可视化分析工具,如Tracealyzer,在运行时监控堆栈使用情况,优化任务堆栈设置。

Q内核怎样访问任务列表?

AμC/OS应用中定义了一个数据结构,即任务控制块TCB,保存任务的关键信息,如优先级,任务堆栈等,通过内核提供的全局变量,访问列表结构,管理所有任务。具体内容可以参阅内核调度原理。

Q同等优先级任务有分时间片执行吗?

AμC/OS-III中同等优先级可以配置不同的时间片长度,在任务创建时设置。

QμC/OS-III有提供空间隔离和时间隔离吗?

AμC/OS-III暂时没有发布MPU版本,不支持空间隔离实现。μC/OS-II有提供空间隔离和时间监控的版本,具体信息可以访问https://www.embedded-office.com/products/flexible-safety-rtos。

QμC/OS-II还会继续维护么?

AWeston Embedded Solutions公司负责μC/OS-II的更新及商业服务,关于版本更新信息。

QμC/OS有相关RISC-V架构的移植么?

AμC/OS支持RISC-V的移植示例,可以访问

https://github.com/weston-embedded/uC-OS3/tree/develop/Ports/RISC-V/RV32/GCC

https://github.com/RISCV-on-Microsemi-FPGA/uCOS

Q浮点寄存器是默认任务切换时都进行保护和恢复吗?

A如果处理器支持FPU,那移植代码中包含对浮点寄存器的保护和恢复设置,这部分代码通过配置开关控制,默认情况下不使能包含。

Q空闲任务里运行什么代码?可以放功能进去吗?

A空闲任务是一个空循环,μC/OS-III中的实现如下:

5bbfd18c-6492-11ed-8abf-dac502259ad0.png

用户可以在OSIdleTaskHook()函数中增加用户功能,注意,空闲任务不能调用阻塞服务函数。

QNKA KA中断类型是什么意思?OS中断向量表重定向了吗?

ANKA指Non-kernel aware中断,无需内核参与的中断。KA指Kernel Aware中断,即受OS管理的中断。中断处理方式不同。无需内核参与的中断处理方式与裸机系统相同。受OS管理的中断服务中,需要通知OS,示意代码如下:

5be0038a-6492-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    4

    文章

    1479

    浏览量

    43140
  • 移植
    +关注

    关注

    1

    文章

    417

    浏览量

    29576
  • RTOS
    +关注

    关注

    25

    文章

    871

    浏览量

    123272

原文标题:μC/OS实时RTOS技术线上讲座汇总问答②

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    保姆级教程 | i.MX 93开发板适配Zephyr RTOS全解析

    对于嵌入式RTOS选型、工业级产品开发的团队而言,飞凌嵌入式OK-MX9352-C开发板+Zephyr RTOS是兼顾开发效率、系统安全与硬件可靠性的优选方案。
    的头像 发表于 04-28 08:03 1.1w次阅读
    保姆级教程 | i.MX 93开发板适配Zephyr <b class='flag-5'>RTOS</b>全解析

    芯科科技启动2026年在线Tech Talks技术讲座

    的发展趋势带来了全新主题,并有专家提供实操培训的介绍,同时还针对行业热门的人工智能(AI)应用增设前沿专题,邀请行业领袖来分享洞见。与往年的技术讲座一样,演讲结束后将有现场问答交流环节,为您答疑解惑。
    的头像 发表于 01-24 11:14 1127次阅读

    搞嵌入式的为啥要一定要学习RTOS

    实时操作系统)。常用的有国外的FreeRTOS、μC/OS、RTX 和国内的 RT-thread、Huawei LiteOS 和 AliOS-Things 等,其中开源且免费的 FreeRTOS
    发表于 01-05 06:42

    如何在Zephyr RTOS中实现延时和计时函数

    实时操作系统(RTOS)中,时间管理是核心功能之一。无论是任务调度、超时控制,还是周期性事件,延时和计时机制都扮演着至关重要的角色。Zephyr RTOS作为一个轻量级、模块化的开源系统,提供了
    的头像 发表于 12-26 10:32 6357次阅读
    如何在Zephyr <b class='flag-5'>RTOS</b>中实现延时和计时函数

    RTOS在嵌入式开发中的作用

    嵌入式系统中,有很多方式实现任务调度。功能有限的小系统中,无限循环足够实现系统功能。当软件设计变得庞大且复杂时,设计师应该考虑使用RTOS实时操作系统)。 下面给大家分享使用RTOS的8个理由
    发表于 12-26 07:53

    使用RTOS时需要注意的几点内容分享

    ,在采用非实时操作系统(non-RTOS)的任何场合,也都可采用RTOS。但是,要找到一款具有完全相同应用编程接口(API)的匹配RTOS就相当困难了。 因此,许多传统的操作系统(
    发表于 12-23 06:34

    选择RTOS的要点

    补充了Linux,因为它们可提供硬实时级别的QoS。 要指出的很重要一点是:这类补充常常是在原始OS上集成一个RTOS编程环境。与传统台式或服务器OS相比,
    发表于 12-12 08:00

    RTOS Crash 问题全维度分析与解决指南

    RTOS Crash 问题全维度分析与解决指南 RTOS实时操作系统)的Crash(崩溃)是嵌入式实时系统中最致命的故障之一,直接破坏系统的实时
    发表于 12-08 03:56

    开源鸿蒙技术大会2025丨OS原生智能分论坛圆满举办

    ,共同探讨下一代智能终端的技术发展方向与创新路径。OS原生智能分论坛由来自香港中文大学的卓敏讲座教授、ACM & IEEE Fellow吕自成与开源鸿蒙AI Agent TSG主任周剑辉、华为基础软件创新
    的头像 发表于 11-20 17:28 1007次阅读
    开源鸿蒙<b class='flag-5'>技术</b>大会2025丨<b class='flag-5'>OS</b>原生智能分论坛圆满举办

    单片机的操作系统

    单片机操作系统主要分为实时操作系统(RTOS)和嵌入式操作系统两类,以下是常见选择: 实时操作系统(RTOS) ‌ FreeRTOS ‌:轻量级开源内核(最小内核约6 KB RAM)
    发表于 11-14 06:18

    如何选择合适的实时操作系统

    选择合适的实时操作系统(RTOS,Real-Time Operating System)可能会影响你在不同行业的职业发展路径。
    的头像 发表于 09-09 14:47 1352次阅读

    2025电赛题目问答(已更新)

    2025电赛题目问答(已更新)
    的头像 发表于 07-30 12:59 6078次阅读
    2025电赛题目<b class='flag-5'>问答</b>(已更新)

    请问编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?

    编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?
    发表于 07-11 07:22

    全网最全学习Zephyr开发教程资料汇总-从基础文档视频到上手实操示例

    Zephyr作为一款开源且极具灵活性与可扩展性的实时操作系统(RTOS),拥有原生的 BLE 协议栈、完整的 Net 协议栈,涵盖 TCP/IP 与应用层协议,具备出色的实时性,支持硬实时
    发表于 07-04 11:13

    零延迟响应:安卓工控机如何用实时操作系统(RTOS)赋能工业控制

    在工业4.0时代,工业控制系统对实时性的要求已突破毫秒级门槛,传统操作系统因任务调度延迟、中断响应不确定性等问题,难以满足精密运动控制、闭环反馈调节等场景需求。安卓工控机通过集成RTOS实时
    的头像 发表于 06-09 15:49 1560次阅读