前面简单介绍了SDK相关的目录结构,接下来就要了解下,所谓的Linux+Liteos双系统到底是个什么情况?
HI3556V200这颗SOC包含两个CPU,简单来说可以在一个CPU上运行Linux系统,另一个CPU上运行Liteos系统,两个系统之间通过某种方式进行通信交互。
问题来了,为啥要运行双系统?
Linux系统的优点就不用说了,毕竟是现在最大的开源系统,使用的地方很多。但是Linux系统也有一些缺点,针对运动DV和行车记录仪这种需要快速启动响应的场景来说,linux启动速度比较慢,一个没有裁剪过的内核和uboot完全启动就需要五六秒甚至十多秒。
Liteos是轻量级的实时操作系统,和以前在STM32中运行RTOS一样。优点之一便是启动速度快,基本上是秒级的启动速度。因为是轻量级的实时操作系统,所以对一些网络接口、Libc中的一些接口或者某些外围硬件兼容性没有Linux操作系统那么好。
所以,在某些需要快速响应同时也有一些复杂的需求的产品(消费类影像产品)来说,就需要使用Liteos来快速启动,快速启动编码模块,采集音视频。Linux系统则负责云端通信,网络管理,录像管理等部分。
【HI3556V200 Linux+Liteos双系统学习(3)----双系统架构】双体系布局如下:
文章图片
如上图,双系统协同工作,通过IPCM进行数据传输和信令交互。
在上图中,将MPP中音视频部分,包含音视频的采集,编码,解码等部分部署在Liteos端,方便快速启动媒体业务。因此,媒体业务相关的外设也部署在liteos端,像sensor、咪头、喇叭、LCD屏幕等。
将另外一些繁杂的外设例如蓝牙,wifi,USB等部分则部署在Linux端。