1821

编程入门 行业动态 更新时间:2024-10-27 05:35:13

1821

1821

         全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github)

1. 这里开篇就讲了ChibiOS中的事件机制非常强大,算是OS的一个子系统功能。提供了多事件等待、事件与线程多对多、异步广播同步检查等功能。

2. 事件机制涉及到的三个对类别分别是:事件源、事件监听器、事件标志位及线程。

3. 事件源涉及到的两个操作:注册、广播。

4. 什么是事件的状态位呢?以串口驱动涉及到的可能设计为例,这个状态可以是通信的接收、发送、校验以及报错等信息。

1. 把一个事件监听器注册到事件源上,同时会绑定一个线程。

2. 事件源跟监听器可以是一对多的,而监听器与线程是一对一的,但是这样的机制是可以支持事件源与线程的多对多关系的。

3. 事件的掩码有两种:有效掩码、PENDING标志。

1.每一个线程必须有一个不同的监听对象。

2.事件的等待可以是等待单一的事件,也可以是等待任意事件,或者是等待全部的事件一起发生。

这里给出来了两段伪代码,一个是通知注册到同一个事件源的全部监听器;另一个是事件可以由一个线程直接发送给另一个线程。

         关于事件的API是非常多的,也可以看得出来这个机制使用的灵活度非常高。

         这里给出来的一个例子处理了多个事件,处理的方式是等到任何一个事件都会触发wait的结果。接下来,根据返回的时间信息进行处理逻辑的拆分。

         第二个例子是涉及到中断的一个例程,ISR中给一个线程直接发信号触发一个动作。其实,很多操作系统中都是提供这样的机制的,主要是的作用是通过这种转换把很多裸系统中需要在ISR中处理的功能转移到线程中处理。不仅可以充分利用OS的线程管理能力,而且还可以保证中断的响应实时性。

更多推荐

1821

本文发布于:2023-11-16 11:16:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1621008.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!