简述 kernel 态下 buf 的填充
其实hal层处于kernel的user层。算是一个用户空间的应用程序。它的buf数据的填充应该是由kernel层来实现的。
它和kernel层的交互可以这么理解:
- 每当新一帧开始之前,在足够时间内,通常是前一帧,此时要配置好新一帧数据填充的地址。此时hal把buf传给kernel层(主要是addr,当然也有camera metadata对应的对isp内部子模块的开关配置)。
- 然后kernel架构会把addr配置到isp中,并启动isp。
- 当sensor开始泵数据过来时,一帧数据产生后。会有对应的中断,也就是4-a和5-a。kernel会处理这些中断并把已经填充好输出的buf返回给hal层。