module介绍
SCP的每个功能都实现为一个单独的module,module间耦合性尽量低,确保安全特性,通常固件所需的整体功能应来自模块之间的交互。module间隔离就像上图中的狗咬架,一旦伸手产生交互就祸福不能预测了,所以加上栏杆,规定好那些module间可以交互伸手,这都是通过API函数实现的,在系统初始化的时候设定死,下面模块间绑定章节会讲到。
SCP中的module分为两部分:在代码根目录module文件夹下,共77个公共模块,另外每个产品下面还有module,小100个可真不少。
一个固件只包含一部分module,在Firmware.cmake中定义,gen_module_code.py脚本生成源码
这些module在framework启动时候初始化启动运行。
公共的module比较有通用性,产品自己的module一般是驱动需要进行定制
这个协议栈就是SCP软件跟外界交互的流程,一般消息都是通过驱动-》HAL层上来,然后处理的过程就是服务-》协议-》HAL-》驱动再操作硬件做出反应,这次交互就算结束了。
全部0条评论
快来发表一下你的评论吧 !