邮箱:event-os@outlook.com,QQ群:667432915。
EventOS,是一个面向单片机、事件驱动的嵌入式开发平台。它主要有两大技术特色:一是事件驱动,二是分布式。EventOS的目标,是开发一个企业级的嵌入式开发平台,以事件总线为核心,打造一个统一、分布式的嵌入式技术生态,涵盖RTOS内核、IO框架、设备框架、文件系统和中间件,为广大企业用户和嵌入式开发者们,提供搞可靠性的、高性能的、现代且高开发效率的嵌入式开发环境。
经过几个月艰苦的开发,EventOS V0.2终于释放出Alpha版本,期间走了不少弯路。开源软件的艰辛,我终于品味一二。在V0.2中,EventOS实现了一个完整的嵌入式操作系统内核。
目前EventOS V0.2支持的功能与特性如下:
- 内核与中断功能
- 任务管理
- 层次化状态机框架
- Reactor框架
- 定时器管理
- 事件总线
- 数据库
- 线程锁
相比于V0.1,EventOS V0.2有了较大的修改,完全不再兼容V0.1。最大的修改,就是为了支持分布式特性,修改事件主题,从枚举类型,修改至字符串类型。
需要特别说明的是,为了加快EventOS的开发进度,EventOS内核中的e_kernel部分,是基于RT-Thread的内核,保留任务、定时器、信号量和线程锁,删除其他,整理、简化与修改而来。在此声明,需要EventOS的e_kernel部分,对RT-Thread的源码进行了大量的修改,但它仍旧遵循Apache-2.0开源协议,其版权属于RT-Thread开发团队。向RT-Thread团队的专业与开发精神,致以敬意和感谢!
事件总线为核心组件,灵活易用,是进行线程(状态机)间同步或者通信的主要手段,也是对EventOS分布式特性和跨平台开发进行支持的唯一手段。事件支持通知型,块事件、流事件、时间事件等不同的类型,支持发布-订阅和直接发送两种投递方式。
在EventOS中,创新性的对事件机制与数据库,进行了充分的结合。二者的结合,衍生出了强大而友好的任务间通信机制,使用起来,远好于传统RTOS的邮箱或者消息队列。
EventOS会对常见的处理器架构,如ARM Cortex、RISC-V等进行支持,并对常见的RTOS如FreeRTOS等进行支持,最大限度的兼容当前的嵌入式开发生态,使每一个想尝试EventOS的网友,以最小的代价迁移到EventOS平台。
EventOS支持的硬件平台:
- ARM Cortex-M0/M0+
- ARM Cortex-M3
- ARM Cortex-M4
- ARM Cortex-M7
EventOS支持的软件平台:
- FreeRTOS
- uC/OS-II
- uc/OS-III
- embos
EventOS支持的IDE和编译器:
- MDK KEIL
- IAR
- STM32CubeIDE
- GCC
EventOS不仅支持传统的软定时器,还以时间事件的形式,对软定时器功能,进行优雅且功能强大的实现。
EventOS的远期目标,定位于可跨平台开发,并具备分布式通信能力的RTOS,因此其基础设施,都需要具备分布式能力。目前,EventOS支持任务、定时器、事件、KV数据库和线程锁五种基础设施。