framework框架流程 模块绑定

framework框架负责固件的通用流程实现,包括系统初始化,module初始化,中断服务提供,event服务提供等。这样module就可以专注于自己功能和对外交互api的实现。scp framework初始化流程图如下:
module对外接口
在scp代码中,所有的功能都由一个个模块提供。每个模块以api枚举及其结构体的方式对外提供该模块的功能,并在模块通用结构体fwk_module中提供。
event事件
模块可以给自己或者别的模块发送event事件,事件的参数是结构化消息structfwk_event。
motificaiont通知
notification涉及到两个模块的通信,跟event的区别是:
• •event是一个模块发给另外一个模块或者发给自己,比较确定
• •notification是发给订阅了这个模块的所有模块,算广播,需要先进行订阅
notification接口:
• •fwk_notification_subscribe//订阅指定模块指定通知
• •fwk_notification_unsubscribe//取消订阅通知
• •fwk_notification_notify//向订阅该通知的模块发送通知
在实现上notification使用event的消息传递机制,只在发消息和处理消息的时候做微小改动。
模块绑定
一个模块或元素可以绑定到另一个模块或模块内的元素。目标是相同的 - 获取指向可在后续阶段使用的 api的指针。当尝试绑定到模块内的元素(而不是模块本身)时,主要区别在于接收和处理绑定请求的模块能够根据目标元素更改其行为。例如,可以允许请求绑定的模块仅绑定到处理请求的模块内的元素子集。
思路:a模块要与b模块通信,a模块的全局变量要拿到b模块的回调函数。
a模块在初始化的时候,会调用自己的bind函数,
bind--》fwk_module_bind--》b模块的process_bind_request()函数,从而拿到api

汽车12V和24V电池电源电路输入保护方案
未来的虚拟现实数字世界会是怎样的
基于90-265 VAC LED150 W路灯电源的参考设计
IGBT芯片发展史
三星s8最新消息:HTCU11斗三星s8,骁龙835手机你更喜欢谁?
framework框架流程 模块绑定
高智能粮食重金属检测仪哪家质量好
! Agilent E4418A E4418B E4412A
基于C51单片机的计时器设计原理图
固态硬盘常用的五种硬盘接口
苹果iPhone 11 Pro价格直降,国产手机优势减弱
电线电缆的型号规格一般该如何选择
为稳压器ICLM78xx设计的电流输出倍增器的电路图
YOGO机器人驰援武汉 利用优势进行室内移动消毒
我们该如何选择物联网智能井盖网关
推荐一款现代高效的java构建工具
一文详解复位电路
暴风电视亏损约7.4亿元 风暴危机不知何时能够解除
数字孪生赋能工业制造,加速推进制造业数字化转型
压接工艺