打印
[产品应用]

一个面向单片机、事件驱动的嵌入式开发平台

[复制链接]
1338|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是超轻量。EventOS以及其母项目EventOS,目标是开发一个企业级的嵌入式开发平台,以事件总线为核心,打造一个统一的嵌入式技术生态,为广大企业用户和嵌入式开发者们,提供搞可靠性的、高性能的、现代且高开发效率的嵌入式开发环境。

EventOS的主要特性列举如下:

1、事件总线为核心组件,灵活易用,是进行线程(状态机)间同步或者通信的主要手段,也是对EventOS分布式特性和跨平台开发进行支持的唯一手段。事件支持广播发送,或者发布-订阅机制两种方式(二选一)。

2、全局事件队列,摒弃每个线程(状态机)拥有自己的事件队列的方式,只有一个全局事件队列,极限压缩对RAM的占用。

3、协作式内核,优点是不会产生资源竞争,极度可靠。

4、极度轻量,便于嵌入其他系统,除事件总线外的所有特性(层次状态机、平面状态机、发布-订阅机制、事件携带数据、事件桥等)均可裁剪,将资源占用降至极限,可低至ROM 1.2KB,RAM 172Byte。可以作为子系统,“悄悄”嵌入到其他软件系统中去。

5、功能强大的软定时器,以时间事件的形式,对软定时器功能,进行优雅且功能强大的实现。

6、API的设计,更加简明,更加符合本土嵌入式工程师的习惯。

7、移植方便,只需实现少数几个接口函数即可。

未来会使用Event Bridge(事件桥)机制与EventOS打通事件总线,以便对EventOS的分布式特性进行支持。

重点关注三种应用场景:中小资源单片机,作为模块向其他软件系统的嵌入和可靠性要求较高的嵌入式场景。

EventOS主张的编程思想
1、事件驱动与事件总线
事件驱动和事件总线,是EventOS的核心,也是EventOS的核心。事件机制,与RTOS中事件概念完全不同,它更像是windows编程中的消息。事件,可以认为是主题 + 不定长数据,通过事件,可以极大解耦模块间的耦合,增强软件的可测试性,还可以进行跨平台开发和分布式扩展。

2、防御式编程
EventOS使用了大量的断言,对系统的运行过程和用户对EventOS的使用进行大量的检查。我们强烈建议,用户要对断言接口函数进行精心的设计和实现,在实际的产品代码中,依然打开断言。这样,软件将以非常快的速度,收敛于稳定状态。

3、跨平台开发
EventOS提倡跨平台开发。所谓跨平台开发,就是在Windows和Linux等便捷友好的开发环境里,完成绝大部分的开发工作,包括编程、调试、运行和单元测试等工作,然后在目标平台上进行最后的移植、调试和适配工作。跨平台的优点有很多,比如开发效率非常高、工程师进入到更多的编程领域和程序稳定可靠等。EventOS主要在32位MinGW平台和Linux平台上开发。开发环境的搭建,见文档开发环境搭建。当然,也完全可以用MDK在单片机上直接开发,效率稍低而已。

4、消除耦合
无论是广播式的事件发送机制,还是发布-订阅式的事件发送机制,实际上,都是为了消除软件模块间的耦合。

使用特权

评论回复
沙发
LOVEEVER| | 2024-8-12 10:00 | 只看该作者
EventOS非常简洁,有相关的源码嘛?

使用特权

评论回复
板凳
szt1993| | 2024-8-14 22:17 | 只看该作者
事件驱动和事件总线,是EventOS的核心,也是EventOS的核心

使用特权

评论回复
地板
小小蚂蚁举千斤| | 2024-8-15 13:38 | 只看该作者
EventOS,是一个面向单片机、事件驱动的嵌入式开发平台

使用特权

评论回复
5
中国龙芯CDX| | 2024-8-20 15:28 | 只看该作者
API的设计应符合嵌入式的习惯

使用特权

评论回复
6
小夏天的大西瓜| | 2024-8-20 16:54 | 只看该作者
EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。

使用特权

评论回复
7
yangxiaor520| | 2024-8-21 07:39 | 只看该作者
这个OS是国内的还是国外的,对内存消耗大吗?

使用特权

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

本版积分规则

246

主题

1885

帖子

5

粉丝