随笔_MTK联发科
MTK平台技术随笔
杨涂涂
做最好的自己!!
展开
-
MTK平台 在lk阶段,读取IMEI号
MTK的写号工具“SN_WITERtool”,在写IMEI和SN的时候,会往“proinfo”分区里面也写一份IMEI和SN,可以通过读取这个分区,获取SN和IMEI。前面64个字节为SN号,紧接着4*10个字节为IMEI。原创 2022-08-02 17:00:31 · 2391 阅读 · 1 评论 -
MTK平台 BootLoader lk部分串口驱动简析,以及客制化和外设通讯串口
只分析主要代码,省略了不重要的代码:bootable/bootloader/lk/platform/mtxxxx/uart.c原创 2022-07-02 18:33:54 · 1053 阅读 · 0 评论 -
MT8665 Android 5.1 I2C驱动,非DMA方式,无法读写超过8个字节的问题的修改
MTK驱动,在非DMA方式下,使用FIFO作为数据缓冲,但是,只使用了1次!这个FIFO刚好8字节,只使用1次就是,写满了之后发,或者收满了之后读,所以读写都被限定在8字节。原创 2022-06-28 15:23:43 · 1276 阅读 · 0 评论 -
MTK平台 配置GNSS的不同模式
MTK平台 配置GNSS的不同模式Android 5.1 相关源码:hardware/mediatek/gps/mnl/mnl_aosp/mnld/src/mnld.chardware/mediatek/gps/mnl/mnl_aosp/inc/mtk_gps_type.hAndroid 8.1 相关源码:vendor/mediatek/proprietary/hardware/connectivity/gps/mtk_mnld/mnld_entity/src/gps_controller.cv原创 2021-03-12 16:37:06 · 1869 阅读 · 0 评论 -
MTK平台 更换前后camera的MIPI CSI接口
MTK平台 更换前后camera的MIPI CSI接口在vendor目录下面,有一个文件“cfg_setting_imgsensor.cpp”,这个文件里面有一个函数“getMipiSensorPort”,如下:MINT32 getMipiSensorPort(EDevId const eDevId){ switch (eDevId) { case eDevId_ImgSensor0://main return EMipiPort_CSI2原创 2021-01-26 17:35:49 · 1440 阅读 · 0 评论 -
MT6762 Android 8.1 移植acc+gyro二合一sensor之后,acc有数据,gyro没有数据的问题
MT6762 Android 8.1 移植acc+gyro二合一sensor之后,acc有数据,gyro没有数据的问题遇到的问题是因为开了虚拟陀螺仪,修改下面文件:/vendor/mediatek/proprietary/custom/k65v1_64_bsp/hal/sensors/sensor/hwmsen_custom.h注释掉: #define VIRTUAL_GYROSCOPE_ALGORITHMgyro就可以正常使用了!虚拟陀螺仪,VirtGyro的数据是由acc和msensor的数据原创 2020-07-22 18:18:49 · 1864 阅读 · 1 评论 -
MTK Android 8.1 Thermal Management 温控策略实现mtktscpu依次使用cpu_adaptive_0和cpu_adaptive_1
MTK Android 8.1 Thermal Management 温控策略实现mtktscpu依次使用cpu_adaptive_0和cpu_adaptive_1MTK 默认的温控策略,thermal zone “mtktscpu”如果设置两个如下thermal cooler “cpu_adaptive_0”和“cpu_adaptive_1”,则温度升高的时候,只会执行“cpu_adaptive_1”,不会执行“cpu_adaptive_0”,如图:当温度逐渐升高到100度的时候,开始执行coole原创 2020-06-15 15:16:35 · 3257 阅读 · 1 评论 -
MT6762 Android 8.1 打开custom分区,挂载custom分区,OTA升级custom分区
MT6762 Android 8.1 打开custom分区,挂载custom分区,OTA升级custom分区1.打开custom分区2.挂载custom分区3.OTA升级custom分区1.打开custom分区MTK的 Android 8.1 代码实际是支持custom分区的,只是默认是关闭的,修改 ProjectConfig.mk 的 “MTK_CIP_SUPPORT = yes” 可以打开custom分区。打开选项之后,重新编译系统,会看到生成“custom.img”文件,并且out目录下会生成“原创 2020-06-09 19:52:19 · 1715 阅读 · 0 评论 -
MT6739 Android 8.1 取消强制data分区加密,recovery时候挂载data分区
MT6739 Android 8.1 取消强制data分区加密,recovery时候挂载data分区注意:不取消data分区加密的话,recovery时候无法挂载data分区!取消data分区默认加密,修改如下:vendor/mediatek/proprietary/hardware/fstab/mt6739/fstab.in....../* Can overwrite FDE sett...原创 2020-04-18 18:26:58 · 6145 阅读 · 0 评论 -
MT6739 Android 8.1 修改HAL层mtkcam,避免camera对不支持的分辨率做裁剪拉伸
MT6739 Android 8.1 修改HAL层mtkcam,避免camera对不支持的分辨率做裁剪拉伸项目使用CVBS摄像头,然后转mipi,会用到NTSC和PAL制式的摄像头,隔行扫描,分辨率比较特殊,720x240,960x240,720x288,960x288,preview的时候,画面会被裁剪拉伸!通过log追代码,实际preview的时候是以1280x720去预览的,就是16:9...原创 2020-01-13 15:49:06 · 2623 阅读 · 1 评论 -
MT6739 Android 8.1 I2C口电平转换低电平无法到0V的解决办法
MT6739 Android 8.1 I2C口电平转换低电平无法到0V的解决办法项目使用MOS管做I2C的电平转换,I2C有内部上拉电阻,如下图:同样的电路在其他平台已经验证过了,到了MT6739这个平台发现,当I2C为master,向salve发送数据时,S1点(蓝色)和D1点(黄色)的低电平如下:可以看到S1点没有完全到0V,导致MOS管没有完全导通,所以D1点也没有降为0V;感觉...原创 2019-07-30 19:01:41 · 5898 阅读 · 2 评论 -
MT6580/MT6739 Android_8.1 消除奇偶帧隔行扫描抖动(实际是丢帧的方式)
MT6580 Android_8.1 消除奇偶帧隔行扫描抖动修改文件: ./vendor/mediatek/proprietary/hardware/mtkcam/legacy/platform/mt6580/hal/sensor/seninf_drv.cppint SeninfDrvImp::setTg1ViewFinderMode( unsigned long spMode){...原创 2019-07-03 17:55:20 · 1038 阅读 · 0 评论 -
MTK Android5.1 单独调整主副麦的模拟增益PGA(MT6350_PMIC)
项目使用副麦消噪,但是副麦增益太小,需要单独修改副麦增益,使用工程模式APP和Audio Tuning Tool调整的MIC的Level4的值,都会同时调整主麦和副麦的增益,而且这个调整的增益应该是数字增益!其实,主麦和副麦模拟信号进入PMIC之后,还是分别有一个模拟增益的调整的,不过好像工程模式APP和Audio Tuning Tool的工具没办法调整,需要去源码找!原创 2018-07-28 18:12:08 · 2689 阅读 · 0 评论