framework框架负责固件的通用流程实现,包括系统初始化,module初始化,中断服务提供,event服务提供等。这样module就可以专注于自己功能和对外交互api的实现。SCP framework初始化流程图如下:

module对外接口
在scp代码中,所有的功能都由一个个模块提供。每个模块以api枚举及其结构体的方式对外提供该模块的功能,并在模块通用结构体fwk_module中提供。
event事件

模块可以给自己或者别的模块发送event事件,事件的参数是结构化消息structfwk_event。
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

-
模块
+关注
关注
7文章
2822浏览量
52790 -
ARM
+关注
关注
135文章
9499浏览量
388555 -
框架
+关注
关注
0文章
404浏览量
18313 -
SCP
+关注
关注
0文章
30浏览量
9728
发布评论请先 登录
Visual C#中的数据绑定
[每周一练]Actor Framework框架(1125-1201)
CC2640 BLE ZNP有类似host framework框架参考使用吗?
基于HarmonyOS Java UI使用元数据绑定框架实现UI和数据源的绑定
基于HarmonyOS Java UI,使用元数据绑定框架,实现UI和数据源的绑定
CH372DLL.dll在.NET Framework 4.7.2及以上版本框架会闪退如何解决?
.NET Framework 高级编程
嵌入式应用框架EAF详解
关于嵌入式应用框架(EAF)的分析
Robot Framework在汽车电子测试中,可以发挥出多大的作用
鸿蒙开发接口Ability框架:【@ohos.application.formBindingData (卡片数据绑定类)】

framework框架流程 模块绑定
评论