45、QF与QK:嵌入式实时软件开发的利器

QF与QK:嵌入式实时软件开发的利器

1. QF应用的系统集成

在基于QF的应用中,与嵌入式实时软件的其他部分进行集成是非常重要的,尤其是与设备驱动程序和I/O系统的集成。通常,这种集成必须基于事件驱动范式。QF允许从任何软件部分发布或发送事件,而不局限于活动对象。

如果你编写自己的设备驱动程序或能够访问设备驱动程序的源代码,就可以直接使用QF的功能来创建、发布或发送事件。具体操作步骤如下:
1. 编写设备驱动程序或获取其源代码。
2. 使用QF提供的设施创建事件。
3. 调用QF的发布或发送事件的函数。

对于设备的访问,应将其视为共享资源,并限制只有一个活动对象可以访问。这样做的好处是可以避免重入问题,即使代码使用了互斥机制保护,限制访问到一个线程也能避免优先级反转和不确定性。同时,一个活动对象不一定只能封装一个设备,很多时候可以用一个活动对象来封装多个设备。

2. QF开发的优势与要点

QF实时框架的内部实现使用了很多底层机制,如临界区、互斥锁和消息队列。但在活动对象执行的基础设施搭建好后,基于QF的应用开发会变得更加容易和快速。这是因为封装的活动对象编程时无需处理传统多任务程序中麻烦的底层机制,同时整个应用仍能充分利用多线程。

开发QP应用主要包括以下几个步骤:
1. 定义信号和事件类。
2. 详细设计活动对象的状态机。
3. 将应用部署到具体平台。

QP软件组件的高可移植性使得可以在与最终目标不同的平台上开发大部分代码。不过,使用活动对象编程需要程序员遵守一定规则,禁止共享内存和资源。实践证明,不违反此规则也能编写高效的应用,而且这种规则有助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值