打印

VSF的事件队列再做改进---用户自定义事件队列的位置

[复制链接]
1060|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Simon21ic|  楼主 | 2015-12-23 13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Simon21ic 于 2015-12-23 13:33 编辑

之前使用PendSV来实现一个可以抢占的事件队列,但是PendSV毕竟只有一个,如果要实现更高优先级的事件队列的话,按要如何处理呢?

最新的VSF构架中,事件队列增加了一个activate接口,通过这个接口,用户可以自己定义事件队列的运行位置,运行位置决定了优先级。activate就是在事件发到事件队列之后,激活事件队列的接口。

比如,PendSV事件队列运行在PendSV,那么PendSV的优先级设置,就决定了这个事件队列的优先级。
activate接口,就应该是激活PendSV。

如果,有事件队列运行在syscall里的话,那么syscall的优先级,就一样,决定了事件队列的优先级。
activate接口,就是调用相应的syscall。

脑洞再开大的话,用一个GPIO控制EINT中断,也可以实现一个优先级的事件队列。activate就只是设置响应的IO口,处理完后释放。
其他各种可控的中断,都可以实现一个事件队列,当然,应用中还是看实际是否需要这么多。

相关帖子

沙发
zou2012| | 2016-1-21 17:02 | 只看该作者
为啥没让人评论,虽然我是小白看不懂,还是支持一下下!!!

使用特权

评论回复
板凳
keer_zu| | 2016-1-22 09:39 | 只看该作者
顶,等下文。

使用特权

评论回复
地板
Simon21ic|  楼主 | 2016-1-22 12:55 | 只看该作者
我们实现系统的方式太特殊,几乎没什么人这么玩,所以评论的人自然不会多

使用特权

评论回复
5
keer_zu| | 2016-1-22 16:10 | 只看该作者
Simon21ic 发表于 2016-1-22 12:55
我们实现系统的方式太特殊,几乎没什么人这么玩,所以评论的人自然不会多 ...

有用,能解决实际问题就行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

266

主题

2597

帖子

104

粉丝