SCP固件执行步骤
运行前阶段:按固定顺序排列的5个阶段
• 模块初始化:框架使用模块配置数据调用的模块的.init()函数。
• 元素初始化:带有元素配置数据的框架调用的模块的.Element_init()函数。只有当模块具有元素时,此阶段才有效。
• 初始化后:框架调用的模块的.Post_init()函数。元素数据提供给模块后的任何额外初始化。可选阶段。
•框架调用的模块的Bind:.Bind()函数。模块和元素绑定到其他模块和元素。可选阶段。
• 框架调用的模块的Start:.Start()函数。模块可以使用其他模块的资源来完成初始化。
可选阶段。
• 主要由模块之间的交互引导的正常执行流程。
• 生成和处理的事件、通知和响应。
模块间通信
Events & Notifications
Events
事件:交流请求/响应的抽象。在被调用者上下文中实现逻辑任务的机制。•模块提了.procse_event()处理程序,当找到事件目标模块时,Framework会调用该处理程序。•当与请求相关的任务完成时,可能会发送响应事件。响应可以作为事件处理的一部分发送,也可以稍后发送。–延迟响应:稍后发送响应,而不是在处理事件后立即发送–标准响应:一旦.produce_event()返回,Framework就会生成响应。–响应是一个设置了响应标志的事件。固件以与事件相同的方式进行处理。
Notifications
通知:设置了通知字段的事件。•模块可以订阅来自其他模块的通知。通知由框架广播到所有订阅的模块。•可用于实现依赖链。–例如,如果在系统电源转换之前,我们可能需要更改时钟或设置一些
唤醒处理。模块可以使用来自系统电源模块的通知。
事件处理
创建事件-put_event()

put_event_and_wait()
模块不使用公共/框架线程。线程阻塞,直到事件得到处理并生成响应。

处理事件
在框架/公共线程或模块线程上下文中处理的事件

-
模块
+关注
关注
7文章
2822浏览量
52790 -
ARM
+关注
关注
135文章
9499浏览量
388559 -
通信
+关注
关注
18文章
6314浏览量
139538 -
固件
+关注
关注
11文章
568浏览量
24602 -
SCP
+关注
关注
0文章
30浏览量
9728
发布评论请先 登录
串口间的通信
关于SCP和AP通信的MHU介绍
核间通信(IPC)解决方案
利用RCS库实现数控系统模块间的通信
利用RCS库实现数控系统模块间的通信
如何在Zynq Cortex A9处理器之间执行处理器间通信
MELSEC iQ R模块间同步功能参考手册
ARM SCP入门-AP与SCP通信
SCP是什么 SCP功能
SCP基本构建块介绍
SCP中的module是什么

SCP固件执行步骤和模块间通信
评论