Monthly Archives: April 2018

Android Kernel version

Kernel version requirements:

  • All SoCs productized in 2017 must launch with kernel 4.4 or newer.
  • All other SoCs launching new Android devices running Android 8.0 must use kernel 3.18 or newer.
  • Regardless of launch date, all SoCs with device launches on Android 8.0 remain subject to kernel changes required to enable Treble.
  • Older Android devices released prior to Android 8.0 but that will be upgraded to Android 8.0 can continue to use their original base kernel version if desired.

Source: AOSP

手机摄像头驱动的故事

小米发布了新机Mi 6x, 搭载Qualcomm的660 AIE处理器, Sony IMX 376前置摄像头.

一直想知道Linux是否有Qualcomm Snapdragon系列芯片的驱动,源代码如何.

通过Google搜索sony imx drivers,找到了Quamcomm Develop Network 上的一个提问.

问题的大概意思是题主希望得到 IMX 214/135的datasheet从而能够设置更具体的参数来完成一个研究。具体的参数比如FPS和曝光的时间长度。

其中提到了Snapdragon Linux Camera Interface Specification,通过搜索找到了Linux Kernel有关的内容

IMX系列本身是一个CMOS Image Sensor,随后想到了Sensor和Lens以及Motor是怎样配合的,通过搜索image sensor and lens and motor,找到了一篇文章.其中提到了ISP,也就是他来协同这个过程的。

从Kernel的文档关联搜索到了关于CSI接口的规格定义以及接口的C语言实现

QDN的问题中还提到了BSP(Board support package).

意外发现了LinuxTVPX4  (一个无人机自动驾驶的开源项目).

关于驱动:

The software that handles or manages a hardware controller is known as a device driver. The Linux kernel device drivers are, essentially, a shared library of privileged, memory resident, low level hardware handling routines. It is Linux’s device drivers that handle the peculiarities of the devices they are managing.

驱动软件是硬件提供的可以被控制的参数和数据接口,硬件功能的API,也就是接口电路可以接受的指令以及传送的数据格式定义.

拆解手机摄像头到光学元器件

至于芯片如何控制透镜的移动,快门的闭合以及光圈的大小等等firmware功能介绍要参考ARM的文章

Android平台对Camera的抽象层定义要看开发文档.

新思考电机有限公司专精于手持装置内建之自动焦功能的微型音圈马达(Auto-Focus Voice Coil Motor)的设计、研发、销售及制造是自动对焦音圈马达(Auto-Focus Voice Coil Motor)的产业先驱。

舜禹光学是中国领先的综合光学产品制造商和光学影像系统解决方案提供商.

我已经不记得这家光学科技厂商是如何进入我的视野的,我依稀记得Philips Azurion设备以及Nidek眼科设备都是光电微波计算设备这个事情可能是启发了我.

注:视频和Android文档都需要翻墙.