QP(Quantum平台)是一个轻量级的,开源的,基于状态机的,事件驱动的应用程序框架。
该框架包括四个部分:事件处理器(QEP);事件处理器(QEP)。
轻量级事件驱动框架(QF);任务调度微内核(QV,QK,QXK);实时跟踪调试器(QS)。
(1)QEP Quantum Event Processor是一种通用,可移植且可重用的状态机引擎。
QEP允许您直接将UML样式的状态图映射到代码。
QEP提供传统的简单平面状态机和分层状态机。
QEP可以直接操作事件队列和事件分发机制。
(2)QF QF是一个通用的,事件驱动的应用程序框架,并且是嵌入式系统的实时框架。
QF旨在与QEP和RTOS一起使用。
QF包括事件队列,活动对象,事件遍历等。
(3)QK QK是轻量级的可抢占实时内核QK是一个非常小的内核,可以根据RTC习惯执行独立的任务。
QK必须与QF版本匹配。
(4)QS是功能强大的调试工具QEP(分层事件处理器)。
事件处理器也可以理解为状态机引擎。
当需要处理事件时,将调用当前状态的状态函数来处理事件,然后调用状态函数。
根据的返回值,执行相应的状态更改(例如转换为父状态)。
此外,状态引擎还处理特定状态的进入(ENTER),退出(EXIT)和初始伪状态(INIT)。
QF(活动对象框架)QF是一种轻量级的,事件驱动的活动对象框架。
该框架的主要任务是确保每个活动对象的线程安全以及运行到完成事件。
它包括直接事件传递,发布-订阅事件转发,事件队列和时间事件(延迟的传递时间事件)。
QV(协作内核)协作内核(Vanilla内核),仅在完成时处理事件,并在处理所有事件之后,在活动对象上执行基于优先级的调度程序。
它是隐式合作的,因为活动计时器不需要显式放弃CPU。
相反,在完成事件处理后,只需返回到QV计划程序即可。
QK(抢占式非阻塞内核)QK是一种超快的抢占式,基于优先级的单栈实时内核,专门为执行活动对象而设计。
它将始终处理排队的事件中的高优先级活动对象,但会将事件作为一次性函数调用(而不是像传统内核那样无限循环)。
但是,如果新事件的优先级高于当前处理的事件的优先级,则QK内核仍将提供抢占式一次性事件处理功能(就像抢占式中断处理程序允许中断彼此抢占一样)。
这意味着QK可以使用单个堆栈来保存所有活动对象的上下文。
QXK(抢占式阻塞内核)QXK是一个简单的,基于优先级的抢占式实时实时内核,专门用于传统阻塞代码的活动对象,例如商业中间件(TCP / IP协议栈,UDP协议栈,嵌入式文件)系统等)或遗留代码的混合设计。
QS(软件跟踪系统)QS是一种软件跟踪系统,使开发人员能够以最少的系统资源监视目标,而不会停止或显着降低代码实时事件驱动的QP应用程序。
QS是测试,故障排除和优化QP应用程序的理想工具。
QS甚至可以用于支持产品制造验收测试。
免责声明:本文内容经21ic授权后发布,版权归原作者所有。
该平台仅提供信息存储服务。
本文仅代表作者的个人观点,并不代表该平台的立场。
如有任何疑问,请与我们联系,谢谢!