amp目录主要分为Liteos和Linux两个目录,每个目录下分别有下面四个目录。
该目录下主要包含了芯片以及板级相关的驱动。
此目录下包含了双系统之间通信相关的代码。包含datafifo和ipcmsg两个目录。datafifo主要用于双系统之间大数据传输,比如视频流数据。ipcmsg适用于双系统之间小数据通信,比如音频数据(几百个字节)、信令交互等。
此目录主要提供媒体服务驱动和相关库。
操作系统适配组件。
SDK编译相关的一些配置。
SDK全局配置参数文件,里面包含了同一SOC不同的软硬件配置(flash/sensor/内存/外设等)的配置文件,编译SDK时候可以根据设备进行修改。
此目录主要包含两部分。
此部分主要是基于MPP中的MPI部分,对MPI部分的接口做进一步的抽象和封装,形成新的接口,称为MAPI。这样封装的好处是,只需要简单的参数设置,就可以媲美以前的MPI繁杂的接口设置,简化了使用流程。另外,这个MAPI也支持多CPU双系统方案,减小了开发难度。
此部分主要是针对运行DV或者行车记录仪场景的核心功能,提供了一些中间件或者说模块,供上层应用进行调用。
大致包含以下模块:
录像模块:提供基本的录像功能;
文件管理模块:提供运动DV和行车场景下的文件管理功能;
文件封装模块:提供一些文件封装功能,MP4/DNG/TS/EXIF/XMP等;
网络点播模块:主要是RTSP直播流部分;
HiGUI模块:UI相关;
本地文件回放模块:实现本地文件回放功能。
osdrv 目录主要提供设备系统相关代码,包括 Bootloader、OS、Rootfs,关键Driver,工具等。
包含双系统之间通信(IPCM)相关的源码。
主要包含以下三个方面:
ipcm:双系统之间数据传输相关;
virt_tty:虚拟调试终端相关;
sharefs:共享文件系统相关。
内核、uboot、busybox源码路径。
Liteos源码。
文件系统源码。
一些常用的工具源码。
图像调优相关。
此部分主要提供了产品层面的一些参考组件,方便客户基于这些组件,根据需求进行裁剪,快速开发。
主要提供了两个产品级的参考组件:
action camera:运动相机类产品;
dash camera:行车记录仪(后视镜)类产品;