QF 移植与配置指南
1. 特定平台的 QF 回调函数
QF 移植不能也不应定义其调用的所有函数,因为这会使移植缺乏灵活性。一些功能最好留给应用程序或板级支持包(BSP)。QF 调用但未实际实现的函数称为回调函数。QF 中的所有这些函数(以及所有其他 QP 组件)都可以通过函数名中使用的 “on” 介词轻松识别(例如,QF_onStartup())。以下是所有 QF 回调函数的总结:
- void QF_onStartup(void) :此回调函数在 QF 接管应用程序控制之前调用。主要目的是初始化和启动中断。调用 QF_onStartup() 的时间线取决于特定的 QF 移植。在大多数情况下,QF_onStartup() 是从 QF_run() 中调用的,就在启动任何多任务内核或后台循环之前。
- void QF_onCleanup(void) :在某些 QF 移植中,QF_onCleanup() 在 QF 返回底层操作系统或 RTOS 之前调用。该回调的目的是让应用程序有机会在退出之前进行清理。如果特定应用程序没有需要清理的内容,或者应用程序永远不会返回,此函数可能为空。
- void QF_onIdle(void) 或 void QF_onIdle(QF_INT_KEY_TYPE lockKey) :QF_onIdle() 由 QF 内置的协作式 “vanilla” 内核调用。此回调的签名取决于 QF 移植中使用的中断锁定策略。
- void Q_onAssert(char const Q_ROM * const Q_ROM_VAR file, int line)
超级会员免费看
订阅专栏 解锁全文
439

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



