背景
在bt、wifi、tp-touch、camera、vpu等驱动中会经常遇到firmware, firmware主要是其他外设控制器的运行程序或者配置;
一般有以下2种使用方式:
将fw data转化为特定的数组,编码在驱动代码中。会造成kernel镜像size变大, 有可能造成镜像超限, 导致kernel启动失败; 调试升级都不方便, 每次修改fw都需要重新编译内核
将fw打包到文件系统中,如vendor,system,lib/firmware等等,需要的时候从用户空间中load到kernel空间中,在驱动中应用比较广泛
以前在汇顶的TP-touch驱动中load配置2种方式都有使用,常用的最后一种,比较灵活;
使用
主要API:
Synchronous:
request_firmware
Asynchronous:
........
作者: Shell