hgh123
驱动牛犊
驱动牛犊
  • 注册日期2006-11-09
  • 最后登录2010-03-23
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望31点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:5204回复:25

求助 WINCE 开机进度显示,在线等

楼主#
更多 发布于:2007-01-29 14:58
  我将开机LOGO改成了自己公司的LOGO,想在WINCE启动进入主菜单前,加入开机进度显示,请问要在哪里修改,要怎样做啊,
驱网无线,快乐无限
soarstar
驱动小牛
驱动小牛
  • 注册日期2005-03-14
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望271点
  • 贡献值0点
  • 好评度209点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-30 10:03
应该是在bootloader里吧
Email:xj_yeah@163.com
xuedongyi
驱动牛犊
驱动牛犊
  • 注册日期2006-08-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分971分
  • 威望109点
  • 贡献值0点
  • 好评度98点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-01-30 10:51
是从nand copy to sdram的过程中有机会加进度显示,直接从nor 启动 就没有必要 加也可以但太牵强  我前两天刚做过 你可以e-mail   xuedongyi@126.com 我可以给你代码
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-01-30 19:00
我有个问题
我也做过LOGO,但当时做完了也不懂,查资料做的,
现在想起来问题大了
在EBOOT中改大家都知道,但当时我改完,下载映像时还用的原来的EBOOT,当时认为改的是OEM,系统运行后竟然好用,不理解,哪位帮着讲讲
hgh123
驱动牛犊
驱动牛犊
  • 注册日期2006-11-09
  • 最后登录2010-03-23
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望31点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-01-31 09:25
xuedongyi :我以经发EMAIL给您了,请您发给我。谢谢您。hgh123@163.com

rocking2807 :  您改的地方应该是在LCD初始化的时候修改的,在加载映像的时候也会LCD初始化(CFW.C),是调用的同一程序。
修改LOGO一般有两种方法:一个是BOOTLOADER,另一个是:加载映像的时候 。
以上仅是我的个人理解,仅供参考。
驱网无线,快乐无限
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-01-31 15:01
我也又看了一下
你说的对是在CFW.C中,因为当时在EBOOT的MAIN.C中的OEMPlatformInit中没有找到InitDisplay()
而是在CFW里,所以改的那里.
我的问题是可以在MAIN.C中的OEMPlatformInit中加这个InitDisplay()么/

编译后的数组会很大,怎么办,这个数组编译后在什么地方,EBOOT中么?
lswc
驱动牛犊
驱动牛犊
  • 注册日期2005-12-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望56点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-01-31 22:26
我也在作同样的事,我是用的pxa310,光LCD控制的寄存器就一大堆,头大,我是用bsp中的LCD测试程序段改.是在eboot中
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-01 09:49
这个问题很多人都做过吧,给个解答啊
大哥们!
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-02-02 12:00
贴一下我的
 InitDisplay(),我是6.4的屏,

static void InitDisplay()
{
    //int i, j;
    volatile IOPreg *s2410IOP;
    volatile LCDreg *s2410LCD;    

    s2410IOP = (IOPreg *)IOP_BASE;
    s2410LCD = (LCDreg *)LCD_BASE;

    // LCD port initialize.
    s2410IOP->rGPCUP  = 0xFFFFFFFF;
    s2410IOP->rGPCCON = 0xAAAAAAAA;

    s2410IOP->rGPCCON = 0xAAAAAAAA;

    s2410IOP->rGPDUP  = 0xFFFFFFFF;
    s2410IOP->rGPDCON = 0xAAAAAAAA;

    s2410IOP->rGPGCON &= ~(3 << 8);                 /* Set LCD_PWREN as output                          */
    s2410IOP->rGPGCON |=  (1 << 8);

    s2410IOP->rGPGDAT |=  (1 << 4);                 /* Backlight ON                                     */



    s2410LCD->rLCDCON1   =  (1           <<  8) |   /* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz  */
                            (1           <<  7) |   /* 0 : Each Frame                                   */
                            (3           <<  5) |   /* TFT LCD Pannel                                   */
                            (12          <<  1) |   /* 16bpp Mode                                       */
                            (0           <<  0) ;   /* Disable LCD Output                               */

    s2410LCD->rLCDCON2   =  (32          << 24) |   /* VBPD          :   1                              */
                            (LINEVAL_TFT << 14) |   /* Virtical Size : 320 - 1                          */
                            (10          <<  6) |   /* VFPD          :   2                              */
                            (2           <<  0) ;   /* VSPW          :   1                              */

    s2410LCD->rLCDCON3   =  (47          << 19) |   /* HBPD          :   6                              */
                            (HOZVAL_TFT  <<  8) |   /* HOZVAL_TFT    : 240 - 1                          */
                            (16          <<  0) ;   /* HFPD          :   2                              */


    s2410LCD->rLCDCON4   =  (13          <<  8) |   /* MVAL          :  13                              */
                            (96          <<  0) ;   /* HSPW          :   4                              */

    s2410LCD->rLCDCON5   =  (0           << 12) |   /* BPP24BL       : LSB valid                        */
                            (1           << 11) |   /* FRM565 MODE   : 5:6:5 Format                     */
                            (0           << 10) |   /* INVVCLK       : VCLK Falling Edge                */
                            (1           <<  9) |   /* INVVLINE      : Inverted Polarity                */
                            (1           <<  8) |   /* INVVFRAME     : Inverted Polarity                */
                            (0           <<  7) |   /* INVVD         : Normal                           */
                            (0           <<  6) |   /* INVVDEN       : Normal                           */
                            (0           <<  5) |   /* INVPWREN      : Normal                           */
                            (0           <<  4) |   /* INVENDLINE    : Normal                           */
                            (1           <<  3) |   /* PWREN         : Disable PWREN                    */
                            (0           <<  2) |   /* ENLEND        : Disable LEND signal              */
                            (0           <<  1) |   /* BSWP          : Swap Disable                     */
                            (1           <<  0) ;   /* HWSWP         : Swap Enable                      */                            

    s2410LCD->rLCDSADDR1 = ((FRAMEBUF_DMA_BASE >> 22)     << 21) |
                           ((M5D(FRAMEBUF_DMA_BASE >> 1)) <<  0);

    s2410LCD->rLCDSADDR2 = M5D((FRAMEBUF_DMA_BASE + (LCD_XSIZE_TFT * LCD_YSIZE_TFT * 2)) >> 1);

    s2410LCD->rLCDSADDR3 = (((LCD_XSIZE_TFT - LCD_XSIZE_TFT) / 1) << 11) | (LCD_XSIZE_TFT / 1);

#if (BOARD_TYPE == 1)
    s2410LCD->rLPCSEL   = 0;//|= 0x3;
#else
    s2410LCD->rLPCSEL   = 0;//|= 0x2;
#endif

    s2410LCD->rLCDINTMSK |=(3); // MASK LCD Sub Interrupt
    s2410LCD->rTPAL       = 0x0;
    s2410LCD->rLCDCON1   |= 1;
    
    RETAILMSG(1,(TEXT("rLCDCON1 : %x\r\n"), s2410LCD->rLCDCON1));
    RETAILMSG(1,(TEXT("rLCDCON2 : %x\r\n"), s2410LCD->rLCDCON2));
    RETAILMSG(1,(TEXT("rLCDCON3 : %x\r\n"), s2410LCD->rLCDCON3));
    RETAILMSG(1,(TEXT("rLCDCON4 : %x\r\n"), s2410LCD->rLCDCON4));
    RETAILMSG(1,(TEXT("rLCDCON5 : %x\r\n"), s2410LCD->rLCDCON5));
    RETAILMSG(1,(TEXT("rLCDSADDR1 : %x\r\n"), s2410LCD->rLCDSADDR1));
    RETAILMSG(1,(TEXT("rLCDSADDR2 : %x\r\n"), s2410LCD->rLCDSADDR2));
    RETAILMSG(1,(TEXT("rLCDSADDR3 : %x\r\n"), s2410LCD->rLCDSADDR3));
    RETAILMSG(1,(TEXT("rLCDINTMSK : %x\r\n"), s2410LCD->rLCDINTMSK));
    RETAILMSG(1,(TEXT("rLPCSEL : %x\r\n"), s2410LCD->rLPCSEL));
    RETAILMSG(1,(TEXT("rTPAL : %x\r\n"), s2410LCD->rTPAL));

    memcpy((void *)FRAMEBUF_BASE, ScreenBitmap, ARRAY_SIZE_TFT_16BIT);

最后就用memcpy((void *)FRAMEBUF_BASE, ScreenBitmap, ARRAY_SIZE_TFT_16BIT);把ScreenBitmap这个图片传到缓冲区里,但是每次都花屏,

请那个大哥,,,,,讲一下
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-02 19:00
顶上去
cool_harber
驱动小牛
驱动小牛
  • 注册日期2003-03-01
  • 最后登录2009-04-28
  • 粉丝0
  • 关注0
  • 积分524分
  • 威望132点
  • 贡献值0点
  • 好评度126点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-02-03 22:45
可能情况:
1、LCD控制寄存器参数有问题
2、ScreenBitmap这个图片数组可能转换的不正确

尝试不用拷贝图片,先直接往FRAMEBUF_BASE写入同一颜色的数据,看显示正常否
博客:www.cnblogs.com/harber
cygarm
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2013-12-29
  • 粉丝0
  • 关注0
  • 积分649分
  • 威望324点
  • 贡献值0点
  • 好评度62点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-02-06 02:20
TO:rocking2807

你的问题一个可能数组的转换格式不对,另外一个可能是你的图片的分辨率要和你的LCD的分辨率对应上,差一点点显示出来都是花屏。积存器设置如果进入wince正常了,则说明这个设置是OK的,BMP图片的转换工具我记得一般的三星有提供,好像是一个叫BMP2T的东西吧。
NAND Flash烧录器|烧写器|编程器
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-02-06 12:32
谢谢上面几位
其实系统工作平时是正常的,自已犯贱和老板能加个LOGO结果搞不出来了
LCD平时是正常工作的
设置中有几个地方问大家
LCD用的是640*480,16BPP,565模式
要用的图片应是什么样的呢
我用的是640*480,16真彩色,软件用是IMAGE2LCD,

我看三星原来用的是BMP2C,我在网上找不到.
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-02-07 08:07
谁有BMP2C 或BMP2T这个软件

给我一个呀,求你们了
hgh123
驱动牛犊
驱动牛犊
  • 注册日期2006-11-09
  • 最后登录2010-03-23
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望31点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-02-07 08:34
我这有BMP2C,你给个EMAIL吧,
我用的BMP2C还是有点花屏,图片可以显示出来,但比较模糊,颜色也不对。如果用IMAGE2LCD,根本就显示不出图像,不知为什么。我用的是640*480的屏
哪位高手分析下列代码的作用,没看懂
FBuf = (struct FrameBuffer *) (FRAMEBUF_BASE);
    RETAILMSG(1,(TEXT("------tft640_480---------InitDisplay-----------------\r\n")));
//memcpy((void *)FRAMEBUF_BASE, ScreenBitmap, ARRAY_SIZE_TFT_16BIT);
    // Test LCD display status with R.G.B and White color.
    for (i=0; i<LCD_YSIZE_TFT/2; i++)
    {
        for (j=0; j<LCD_XSIZE_TFT; j++)
        {
            if (j<LCD_XSIZE_TFT/2)
                #if (LCDTYPE == TFT16BPP)
                    FBuf->pixel[j]=0xffff;
                #else
                    FBuf->pixel[j]=0xff;
                #endif
            else
                #if (LCDTYPE == TFT16BPP)
                    FBuf->pixel[j]=0xf800;
                #else
                    FBuf->pixel[j]=0xe0;
                #endif
        }
    }

    for (i=LCD_YSIZE_TFT/2; i<LCD_YSIZE_TFT; i++)
    {
        for (j=0; j<LCD_XSIZE_TFT; j++)
        {
            if (j<LCD_XSIZE_TFT/2)
                #if (LCDTYPE == TFT16BPP)
                    FBuf->pixel[j]=0x07e0;
                #else
                    FBuf->pixel[j]=0x1c;
                #endif
            else
                #if (LCDTYPE == TFT16BPP)
                    FBuf->pixel[j]=0x001f;
                #else
                    FBuf->pixel[j]=0x03;
                #endif
        }
    }
驱网无线,快乐无限
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-02-08 09:29
谢谢你了我的邮箱
rocking2807@yahoo.com.cn

哥们你太伟大了
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-02-08 16:43
收到了
有个问题?BMP2C只能做5.5.5模式的么,而我的LCD初始化为565模式的!
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-02-09 11:14
如果我把LCD初始化为5.5.5,可不可以呢
rocking2807
驱动牛犊
驱动牛犊
  • 注册日期2006-11-20
  • 最后登录2010-09-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望88点
  • 贡献值0点
  • 好评度83点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-02-11 18:00
谁能解答下?
班长大人呢?
ztg0021
驱动小牛
驱动小牛
  • 注册日期2007-02-09
  • 最后登录2016-02-18
  • 粉丝1
  • 关注0
  • 积分141分
  • 威望223点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-02-12 08:42
可以,但是摧荐你用RGB565或666等通用模式
WINCE/EVC/VS2005群:18219722
上一页
游客

返回顶部