aaashun's site

home

mtk平台lcm工作日志

01 Mar 2015

在x项目里帮忙解决mtk平台dlp的显示问题, 之前没接解过lcm这块的驱动, 也是费了不少心思的, 理解仍为粗浅, 这里只是一些参考的汇总, 见笑. (注: 一般电路板和驱动的工作让方案商完成即可)

android bootloader过程

参考 MTK6577+Android启动----U-Boot

得知道lcm驱动会同时编进bootloader和kernel里, 显示的初始化是在bootloader里完成的, 只有在待机恢复时才会调用到kernel里的lcm get parameters接口

lcm驱动过程

参考 LCD 驱动过程详解

lcm移植示例

参考 MTK Android Driver: lcm 代码一般位于mediatek/custom/common/kernel/lcm/xxx/yyy.c, 已有源码里可以找到不少参考的驱动, 一般只需要修改WIDTH, HEIGHT及其它显示参数即可

lcm基础知识

参考 AndroidLCD

如下一些基本概念:

调试经验

参考 驱动之LCD, mtk平台LCD驱动调试

示波器可以很方便确认HSYNC, VSYNC, VCLK, VDEN等信号输出是否正常

常用编译和刷机

LK, 内核, 框架模块, app都是可以单独编译的, 完整编译则需要要1个小时, 如下make_project.sh是对makeMtk的封装, 从淘宝上买的源码里应该都有的.

# first make
#./make_project.sh R22231 mr706 MR7063H1C6W1 new

# clean and remake
./make_project.sh R22231 mr706 MR7063H1C6W1 remake

# remake little kernel
./make_project.sh R22231 mr706 MR7063H1C6W1 remake lk

# remake kernel
./make_project.sh R22231 mr706 MR7063H1C6W1 remake k bootimage

# remake a module
./make_project.sh R22231 mr706 MR7063H1C6W1 mm mediatek/platform/mt6582/hardware/audio

刷机可以用fastboot单刷lk, kernel, system等, 很快, 完整刷一遍则需要5分钟以上, 如果不慎变成砖的话可以用windows上的MTK smart phone flash tool工具来强刷

# flash little kernel
adb reboot bootloader; fastboot flash uboot out/target/product/mr706/lk.bin; fastboot reboot

# flash kernel
adb reboot bootloader; fastboot flash boot out/target/product/mr706/boot.img; fastboot reboot

# flash startup logo
adb reboot bootloader; fastboot flash logo out/target/product/mr706/logo.bin; fastboot reboot

# flash android system
adb reboot bootloader; fastboot flash system out/target/product/mr706/system.img; fastboot reboot

android内核日志查看

adb logcat
adb shell cat /proc/sys/kernel/printk
comments powered by Disqus