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

描述

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中的实现如下:

内核

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

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

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

内核

审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分