软件架构
SDK层次结构
1. Hardware:硬件层,完成I/O等具体的硬件功能。
2. Linux Kernel:内核层,完成基础的系统功能,定义硬件资源。
3. Drivers:ko模块驱动,可通过driver进行硬件操作。
4. API Lib:接口库,实现硬件功能抽象化的集合,方便于应用层的开发。API库主要有五部分:
1. libimp:多媒体功能库,如H265/H264/JPEG编码,IVS、OSD和Audio等。
2. libsysutils:系统功能库,如重启,设置系统时间和电池功能等。
3. libalog:Tassadar-SDK的log实现库。
4. libivs_inf:IVS算法库,包括越线检测,周界防范等。
5. libmxu:128位mxu加速指令算子库。
5. Application:应用层,实现功能逻辑等。
Application推荐使用SDK库提供的API并配合drivers进行开发。对于一些特殊的功能需求,也可以直接调用内核接口进行开发。