微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > MT6260 D平台软件开启DUAL_LCD无法开机(不带WIFI版本)

MT6260 D平台软件开启DUAL_LCD无法开机(不带WIFI版本)

时间:10-02 整理:3721RD 点击:
MT6260 D平台软件开启DUAL_LCD宏无法开机(不带WIFI版本),
按下开机键电流达到30多MA,就一直无法起来,松开按键就掉电了,
有没有哪位兄弟在60上做过双屏遇到过这个问题啊?需要怎么来修改啊?
请帮忙,谢谢!

你可以打LOG看看?
是在哪里死了吧。
这样别人也没法帮你分析。

试了,catcher抓不到东西,uart就是打到jump BL就没了

抓memorydump有点问题,下面是catcher information的显示内容:
0 19:07:21:842 2013/08/19 [CatInfo] DataBase version -- B6301AC_ADS_AD888_F2_gprs, HW: MT6260 ,SW: B6301AC_ADS_AD888_F2_V06_20130805.
1 19:07:21:842 2013/08/19 [CatInfo] Internal DataBase version -- YUANDA60D_11B_gprs, HW: MT6260 ,SW: MAUI.11B.W13.08.MP.V6.F2.
2 19:07:21:842 2013/08/19 [CatInfo] Catcher version: 3.1304.00.
3 19:07:21:842 2013/08/19 [CatInfo] Logging mode. Online logging.
4 19:07:21:842 2013/08/19 [CatInfo] Driver version (sys file): 2.0.13.130. Provider: Prolific.
5 19:07:21:842 2013/08/19 [CatInfo] Use UART -- Port: COM5, baudrate: 115200, flow control: Software.
6 19:07:21:842 2013/08/19 [CatInfo] Computer name: XIAOXB.
7 19:07:21:842 2013/08/19 [CatInfo] OS: Microsoft Windows XP Professional Service Pack 3.
8 19:07:21:842 2013/08/19 [CatInfo] Processor: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz. RAM size: 3.20 GB.
9 19:07:21:842 2013/08/19 [CatInfo] Display adapters: [Intel(R) HD Graphics].
10 19:07:21:842 2013/08/19 [CatInfo] Connect (online).
11 19:07:29:233 2013/08/19 [CatInfo] Set default filter: (2G)Field Trial@PS_11A.
12 19:07:42:045 2013/08/19 Get PS Frame (0x55) failed (0x2005)
13 19:07:59:794 2013/08/19 [CatInfo] [Memory Dump] Start.
14 19:08:04:794 2013/08/19 [CatInfo] [Memory Dump] Can't query memory.

你再检查下你的那个dual lcd相关的配置 比如color_sublcd 还有子屏的lcd size等等 我们之前60a做双屏的,没有问题的,就是开机打log打不出来

我在60D上面做的双屏能开机啊....你是不是小屏驱动没搞好

COLOR_SUBLCD宏是打开的,SUB_LCD_SIZE = 128X32,也不知道为啥。
  

感觉不像是小屏驱动问题,我不加驱动只开启DUAL_LCD就有这个问题了

兄弟,能告知大概改了哪几个地方吗?
我改的地方如下:
make:
SUB_LCD_SIZE = 128X32
PHONE_TYPE = CLAMSHELL
COM_DEFS_FOR_YUANDA60D_11B_LCM  = COLOR_LCD YUANDA60D_11B_LCM TFT_MAINLCD DUAL_LCD COLOR_SUBLCD
lcd:
void init_lcd_interface_GC9301(void)
{
    #if defined(DUAL_LCD)
        *((volatile unsigned int *) 0xA01B0014) &= 0xFF00;
        *((volatile unsigned int *) 0xA01B0014) |= 0x10;
    #endif
#if defined(DUAL_LCD)
                #if (defined(MT6260))
                GPIO_ModeSetup(42, 1);
                #if (defined(MAIN_LCD_8BIT_MODE))
                         SET_LCD_PARALLEL_DATA_BUS(1,LCD_PARALLEL_BUS_WIDTH_8BIT);
                #elif (defined(MAIN_LCD_16BIT_MODE))
                         SET_LCD_PARALLEL_DATA_BUS(1,LCD_PARALLEL_BUS_WIDTH_9BIT);
                   #else
                         SET_LCD_PARALLEL_DATA_BUS(1,LCD_PARALLEL_BUS_WIDTH_16BIT);
                   #endif
                SET_LCD_PARALLEL_IF_TIMING(1, LCD_PARALLEL_CLOCK_104MHZ, 0, 1, 3, 2, 2, 16, 2);
                set_lcd_driving_current(LCD_DRIVING_8MA);
                #endif
   #endif
}
#define SUB_LCD_CMD_ADDR               LCD_PARALLEL1_A0_LOW_ADDR
#define SUB_LCD_DATA_ADDR              LCD_PARALLEL1_A0_HIGH_ADDR

        #ifdef DUAL_LCD
        {
                kal_uint32 flag;
#if defined(__RDR_EXTRA_LCD_CS_SUPPORT__)
        RDR_DRV_LCD_CS_Control(2,1);  //just init
#endif
                SET_LCD_PARALLEL_DATA_BUS(1, LCD_PARALLEL_BUS_WIDTH_8BIT);  //1/
                SET_LCD_PARALLEL_DATA_BUS(2, LCD_PARALLEL_BUS_WIDTH_8BIT);  //1/
                SET_LCD_PARALLEL_IF_TIMING(1, LCD_PARALLEL_CLOCK_52MHZ, 3, 3, 8, 2, 2, 16, 1);
                SET_LCD_PARALLEL_IF_TIMING(2, LCD_PARALLEL_CLOCK_52MHZ, 3, 3, 8, 2, 2, 16, 1); ///1
                               
                flag = *((volatile unsigned int *)(NLI_ARB_base + 0x0014));       
                Delayms(140);       
                *((volatile unsigned int *)(NLI_ARB_base + 0x0014)) = flag | (0x0 << 8) | (0xf << 12) | 0xf;
                *((volatile unsigned int *)(NLI_ARB_base + 0x0014)) = flag | (0xf << 12) | (0x1 << 8) ; //LPCE1B controlled by LCD chip select 1.
                Delayms(140);
        }
        #endif
换成我这个试下

求正解!求正解!

果然是驱动问题, 呵呵!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top