MTK详解LCD移植39535

上传人:鲁** 文档编号:503445748 上传时间:2024-02-16 格式:DOC 页数:10 大小:561KB
返回 下载 相关 举报
MTK详解LCD移植39535_第1页
第1页 / 共10页
MTK详解LCD移植39535_第2页
第2页 / 共10页
MTK详解LCD移植39535_第3页
第3页 / 共10页
MTK详解LCD移植39535_第4页
第4页 / 共10页
MTK详解LCD移植39535_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MTK详解LCD移植39535》由会员分享,可在线阅读,更多相关《MTK详解LCD移植39535(10页珍藏版)》请在金锄头文库上搜索。

1、详解LCD移植1. Make文件设置设置CDLCDDUL = BADMOBI68_09_M /这个名字可以自己取,但是/这个名字要和cusomdrLCD下的文件夹一致。/一般可以不用改。到时直接修改这个文件夹下的代码就行了. Based on the LCM sltions (even multiple Lmuls for thisproect) # ULD BE ONE OF THE OLLOWINGS, sdon te LC MTCM Mono, 02x4 MTKLCM_R Coor, 120x160, foT628_MW01 o MT6205_EV ORNANCEC Mono, 1124

2、KLMLCM Color, 2x28INFLCM oor, 1x12# TOPLY_LCM olor, 1x160, or M2BEB SONY_CMMANLCD_SIZE = 0X4/查LCD daashet可以查到分辨率。Tostinguih t mi csie We an us itcopy the matchgrsourcs, su thmecompnen。h,Fones。, L_xh, etc,t PUTO_MMfdrSU_LCD_SIZ= NO # NE, 4X64BW, 64X9, 96X64W, 96X64, 12X128COM_DEFS_F_BOAOBI6809_LC = B

3、RODMBI68_09B_LCM TF_MANLCD/如果/上面的CD_MOULE设置改了,这个就要跟着该。 TFT_AIND LCD类型驱动代码:muutdrvLCD$( CD_MODUL)ld.cmcucustmdrvLD(LCD_MD)lcd_w.hucustdvLC( LCDMODULE)lcd_shcucustmdrLD( LCD_MOLE)c_sw_nc。hmcustodrvCD( LDME)lcd_rnd。2. 驱动开发。a. 打开关闭A模式.文件:mucstodrvD( LD_MODUL)lcd_.#if (defined(MT622)|defid(MT627)|defined

4、(62)defid(MT629)|dein(MT62)|efined(MT6230)|defied(MT635)|defd(65B)defid(MT623)|defnd(MT6268A)|defned(M39)defined(MT626))deeLD_CMD_DMA_MDE/如果不需要则注解掉。一般打开,这样速度快。#efin CD_DUMMYADDR x900000b. 设置LCD Bu Wih。这个定义要根据硬件上IM3IM0的接法,具体查LC datshe.比如:看上图,IM30=”10,所以要如下定义:#dein MAI_C1BIMEc. 根据LCD参数设置主屏oman/Data Ad

5、dres。查LDDataset可以看到:这里叫D/CX,也有叫RS的,反正是CMD和DTA的选择信号。看上图1为数据,0为命令,所以要做如下定义:define AIN_LCD_CM_ADDR LD_PAALL_A_W_ARdefine MAI_LCD_DAADDR LC_PARALLEL0_0_HIGH_ADDR/D_PALLEL0_A_OWADDR/ LCD_PAALLL0_A0_HIG_ADD在/lc_if_xxseias_.h中被定义,路径位于cuintecehdrv.具体使用那个文件/里的定义,请参考lcd_fhw。文件内容。d. 设置lor ormat一般一个lcd,比如说有1bit

6、的总线,但是根据IMIM0的接法,可以调整到8/9/6/18四种总线接法。但是呢,实际上肯定是8bit的接法,不然就浪费了,不让用这么好的屏干嘛啊,意思是一般都会用最大的总线支持的颜色类型。然后查lc,可以查到:Fuclr moe位262K色,所以应定义LCM_8B_8_BPP_RG66_1(66=2的6次方乘3次,就是26色)#f(efin(MAI_LCD_IMODE)) #defie MAN_CD_UUTFORMATLCMI_16_PP_RGB55_1elf (dfind(MI_CD_9BIT_ODE) #dfMAN_LCDUTTFOMTC_9IT_1_BPP_RGB66ef (defnd

7、(MIN_LCD6BIT_M)) defin MN_LD_OTUTFORATLCM6BIT_16_BPP_GB565#elif(defined(MAN_LC_18IMOD) 18位总线下最大支持GB666,也就是262K色。 #dine AIN_LCD_OUTPUT_FRMTLM_18T_18PP_RGB66_#nif/CM_I_BPPB561这些值在cd_if.中被定义.e. 设置Sub LD的参数和上面主屏一样的方法.idef DALCDifde SRIALUBCD#fine S_LD_CM_AD LCDSERIAL0_ALOW_DDRdefinSUB_LCDDA_ADD LCD_SERI

8、L0_0_H_ADRese#dineSULCDCD_ADR LD_PRALEL1_0LOW_ADDRdefineSB_LCD_DATA_DDR LD_PARALLEL1A_HIGHADDR#endif#if (dfied(SU_LD_BITMDE))defin SUCD_OUTPUT_FRMAT LM_8BIT_16_P_RG65_1elf(deined(SUBLCD_9ITOE)defneSU_CD_UTPUT_OMAT LC_9BIT_6_BPP_GB565_1#lif (defined(SBCD_16BIT_OE))#dfneSB_LCDUTPUTFOAT L16BI6_BP_RB565

9、1elif(defe(UB_D18ITME))die SUBL_UTPT_ORMAT LCM_18BIT_18_BPP_RB666_1endfendiff. 实现LCD_CtrlWrite_X/ LC_DWrXX函数。LCDatWrite_X 和 CDtlWriteXXX一样。所以只说LC_tWrit_XXX是如何实现的。首先要明白我们的寄存器一般都是16位数据的,但是我们现在的总线接法有8位,9位,16位,18位这四种。这个函数的功能就是要将寄存器的数据送到总线上去。很显然,8位和9位的总线无法一次性将寄存器的数据获取,所以要分2次进行.而1位和18位就可以一次将寄存器的数据获取。位:分2次

10、,先传高八位,然后传低8位。deineCD_tlWre_XXX(_dat) SET_MD_PARMETER(0,LCD_CD,(aa & 0xFF0)); SET_C_MD_PAATER(1,LCCD,(_data xFF)); _SEND_DMA_D(); 9位:分2次,先传高8位,有问题了,总线是9位的,咋办,遇到这种情况,一般都是将数据映射到高位,也就是将数据映射到D7D10,把D9空缺。D8在硬件上就没接,一般都是这么接的,接高位。具体CD datashee有说明。 然后传低8位,做法和高8位一样。define LCD_trlrite_XX(data) /把高8位的数据映射到总线9位中的高位. SET_LCD_CMD_ARAEER(0,LCMD,(_data x00)); STLCD_CM_PRAMTE(1,LCD_CD,(_ata xFF)1)); LCD_SEND_MA_CMD(2); 16位:正好16位,不用移位。define LCDtrlWrieXXX(_data) ET_L_CD_PARAMTER(0,CD_CMD, dat); LCD_SED_DA_MD(); 1位:这个有点特殊,把1位数据映射到1位的总线上,有2位是空缺的,空哪2位的,那就空0和D9吧,这是惯例。具体

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号