MTK 6520项目入门文档
四 查看LOG与代码配置
波特率要在custom\\common\\Nvram_data_items.c(NVRAM_EF_PORT_SETTING_DEFAULT[])设置,其中包含LOG类型和波特率,其中dbg_print(…)部分是直接由串口0输出,类似于kal_prompt_trace (…)的是使用Catcher获得LOG的函数。
0为uart_port1输出,4为USB输出,99为禁止输出。通常使用TST-PS、TST-L1,剩下根据需要设置。
4.1串口
默认的Bootloader的波特率是115200,死机时候的波特率是921600。
4.2Catcher
1 点击图示按钮
2 选择Database path
1
MTK 6520项目入门文档
4 Configure port
5 选择串口 6 连接
7 过滤LOG
8 过滤LOG内容,暂时选择全部
2
MTK 6520项目入门文档
五 驱动移植
5.3 GPIO配置
《Driver_Customization_Tool.pdf》
5.4 背光
代码统一位于代码位于:
..\\custom\\drv\\misc_drv\\NEOTEL50_BU3_12864_11B_BB\%uem_gpio.c
修改函数为:
kal_bool custom_cfg_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level )
5.4.1 LCD背光
按下HOME键,背光时间与KEY背光时间不一致,过长、闪。这里闪是错误的,比按键时间长是对的。 LCD的背光控制可以有两方式,一个是PWM,一个是GPIO模拟PWN实现GPIO脉冲。 本项目中采用GPIO控制电路开关,PWM控制背光的形式: ……
switch(gpio_dev_type) { case GPIO_DEV_LED_MAINLCD:
……
GPIO_ModeSetup(gpio_led_mainbl_en_pin, 0); GPIO_InitIO(1, gpio_led_mainbl_en_pin); PWM3_level(gpio_dev_level);
if( gpio_dev_level == LED_LIGHT_LEVEL0) { } else {
kal_uint32 i;
DCL_HANDLE handle; PMU_CTRL_BL_SET_EN val; val.enable = DCL_FALSE;
GPIO_WriteIO(0, gpio_led_mainbl_en_pin);
handle = DclPMU_Open(DCL_PMU, FLAGS_NONE);
DclPMU_Control(handle, BL_SET_EN, (DCL_CTRL_DATA_T *)&val); DclPMU_Close(handle);
DCL_HANDLE handle;
PMU_CTRL_BL_SET_LEVEL bl_level;
3
MTK 6520项目入门文档
} break; …… }
……
注意:因为是跟原厂出的,所以基本代码结构不变。
PMU_CTRL_BL_SET_EN val;
GPIO_WriteIO(1, 21);
handle = DclPMU_Open(DCL_PMU, FLAGS_NONE);
bl_level.blLevel = gpio_dev_level;
DclPMU_Control(handle, BL_SET_LEVEL, (DCL_CTRL_DATA_T *)&bl_level); val.enable = DCL_TRUE;
DclPMU_Control(handle, BL_SET_EN, (DCL_CTRL_DATA_T *)&val); DclPMU_Close(handle);
5.4.2 KEY 背光
KEY的背光同LED有两种实现方式。本项目中,键盘背光完全按照MTK的DEMO来设计的,所以驱动部分不用修改,但是应该调暗点(省电,不刺眼): …… switch(gpio_dev_type) {
} …… }
……
case GPIO_DEV_LED_KEY: ……
//if (gpio_dev_level)
// gpio_dev_level = gpio_dev_level - 2;//在custom_hw_default.c中1-5的值都是一样的 PWM2_level(gpio_dev_level);//PWM驱动 ……
break;
5.5 LCD驱动
LCD驱动目录位于..\\custom\\drv\\LCD目录下。 在本项目中LCD使用的是MCU Interface, 8bit,
首先,修改xxxx_gprs.mak文件以支持当前LCD。这里修改了MAIN_LCD_SIZE = 320X480,以及 COM_DEFS_FOR_NEOTEL50_BU3_12864_11B_LCM = ILI9486L COLOR_LCD NEOTEL50_BU3_12864_11B_LCM TFT_MAINLCD。
4
MTK 6520项目入门文档
然后,修改LCD目录下的各个文件。
5.5.1 DEMO与本项目对比
平台 LCM芯片类型 总线位 LCD显示位色 LCD是否支持DMA LCD_BlockWrite_ILI9486函数 开启DMA效果 Demo ILI9486 9 16-bit/pixel 软件不支持 已支持 X MTK6250项目 ILI9486L 8 修改lcd_sw.h可以支持到18 X 未修改 可以 5.5.2 使能LCD
包括LCD_INIT和BLOCK函数在内,都要从LCD厂商获取。 1、修改lcd_sw.h
LCD的总线宽度;
当前总线宽度下支持的位色。 2、修改lcd.c
修改INIT和BLOCK函数。
5.5.3 改进
修改LCD_CtrlWrite_ILI9486和LCD_DataWrite_ILI9486宏定义,使其支持18-bit/pixel
5.5.4 参考文档
《MTK详解LCD移植》 ————————————————————————————————百度文库 《MTK平台驱动基本介绍》——————————————————————————————百度文库
5