前面簡單介紹了SDK相關的目錄結構,接下來就要了解下,所謂的Linux+Liteos雙系統到底是個什麼情況?
HI3556V200這顆SOC包含兩個CPU,簡單來說可以在一個CPU上運行Linux系統,另一個CPU上運行Liteos系統,兩個系統之間通過某種方式進行通信交互。
問題來了,爲啥要運行雙系統?
Linux系統的優點就不用說了,畢竟是現在最大的開源系統,使用的地方很多。但是Linux系統也有一些缺點,針對運動DV和行車記錄儀這種需要快速啓動響應的場景來說,linux啓動速度比較慢,一個沒有裁剪過的內核和uboot完全啓動就需要五六秒甚至十多秒。
Liteos是輕量級的實時操作系統,和以前在STM32中運行RTOS一樣。優點之一便是啓動速度快,基本上是秒級的啓動速度。因爲是輕量級的實時操作系統,所以對一些網絡接口、Libc中的一些接口或者某些外圍硬件兼容性沒有Linux操作系統那麼好。
所以,在某些需要快速響應同時也有一些複雜的需求的產品(消費類影像產品)來說,就需要使用Liteos來快速啓動,快速啓動編碼模塊,採集音視頻。Linux系統則負責雲端通信,網絡管理,錄像管理等部分。
雙體系佈局如下:
如上圖,雙系統協同工作,通過IPCM進行數據傳輸和信令交互。
在上圖中,將MPP中音視頻部分,包含音視頻的採集,編碼,解碼等部分部署在Liteos端,方便快速啓動媒體業務。因此,媒體業務相關的外設也部署在liteos端,像sensor、咪頭、喇叭、LCD屏幕等。
將另外一些繁雜的外設例如藍牙,wifi,USB等部分則部署在Linux端。