当前位置: 首页 > 工具软件 > OTP > 使用案例 >

【展锐】OTP调试

娄振
2023-12-01

OTP分为内置和外挂,常用说法:内置(insensor OTP/sensor端OTP);外挂(EEPROM/平台端OTP)

按照平台OTP规范烧录,数据存储在E2PROM中,建议使用general驱动。

sensor_config.xml

        <OTP>
            <E2prom>
                <OtpName>general</OtpName>  如果使用sensor去处理,就写sensor驱动名
                <I2cAddr>X</I2cAddr>   eeprom就填写W地址,insensor就写sensor I2C
                <E2promNum>X</E2promNum>
                <E2promSize>X</E2promSize>  填写有效size就行
            </E2prom>
        </OTP>

E2promNum:
• 0:单摄, 一个EEPROM
• 1:双摄, 一个EEPROM
• 2:双摄, 两个EEPROM
• 3:多摄, 各自独立的EEPROM

按照平台OTP规范烧录,数据存储在insensor中,应用Sensor OTP的两种方式:
1.将Sensor OTP的处理放在Sensor驱动中,不需要单独维护OTP驱动,但是每一次进Camera都会处理OTP,增加启动时间

2.借助平台OTP流程处理Sensor OTP,只开机第一次读取OTP,需要按照平台架构嵌入Sensor OTP处理
这里就需要问到sensor FAE要读取OTP的文件,当然也可以自己写,sensor里面的地址,FLAG和size都是按照实际填写,将OTP数据全部读取到buffer里面,之后送到平台端处理即可

OTP driver:
第一次开机—>identify—>OTP init—>Read OTP to buffer
OTP driver:
进入Camera—>idertify—>Read OTP from buffer—>init setting—>Apply OTP
Sensor driver:
每次进入Camera—>identify—>init setting—>OTP init—>Read OTP—>Apply OTP

OTP数据确认

OTP每一个数据都会被打印出来,可以对着pd map查看数据是否对应上

使用平台端处理OTP数据的时候先会去确认buffer前六位 otp first six bytes看otp version is版本是什么就用相应的版本规范去解析OTP数据,最后做一个checksum,对应模块在PD map中有数据并且数据正确就会checksum pass,否则就会checksum error

比较常见的错误就是OTP size最后一位是否读完,如果没有读完就会出现pd map中前面的模块checksum pass;最后一个有数据的模块checksum error,这时候就需要size+1

 类似资料: