如何在MTK平台进行驱动调试

如何在MTK平台进行驱动调试,第1张

1. makefile

MXX_GPRS.mak(mcu\make)

Option.mak(mcu\make)

对于同一个平台,不同的项目有着不同的功能配置。对于驱动调试来说,需要修改和添加一些宏开关控制;

基本格式和步骤:

MXX_GPRS.mak :

XXX_XXX = XXX

XXX_XXX = NONE

XXX_XXX = TRUE

XXX_XXX = FALSE

Option.mak:

ifdef XXX_XXX

ifneq ($(strip $( XXX_XXX)),FALSE)

COM_DEFS+= XXX_XXX

endif

endif

代码中就使用XXX_XXX来控制相关代码;

#if defined(XXX_XXX)

//add code here

#endif

Custominfo.pl(mcu\tools)

这个文件是当在mcu\custom\drv下添加与LCD,image_sensor等类似的模块时,需要修改此文件以便ADS编译系统能编译到此模块下的文件;

可以参考image_sensor。

if (($project ne "basic") &&($project ne "l1s") &&defined($cmos_sensor)) {

if ($cmos_sensor ne "NONE") {

push(@thatdirs, "drv\\image_sensor\\$cmos_sensor");

}

}

2. LCM;Backlight;Vibrator

以SUNRISE_0255_LCM为例

步骤1:

MXX_GPRS.mak中配置LCD_MODULE和MAIN_LCD_SIZE;

LCD_MODULE = SUNRISE_0255_LCM

MAIN_LCD_SIZE = 240X320

Option.mak中加入:

COM_DEFS_FOR_SUNRISE_0255_LCM = SUNRISE_0255_LCM HX8312 COLOR_LCD TFT_MAINLCD QVGA_MAINLCD

其中HX8312为LCD的型号;

COLOR_LCD,TFT_MAINLCD,QVGA_MAINLCD为LCD的类型

QVGA_MAINLCD:240X320

QCIF_MAINLCD: 176X220

QQVGA_MAINLCD: 120X160

如在SUNRISE_0255_LCM的基础上添加兼容屏;则在HX8312后面顺序加入LCD的型号

如果有Sub LCD;则需要顺序加入DUAL_LCD;COLOR_SUBLCD以及型号名称;

步骤2:

Mcu\custom\drv\LCD目录下添加SUNRISE_0255_LCM模块;目录以SUNRISE_0255_LCM为名。

可以参考其他LCM;加入和修改5个文件分别为:

lcd.c

lcd_hw.h

lcd_sw.h

lcd_sw_inc.h

lcd_sw_rnd.h

lcd.c:实现LCD的驱动接口

一般有init; sleep in;sleep outblock write等

lcd_hw.h: 一般不需要修改;

lcd_sw.h: 配置data address;command address和output format;

lcd_sw_inc.h:配置LCD WIDTH和HEIGHT

lcd_sw_rnd.h: 一般不需修改;

步骤3:

加入背光控制代码;

Mcu\custom\drv\misc_drv\custom_equipment.c

kal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level )

{

//用SUNRISE_0255_LCM来控制代码

}

GPIO模式和PWM模式;(函数默认是PWM模式)

如果是GPIO模式;则在上述函数中加入模拟代码;

如果是PWM模式;则需要根据实际情况在Mcu\custom\drv\misc_drv\custom_hw_default.c文件中修改PWM1_Level_Info;即频率和占空比;

另外在mcu\plutommi\mmi\gpio\gpioSrc\GeneralDeviceInterface.c中有详细的MMI对背光的控制代码;

另外还需熟悉lcd_if.c(mcu\drv\src)对上述接口的调用;

3.Camera module;Sensor

外挂DSP暂不讨论;以OV9650为例:

步骤1:

MXX_GPRS.mak中配置ISP_SUPPORT和CMOS_SENSOR;

ISP_SUPPORT = TRUE

CMOS_SENSOR = OV9650

CAMERA_PIXEL = ONE_MEGA_PIXEL

注:(一般30万象素可以插值到100万;130万可以插值到200万象素)

步骤2:

Mcu\custom\drv\image_sensor下添加OV9650目录;

添加或修改文件:

camera_hw.c:Module Power on/off 控制;(GPIO分配要看硬件的资源分配表)

camera_para.c: ISP、Sensor相关寄存器配置;在实际调试中对比效果来修改;

image_sensor.c:timing;sensor init;power on/off;preview;capture等接口实现;

image_sensor.h:有关sensor一些属性设置(一些宏定义);

camera_info.c: 一般不需修改;

在完成所有的功能之后;效果调试是主要工作;

主要工具:META;CCT等;

关于ISP Address可参考MTK平台的DataSheet;

步骤3:

需对以下目录的文件有一定的了解!

media\camera\;

media\video\;

plutommi\mtkapp\Camera\

plutommi\mtkapp\Video\

plutommi\mtkapp\MDI\

mtk安装刷机驱动的具体 *** 作方法如下:

工具:电脑、mtk刷机驱动程序

步骤:

第一步:先下载「mtk手机刷机驱动程序」

第二步:驱动程序下载完成后解压,在解压的文件夹内找到「mdmcpq.inf」和「usbser.sys」文件,将其拷贝到电脑「C:\Windows\System32\drivers」文件夹下,如果系统存在文件的话覆盖和取消复制都可以。

第三步:然后安装驱动文件里的「点击安装by木子ROM.exe」文件,64位系统安装「installdrv64.exe」文件;驱动安装过程中系统可能提示警告,不必理会,选择始终安装即可。

第四步:理论上到这里驱动已经安装成功,但有时候插上手机还是不能刷机,此时将手机处于关机状态下连接电脑,打开电脑的「设备管理器」注意会看到「MT65xx_Preloder」设备(特别注意:「MT65xx_Preloder」一闪就消失,(所以手要快)鼠标右键选择「更新驱动程序软件...」。

第五步:然后选择手动安装「浏览计算机以查找驱动程序软件」选项。

第六步:然后点击「浏览」,选择解压的驱动文件目录。

第七步:选择电脑所对应的系统。

第八步:驱动安装完成过程中系统可能出现警告提示,这里继续安装。

第九步:驱动安装成功。

第十步:驱动安装成功以后拔掉数据线,然后配置好刷机软件,在刷机过程中连接电脑,驱动此前正确安装,即可进入刷机状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11700683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存