QF 框架移植与配置详解
1. 特定平台 QActive 数据成员类型
当 QF 移植到外部操作系统(OS)或实时操作系统(RTOS)时,需要关注特定平台的 QActive 数据成员类型。但对于独立的 QF 移植,如移植到原生“vanilla”协作内核或 QK 抢占式内核,则无需此部分内容。
- 事件队列数据类型 :必须告知 QF 活动对象事件队列的数据类型。事件队列可通过 RTOS/OS 的消息队列实现,若底层 RTOS/OS 未提供合适队列,也可使用原生 QF 事件队列 QEQueue 类型。
- QF_OS_OBJECT_TYPE 数据成员 :当底层 OS 未提供合适队列工具时,此数据成员必要。它持有操作系统特定的原语,用于在队列空时有效阻塞原生 QF 事件队列。
- QF_THREAD_TYPE 数据类型 :保存与活动对象关联的线程句柄。
2. QActive 派生基类
若想从不同于默认 QHsm 的类派生 QActive 基类,需关注此部分。此部分的宏允许用自己的事件处理器替换 QEP 组件,但这些宏通常不在应用程序中使用,其命名以下划线结尾,应避免在应用代码中使用。
- QF_ACTIVE_SUPER_ 宏 :指定用于派生活动对象的最终基类,只要基类支持状态机接口即可。若未提供此宏,QF 默认使用 QHsm 基类。
- QF_ACTIVE_CTOR_() 宏 :指定基类构造函数的名称。
- QF_AC
超级会员免费看
订阅专栏 解锁全文
2973

被折叠的 条评论
为什么被折叠?



