模块驱动和链接库使用说明

表1

名称 大小(KB) 用途 是否必须
lib/ld-uClibc-1.0.31.so       20.9K toolchain 使用的标准库 YES
lib/libncurses.so.6.0         183.3K toolchain 使用的标准库 YES
lib/libstdc++.so.6.0.20       619.5K toolchain 使用的标准库 如果客户应用没有使用C++,则不需要
lib/libthread_db-1.0.31.so    17.1K toolchain 使用的标准库 NO
lib/libgcc_s.so.1             93.6K toolchain 使用的标准库 YES
lib/libuClibc-1.0.31.so   349.9K toolchain 使用的标准库 YES
lib/libatomic.so.1.1.0        13.3K toolchain 使用的标准库 YES
lib/libAEC_LINUX.so           65.8K audio算法库:回音消除 NO
lib/libAED_LINUX.so           112.1K audio算法库:babycry,高分贝检测 NO
lib/libAPC_LINUX.so           90.7K audio算法库:EQ,NR,HPF,AGC 如果客户没有使用audio功能,则不需要
lib/libBF_LINUX.so             70.9K audio算法库:波束成型。 NO
lib/libMD_LINUX.so            442.4K 运行检测算法 NO
lib/libOD_LINUX.so            430.4K 遮挡检测算法 NO
lib/libSRC_LINUX.so           30.0K audio算法库:重采样。 NO
lib/libSSL_LINUX.so           30.2K audio算法库:声源定位。 NO
lib/libVG_LINUX.so            69.7K 虚拟围栏检测算法 NO
lib/libcam_fs_wrapper.so      5.4K  sys模块与linux API的中间层 YES
lib/libcam_os_wrapper.so      33.8K sys模块与linux API的中间层 YES
lib/libcus3a.so               17.4K AF AE AWB接口 YES
lib/libg711.so                5.4K  音频编码库 NO
lib/libg726.so                 9.2K  音频编码库 NO
lib/libispalgo.so             225.2K 提供isp高级功能,如AF AE AWB YES
lib/libmi_ai.so               251.2K audio 输入相关库 如果客户没有使用audio功能,则不需要
lib/libmi_ao.so               82.9K audio 输出相关库 如果客户没有使用audio功能,则不需要
lib/libmi_common.so           41.7K mi 必备基础库 YES
lib/libmi_divp.so             5.3K  多媒体模块 DIVP函数接口 YES
lib/libmi_iqserver.so         66.4K 与iqtool工具通讯,提供网络调试iq的功能,对接isp模块 NO
lib/libmi_iqserver_pretzel.so 42.0K 与iqtool工具通讯,非335 337平台 NO
lib/libmi_isp.so              42.4K ISP函数接口封装库 YES
lib/libmi_isp_pretzel.so      38.0K ISP函数接口封装库,非335 337平台 NO
lib/libmi_ive.so              454.6K 提供硬件算子的使用 如果客户没有使用IVE算子,也没有使用SIGMASTAR MD OD VG算法,则不需要
lib/libmi_ldc.so              9.4K  镜头畸变校正的函数接口,335 337无此功能 NO
lib/libmi_rgn.so              9.4K  OSD函数接口 YES
lib/libmi_sed.so              13.3K smart encoder NO
lib/libmi_sensor.so           9.3K  多媒体模块 SENSOR函数接口 YES
lib/libmi_shadow.so           13.4K 提供vdf对接接口 如果使用SIGMASTAR的MD OD VG算法,则需要
lib/libmi_sys.so              17.4K MI层 必备基础库,负责搭建基础mi框架,提供buf管理 YES
lib/libmi_vdf.so              85.6K 提供视频算法功能,包括移动监测,遮挡检测,虚拟围栏等 如果使用SIGMASTAR的MD OD VG算法,则需要
lib/libmi_venc.so             25.4K 多媒体模块 VENC函数接口,提供视频解码功能 YES
lib/libmi_vif.so              9.3K  多媒体模块 VIF函数接口 YES
lib/libmi_vpe.so              13.4K 多媒体模块 VPE函数接口 YES
lib/libmi_cipher.so 9.5K 硬件加密模块(AES RSA SHA)函数接口 NO(不随SDK发布,需要单独找sigmaster提供)
4166KB

表2

内核ko文件 大小 用途 是否必须
/config/modules/4.9.84/SC4238_MIPI.ko 19.9K  SC4238 sensor 驱动 NO
/config/modules/4.9.84/imx291_MIPI.ko 10.3K  imx291 sensor 驱动 NO
/config/modules/4.9.84/imx307_MIPI.ko 19.6K  imx307 sensor 驱动 NO
/config/modules/4.9.84/mhal.ko        1.2M   多媒体层的底层实现 YES
/config/modules/4.9.84/mi_ai.ko       170.1K Audio 采集模块的实现 如果客户没有使用audio功能,则不需要
/config/modules/4.9.84/mi_ao.ko        91.9K  Audio 输出模块的实现 如果客户没有使用audio功能,则不需要
/config/modules/4.9.84/mi_common.ko   9.7K   mi 必备基础库的实现 YES
/config/modules/4.9.84/mi_divp.ko     52.8K  多媒体 DIVP模块的实现 YES
/config/modules/4.9.84/mi_ldc.ko      7.6K   镜头畸变校正的实现,335 337无此功能 NO
/config/modules/4.9.84/mi_rgn.ko      92.1K  OSD模块的实现 YES
/config/modules/4.9.84/mi_sensor.ko   29.6K  多媒体 SENSOR模块的实现 YES
/config/modules/4.9.84/mi_shadow.ko   46.8K  vdf对接接口的实现 如果使用SIGMASTAR的MD OD VG算法,则需要
"/config/modules/4.9.84/mi_sys.ko 需要配合config_tool和 mmap.ini所在路径  加指定参数" 414.4K MI层 必备基础库的实现,负责搭建基础mi框架,提供buf管理 YES
/config/modules/4.9.84/mi_venc.ko需要配合chagall.bin固件所在路径加指定参数  " 165.0K 多媒体 VENC模块的实现 YES
/config/modules/4.9.84/mi_vif.ko      40.7K  多媒体 VIF模块的实现 YES
/config/modules/4.9.84/mi_vpe.ko      143.9K 多媒体 VPE模块的实现 YES
/config/modules/4.9.84/mi_cipher.ko    硬件加密模块(AES RSA SHA)函数接口的实现 NO(不随SDK发布,需要单独找sigmaster提供)
/config/modules/4.9.84/mmc_block.ko   28.9K  SD卡相关驱动,mmc 基础驱动 NO
/config/modules/4.9.84/mmc_core.ko    95.2K  SD卡相关驱动,mmc 基础驱动 NO
/config/modules/4.9.84/ms_notify.ko   4.1K   netlink,运行mixer才需要加载 NO
/config/modules/4.9.84/msdos.ko       9.8K   MSDOS 文件系统 NO
/config/modules/4.9.84/nfs.ko         123.0K nfs网络文件系统 NO
/config/modules/4.9.84/nfsv2.ko       16.9K  nfs网络文件系统 NO
/config/modules/4.9.84/nls_utf8.ko    3.6K   utf8 字体驱动 NO
/config/modules/4.9.84/ntfs.ko        87.0K  NTFS 文件系统驱动 NO
/config/modules/4.9.84/sc4236_MIPI.ko 12.7K  SC4236 sensor驱动 NO
/config/modules/4.9.84/scsi_mod.ko    118.2K USB 和 SD卡需要驱动 NO
/config/modules/4.9.84/sd_mod.ko      30.5K  SD卡相关驱动,scsi 接口磁盘支持 NO
/config/modules/4.9.84/sunrpc.ko      173.6K 用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用 NO
/config/modules/4.9.84/usb-common.ko  5.5K   usb 基础驱动 NO
/config/modules/4.9.84/usb-storage.ko 68.4K  usb 盘驱动 (依赖usb基础驱动) NO
/config/modules/4.9.84/usbcore.ko     144.3K usb host 基础驱动 NO
/config/modules/4.9.84/cifs.ko        202.6K CIFS 文件系统驱动 NO
/config/modules/4.9.84/ehci-hcd.ko    40.5K  usb2.0 host控制器驱动 NO
/config/modules/4.9.84/fat.ko         53.0K  fat 文件系统 NO
/config/modules/4.9.84/grace.ko       5.4K   nfs网络文件系统 NO
/config/modules/4.9.84/lockd.ko       49.1K  Mount nfs 所需要驱动 NO
/config/modules/4.9.84/kdrv_sdmmc.ko  30.7K  sd 卡驱动 NO
/config/modules/4.9.84/vfat.ko        11.5K  vfat 文件系统(u 盘或者SD卡) NO

表3

工具及配置文件 大小 用途 是否必须
config_tool 和 mmap.ini insmod mi_sys.ko的时候,驱动调用config_tool解析mmap.ini分硬件分配buffer。默认位于/config目录下,更换位置时需要在insmod mi_sys.ko之后加default_config_path='/new/path' YES
isp_api.xml 连接iqtool生成软件界面项目用的。更换路径时,需要在应用在iqserver_open 之前调用mi_iqserver.h里的 MI_S32 MI_IQSERVER_SetDataPathchar\* path;改变路径。 NO
iqfile0.bin -> imx307_iqfile.bin Isp启动(应用运行)时会去/config/iqfile目录下读取iq file名为iqfilex.bin(x表示isp channel),图像的基础效果(一般是软链接指向实际的iq file)。如果该文件更换位置,需要在应用运行前执行:echo isproot /new/path > /dev/ispmid YES
chagall.bin HW encoder fireware。默认位于/config/fw_path/chagall.bin,更换位置时需要在insmod mi_venc.ko之后加fw_path=/new/path/chagall.bin YES
terminfo htop工具依赖,可用top命令代替 NO
riu_r riu_w 寄存器读写工具,可删除 NO
其余未罗列的工具和文件都是不必要的。

表4

其他insmod参数说明
mi_venc.ko之后加上max_width=1920 max_height=1088 指定venc的最大分辨率,不指定的时候能使用的最大分辨率是2688*1944,mma里会多占内存