- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MTK平台驱动基本介绍
MTK平台驱动基本介绍
----------MTK6239
一:LCD
文件位于custom\drv\LCD
以菲利浦的一款240 X 400的屏为例介绍如何添加LCD驱动
SIMCOM38_08B_GPRS.mak
LCD_MODULE = SUNRISE_2827TI_LCM
MAIN_LCD_SIZE = 240 X 400
Option.mak
COM_DEFS_FOR_SUNRISE_2827TI_LCM = ILI9326 COLOR_LCD SUNRISE_2827TI_LCM TFT_MAINLCD WQVGA_MAINLCD
在custom\drv\LCD添加SUNRISE_2827TI_LCM文件夹,下面有5个文件。文件名同MTK系统自带的(lcd.c、lcd_hw.h、lcd_sw.h、lcd_sw_inc.h、lcd_sw_rnd.h)。
SUNRISE -------------- 屏的厂家
ILI9326 ----------------- 屏的驱动芯片
LCM ---------------------- 屏
240 X 400 ----------------- 屏的分辨率
COLOR_LCD ---------- 彩色
TFT_MAINLCD ------- 屏的类型,对应的还有CSTN,OLED。目前主要是TFT
WQVGA_MAINLCD ---- 屏的分辨率
做了上述修改以后,编译时,lcd驱动就对应SUNRISE_2827TI_LCM文件夹里的驱动。文件夹里的5个文件,通常lcd_hw.h和lcd_sw_rnd不需要修改,lcd_sw_inc.h只是定义屏的分辨率。如下:
#ifdef __MMI_MAINLCD_128X128__
#define LCD_WIDTH 128
#define LCD_HEIGHT 128
#elif (defined(__MMI_MAINLCD_128X160__))
#define LCD_WIDTH 128
#define LCD_HEIGHT 160
#elif (defined(__MMI_MAINLCD_176X220__))
#define LCD_WIDTH 176
#define LCD_HEIGHT 220
#elif (defined(__MMI_MAINLCD_240X400__))
#define LCD_WIDTH 240
#define LCD_HEIGHT 400
#endif
#define UI_DEVICE_WIDTH LCD_WIDTH
#define UI_DEVICE_HEIGHT LCD_HEIGHT
修改比较多的是lcd.c和lcd_sw.h:
lcd_sw.h
#define LCD_CMD_DMA_MODE --------- 是否使用DMA方式?(DMA简单,速度快,通过MTK的寄存器进行操作,但灵活性差;非DMA方式,直接对地址操作,灵活性好,但速度会有影响。目前,一般都是用DMA方式)
#define MAIN_LCD_16BIT_MODE ----------------- lcd使用的总线位
/* 通过A0来区分处理器向lcd写的是命令还是数据。由硬件决定 */
#define LCD_ILI9326_CTRL_ADDR LCD_PARALLEL0_A0_LOW_ADDR
#define LCD_ILI9326_DATA_ADDR LCD_PARALLEL0_A0_HIGH_ADDR
#define MAIN_LCD_CMD_ADDR LCD_ILI9326_CTRL_ADDR /* 写的是命令 */
#define MAIN_LCD_DATA_ADDR LCD_ILI9326_DATA_ADDR /* 写的是数据 */
#define MAIN_LCD_OUTPUT_FORMAT LCM_16BIT_16_BPP_RGB565_1
/* 与总线匹配 16 -- 5(R) + 6(G) + 5(B) */
/*********************** ILI9326 ********************************/
#define LCD_delay_ILI9326 () \
{\
volatile kal_uint16 iI; \
for (iI = 0; iI 0x20; iI++);\
}
#ifdef LCD_CMD_DMA_MODE ------------- DMA方式
#define LCD_SEND_DMA_CMD(n) \
文档评论(0)