Sunrise camera 开发说明
Sunrise camera 系统设计
系统框图
Sunrise camera 实现了智能摄像机、智能分析盒等多种应用方案。
Sunrise camera 源码包括用户操作层的 WebPages、通信模块层、功能模块层;本文档主要介绍这三个模块的设计。
Hal 层模块包括多媒体相关模块调用接口库, BPU 模块推理库等;
Kernel 版本包含标准驱动库的基础上,系统 BSP。
软件框图如下所示:
微核设计
微核架构( microkernel architecture )又称为“插件架构”( plug-in architecture ),指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现。
内核( core )通常只包含系统运行的最小功能。插件则是互相独立的,插件之间的通信,应该减少到最低,避免出现互相依赖的问题。
架构优缺点
优点
良好的功能延伸性,需要什么功能,开发插件即可。
功能之间是隔离的,插件可以独立的加载和卸载,容易部署。
可定制性高,适应不同的开发需要。
可以渐进式开发,逐步添加功能。
缺点
扩展性差,内核通常是一个独立单元,不容易做成分布式。
开发难度相对较高,因为涉及到插件与内核的通信,以及插件登记。