优化的μC/OS-III实时内核中断管理机制
2021-09-02吴尧辉吴昊珍
电子科技 2021年9期
关键词:优化
冯 冲,吴尧辉,吴昊珍
(1.河南理工大学 电气工程与自动化学院,河南 焦作 454150;2.河南理工大学 许继电气股份有限公司煤矿井下智能供电系统实验室,河南 焦作 454150;3.郑州工商学院,河南 郑州 451400)
嵌入式实时系统具有时间约束性、可预测性、可靠性等特点,其中实时性是衡量系统优劣的关键因素。嵌入式实时系统一般通过中断的方式对外部异常事件进行处理,其实时性能关乎中断的处理方式。
传统嵌入式实时系统外设中断优先级均高于操作系统内部任务优先级,在未关闭硬件中断的情况下,外设中断发生就立即响应并执行ISR(Interrupt Service Routines)。μC/OS-III实时操作系统可以选择以线程的方式处理中断,中断发生后仅在ISR中做简单处理(例如向任务发布消息、信号量等),然后调用中断服务并以任务的方式进行处理。两种中断执行模式都有各自的优缺点[1-3]。
1 μC/OS-III中断管理机制
μC/OS-III实时操作系统具有源代码公开、可裁剪、可固化等优点,其第三代内核的优点更为突出,不仅无任务数量限制,还可以直接向任务发送消息并支持时间片轮转调度[4-6]。
1.1 μC/OS-III两种中断模式
μC/OS-III实时操作系统提供两种中断模式,如图1和图2所示。通过OS_cfg.h文件,将OS_CFG_ISR_POST_DEFERRED_EN置0或1。置0时使用直接发布模式,在未关中断情况下,外设只要产生IRQ(Interrupt Request)信号,无论此时IRQ信号优先级处于何种级别,都会立即执行该ISR。置1时使用延迟发布模式,当中断发生后执行ISR。但该模式仅仅是向中断队列OS_INT_Q发送信号,异常事件的处理仍需转向IST中详细处理[7-11]。

图1 直接发布模式……
登录APP查看全文
