MTK平台驱动调试介绍.ppt
《MTK平台驱动调试介绍.ppt》由会员分享,可在线阅读,更多相关《MTK平台驱动调试介绍.ppt(37页珍藏版)》请在三一办公上搜索。
1、Agenda,一、驱动调试开发周期(一)给出EVT贴片软件(二)EVT至MP驱动调试(三)MP后项目维护二、驱动调试步骤(一)掌握资料(二)EVT贴片软件的整合(三)各模块调试优化三、各模块调试介绍,一.驱动调试开发周期,(一)给出EVT贴片软件接手新项目后需要根据硬件资源配置表和机器的配置整合一版软件,用于EVT试产主板贴片用,最低要求要能开机,背光能够点亮。如果LCD能点亮正常显示,则有利于产线测试,加快项目进度。(二)EVT至MP驱动调试拿到主板后调试各个模块:调试LCD、Camera效果等,保证各个模块能够正常工作。一直到量产前需要和硬件,测试工程师不断沟通解决出现的问题。(三)MP后
2、项目维护量产后需要跟进产线出现的问题及客户反映的问题。,二.驱动调试步骤,(一)掌握资料通常开始一个新项目的驱动调试的时候,需要掌握以下资料。1.硬件资源配置表(Hardware resource table)它包括BB上所有硬件资源的用法:GPIO/GPO InterfaceInterrupt settingKeypad settingADC settingChip Select/Audio setting/T-Flash Card Interface2.硬件原理图详细的硬件接法,便于调试时参考用。3.产品规格书/产品定义了解项目定义:机器的结构形式、LCD像素大小、sensor类型等。以上
3、资料由项目经理和硬件工程师给出。,(二)EVT贴片软件的整合,1.配置 makefilexxx_GPRS.mak(mcumake)Option.mak(mcumake)不同的项目需求不同,需要修改和添加一些宏开关控制。基本格式和步骤:MXX_GPRS.mak:XXX_XXX=XXX XXX_XXX=NONEXXX_XXX=TRUEXXX_XXX=FALSEOption.mak:ifdef XXX_XXXifneq($(strip$(XXX_XXX),FALSE)COM_DEFS+=XXX_XXXendifendif代码中就使用XXX_XXX来控制相关代码;#if defined(XXX_XXX
4、)/add code here#endif,驱动常用的一些宏开关:RF_MODULE=SIMC25_06B_MT6139E#MT6129DAFC_VCXO_TYPE=VCXO#VCTCXO PMIC=MT6305#Charge Function,NONE,MT6305 or MT6318PLATFORM=MT6225 LCD_MODULE=TRULY_1N2007_LCM MSDC_CARD_SUPPORT_TYPE=MSDC_SD_MMC FM_RADIO_CHIP=TEA5760UK#NONE,TEA5767HN,NAND_SUPPORT=FALSE USB_IN_NORMAL_MODE_
5、SUPPORT=TRUE ISP_SUPPORT=TRUE#TRUE,FALSECMOS_SENSOR=OV7670BLUETOOTH_SUPPORT=BTMTK_MT6601 TOUCH_PANEL_SUPPORT=TRUE#TRUE or FALSEPHONE_TYPE=BAR#BAR,CLAMSHELL,SLIDE PLATFORM_NAME=XXMAIN_LCD_SIZE=240X320 WEBCAM_SUPPORT=TRUE#TRUE,FALSE for WEB CAMERA support YUV_SENSOR_SUPPORT=TRUE#TRUE,FALSE,2.根据Hardwar
6、e resource table配置硬件资源,配置GPIO/GPO:GPIO/GPO的初始化设置;配置中断号:蓝牙中断号、Charger&USB中断检测号等;键盘定义:设置对power键才能正常开机;ADC 通道设置:Charger&USB检测通道等;其他设置:T卡,音频PA开关设置等。,3.整合LCD代码及背光代码,调试LCD和背光也需要从供应商处拿到以下资料:LCM型号,例如:TRULY_1N2007_LCM模组驱动IC型号及spec,例如:R61513Initial code/sleep code背光芯片spec背光代码的整合需要注意的是脉冲计数方式还是PWM方式控制EN脚。LCD代码整
7、合需要注意:数据传输的位数、blockwrite刷屏时起始、结束坐标的寄存器设置等等。后面再详细介绍。到这里为止EVT软件就可以整合出来,提供给产线贴片用了。(三)各模块调试优化拿到主板后需要开始各模块的调试和优化,比如LCD显示效果等。,三、各模块调试介绍,主要包括:GPIO/GPO Backlight LCMVibrator Touch panel Camera KeypadAFEADC EINT Charger/USB FlashBTOthers,模块调试:GPIO/GPO,mcucustomdrvmisc_drvSIMC25_06B_BBgpio_drv.cvoid GPIO_init
8、(void)/*GPIO0-7 配置为GPIO模式*/DRV_WriteReg(GPIO_MODE1,0 x0000);DRV_WriteReg(GPIO_MODE2,0 x5555);DRV_WriteReg(GPIO_MODE3,0 x1555);DRV_WriteReg(GPIO_MODE5,0 x5680);DRV_WriteReg(GPIO_MODE6,0 x5515);DRV_WriteReg(GPIO_MODE7,0 x1555);DRV_WriteReg(GPO_MODE,0 x0005);/GPO0 for EA24#if defined(_BAR_K28_)GPIO_Mod
9、eSetup(2,0);GPIO_InitIO(1,2);GPIO_WriteIO(0,2);#elif defined(_BAR_S50_)/LK 2007-06-27GPIO_ModeSetup(0,0);GPIO_InitIO(1,0);GPIO_WriteIO(0,0);#endif,模块调试:Backlight,mcucustomdrvmisc_drvSIMC25_06B_BBcustom_equipment.ckal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type,kal_uint8 gpio_dev_level)swi
10、tch(gpio_dev_type)case GPIO_DEV_LED_MAINLCD:/用屏的宏开关来控制代码 break;,注意事项:需根据硬件接法区分背光芯片使能端控制是脉冲计数还是PWM方式。脉冲计数:在GPIO端输出高低电平来模拟脉冲,连续发送一定数量的脉冲到背光芯片使能端,在其限定的范围之内,脉冲数越多,背光越亮,反之越暗。用此方式可以节省PWM资源用于其他用途。if(gpio_dev_level)switch(gpio_dev_level)case 1:temp=4;/7break;case 2:temp=11;/13break;case 3:temp=16;/19break;c
11、ase 4:temp=20;/25break;case 5:temp=25;/27break;default:temp=16;break;for(i=0;itemp;i+)GPIO_WriteIO(0,7);for(j=0;j 100;j+)GPIO_WriteIO(1,7);for(j=0;j20;j+)elseGPIO_WriteIO(0,7);,PWM模式:需要根据实际情况在Mcucustomdrvmisc_drvcustom_hw_default.c文件中修改PWM_Level_Info;即频率和占空比。MMI对背光的控制:mcuplutommimmigpiogpioSrcGenera
12、lDeviceInterface.c;关键的几个函数:void TurnOffBacklight(void):打开背光计时的timer。Static void BacklightTimerHdlr(void):背光timer调用处理函数。Void TurnOnBacklight(gpio_backlight_time_enum time_enum):打开的背光函数。注意:当time_enum=0时,即调用TurnOnBacklight(0),作用是关闭背光的timer,使背光保持常亮不灭。如果需要恢复正常需要先调用一下TurnOffBacklight()函数使timer正常工作。背光、键盘灯的
13、亮灭和lcd sleep in/sleep out在以上函数里有同步的处理。,模块调试:LCM,以SUNRISE_0255_LCM为例步骤1:XXX_GPRS.mak中配置LCD_MODULE和MAIN_LCD_SIZE;LCD_MODULE=SUNRISE_0255_LCMMAIN_LCD_SIZE=240X320Option.mak中加入:COM_DEFS_FOR_SUNRISE_0255_LCM=SUNRISE_0255_LCM HX8312 COLOR_LCD TFT_MAINLCD QVGA_MAINLCD其中HX8312为LCD driver IC的型号;COLOR_LCD,TFT
14、_MAINLCD,QVGA_MAINLCD为LCD的类型QVGA_MAINLCD:240X320QCIF_MAINLCD:176X220QQVGA_MAINLCD:128X160如果有Sub LCD;则需要顺序加入DUAL_LCD;COLOR_SUBLCD以及型号名称。,步骤2:McucustomdrvLCD目录下添加SUNRISE_0255_LCM模块;目录以SUNRISE_0255_LCM为名。加入和修改5个文件分别为:lcd.clcd_hw.hlcd_sw.hlcd_sw_inc.hlcd_sw_rnd.hlcd.c:实现LCD的驱动接口;关键函数:init,sleep in,sleep
15、 out,block write,init_lcd_interface等。lcd_sw.h:配置data address;command address和output format等;lcd_sw_inc.h:配置LCD WIDTH和HEIGHT;lcd_sw_rnd.h:一般不需修改;lcd_hw.h:一般不需要修改;,关键函数介绍:Void init_lcd_interface(void):LCD读写时序的设置,参考driver ic的spec,一般差异不大,较稳定;Void LCD_Init_xxxx(void):加入供应商给的初始化设置代码。需要注意开始部分的Reset信号设置,延时要
16、满足IC的要求。LCD的显示效果基本上就在这段代码里调整。如果要兼容其它屏,需要在reset后读取IC的ID来区分不同的屏;Void LCD_EnterSleep_xxxx(void)和Void LCD_ExitSleep_xxxx(void):加入厂商给的sleep代码;void LCD_BlockWrite_HX8312A(kal_uint16 startx,kal_uint16 starty,kal_uint16 endx,kal_uint16 endy):刷屏函数,设置刷屏时的起始、结束地址。Kal_bool ESD_check(void):ESD措施,防止静电干扰使寄存器数据乱掉,定
17、时去检测LCM的IC寄存器数据,如果数据乱了,则重新写入,保证LCD能正常显示。几个关键指令(Lcd_sw.h):写寄存器:LCD_CtrlWrite_xxxx()写数据:LCD_DataWrite_xxxx()读数据:LCD_DataRead_xxxx(),LCD常见问题及调试方法水波纹(flicker):正负电压不对称导致,需要调整Vcom值。白屏或花屏:可能是init寄存器设置有问题,在初始化代码中调试,刷一屏红黄蓝三色,如果正常则可以排除初始化设置的问题。送数据的方式有问题,分清8bit/9bit/16bit/18bit。Blockwrite地址寄存器设置错误。颜色失常:需要调整gam
18、ma值,需要厂家调试。整体色调偏暗或是偏淡:对比度有问题,调整涉及到电压的几个相关寄存器。,模块调试:Vibrator,mcucustomdrvmisc_drvSIMC25_06B_BBcustom_equipment.ckal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type,kal_uint8 gpio_dev_level)switch(gpio_dev_type)case GPIO_DEV_VIBRATOR:/add code here break;马达控制方式:1.GPIO直接控制:只有高低电平的切换。2.PWM方式:可以调整
19、占空比和频率来调节马达的振感。,模块调试:Touch panel,customdrvmisc_drvM678_BBtouch_panel_custom.ccustomdrvmisc_drvM678_BBtouch_panel_custom.hcustomdrvmisc_drvM678_BBtouch_panel_spi.ccustomdrvmisc_drvM678_BBtouch_panel_spi.hdrvsrctouch_panel.cdrvsrctouch_panel_main.c修改点包括:GPIO分配、ADC值、坐标值、中断配置、压力检测等。经常调试用到的函数:IsPressureV
20、alid:压力检测,检测计算出Rtouch值,可用来去除飞笔。Tp_read_adc:读取当前pen down的adc值,可以改变算法,调整touch panel的效果。其他的诸如:touch_panel_HISR、touch_panel_init、touch_panel_down_hdr,可以在这些函数里加一些延时处理,可以改善断笔飞笔。,模块调试:Camera,以OV9655为例:步骤1:XXX_GPRS.mak中配置ISP_SUPPORT和CMOS_SENSOR:ISP_SUPPORT TRUECMOS_SENSOR=OV9655CAMERA_PIXEL=ONE_MEGA_PIXEL 注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MTK 平台 驱动 调试 介绍
链接地址:https://www.31ppt.com/p-5440889.html