OTP(One Time Programmable)是一种存储器类型,意思是一次性可编程:程序烧入之后,将不可再次更改和清除。
OTP的作用:sensor OTP是用来保证每个sensor一致性的一些校准数据。比如模组厂生产了一批模组,由于外部因素导致这些模组或多或少存在一些差异。模组厂就会挑选出最接近一批中间值的模组,称之为golden,然后将其他模组的相关参数校准到和golden一致。
OTP一般用来储存lens shading Calibration信息,AWB参数,AF参数和模组的相关信息(模组的生产年月,模组ID)等。
OTP常用的两种方法:
1.OTP数据烧录在sensor本身的芯片中。该方法不需要额外的储存器件,但是储存空间较小,不适合较大数据。
2.OTP数据放在EEPROM中:
EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片
该方法需要专门的EEPROM驱动程序。
该方法送给平台端的RawData是已经校正过的数据。
验证EEPROM是否bringup成功:
adb root && adb remount adb shell mkdir /vendor/etc/camera/adb shell "echo dumpSensorEEPROMData=1 >> /vendor/etc/camera/camxoverridesettings.txt"
重启之后:
adb root && adb remount adb shellcd data/vendor/camera
EEPROM bringup成功的话OTP的数据就会从这里看到
*kbuffer_OTP.txt文件: