10315|23

57

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

优龙2410更改LCD后wince启动BIOS图片出现异常 [复制链接]

LCD更换后,由原来的320*240更改为800*600,BIOS启动的图片开始可以正常显示,当运行完BIOS里NandLoadRunW函数中的LoadRun函数后就在屏幕的下方有几行花屏现象,BIOS bin文件有原来的几十K现在增加到300K,内存分配已经修改成
static struct Partition NandPart[] = {
        {0,                 0x00100000, "bootloader"},                //1M
        {0x00100000,0x02000000, "system"},   //30M
        {0x02040000,0x023a0000, "flash"},        //33M
        {0,0,0}
};哪位碰到过帮忙解答一下,这里先谢谢了!
此帖出自WindowsCE论坛

最新回复

楼上说的不能解决问题  详情 回复 发表于 2010-3-3 10:09
点赞 关注
 

回复
举报

98

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这种情况应该是LCD的BUFFER在程序执行过程中被占用了。
是否BIB文件中给LCD留的BUFFER不够大,详细看下BIB中内存设置,以及其它一些指针地址设置
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
楼上说的是config.bib里的这部分吗
; Common RAM areas
        AUD_DMA                     8c002000  00002000  RESERVED
        DRV_GLB                     8c010000  00010000  RESERVED
        DBGSER_DMA                  8c022000  00002000  RESERVED
        SER_DMA                     8c024000  00002000  RESERVED
        IR_DMA                      8c026000  00002000  RESERVED
        SD_DMA                              8c028000  00008000  RESERVED
        EDBG                        8c030000  00020000  RESERVED
        CPXIPCHAIN                  8c050000  00008000  RESERVED
        SLEEP_BUFF                        8c058000  00004000        RESERVED
        DISPLAY                     8c100000  00100000  RESERVED   
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
你的LCD是多少位的?16位还是24位?
如果是16位数据要占两个字节,600*800*2=960000=0xEA600,就快到00100000的限制了,如果是24bit肯定就不够用,根据你的情况算一下。
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个没有遇到过,换LCD 其他的设置都对了嘛?
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

6
 
是16位的,是不是要把DISPLAY 调大点,LoadRun函数里的buf = 0x30200000;和DISPLAY对应调大点?
以前是不是BIOS的范围是从0x30100000到0x30200000里的这个100000范围是不是就是DISPLAY的值?
此帖出自WindowsCE论坛
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

7
 
http://topic.eeworld.net/u/20091130/09/9e71e7ac-46e7-4f9b-b8a5-82abfb1a3f30.html?94345
以前的帖子也遇到和我一样的问题不明白他说的   
将LCDBUFF的地址由默认的更改成固定的即可。一般不需要更改WINCE入口地址
是什么意思!
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
MARK,看看。

帮顶下。
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 4 楼 gooogleman 的回复:
这个没有遇到过,换LCD 其他的设置都对了嘛?

都对了,显示正常
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
当运行完BIOS里NandLoadRunW函数中的LoadRun函数后就在屏幕的下方有几行花屏现象,BIOS bin文件有原来的几十K现在增加到300K,内存分配已经修改成

花屏一定是地址溢出了。
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 hallowwar 的回复:

花屏一定是地址溢出了。


恩,把LoadRun函数里的buf = 0x30200000;改大点就不花屏了,但是启动不了WINCE了
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

12
 
自己顶一下,问题出在哪儿帮忙指点一下!
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
问题还没解决!!!!!!!!!!!!!!!!!!!!!!
此帖出自WindowsCE论坛
 
 
 

回复

46

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 2 楼 clg711 的回复:
楼上说的是config.bib里的这部分吗
; Common RAM areas
AUD_DMA? ? 8c002000? 00002000? RESERVED
DRV_GLB? ? 8c010000? 00010000? RESERVED
DBGSER_DMA? 8c022000? 00002000? RESERVED
SER_DMA? ? 8c024000? 00002000? RESERVED
IR_DMA? ? ? 8c026000? 00002000? RESERVED
SD_DMA? ? 8c028000? 00008000? RESERVED
EDBG? ? ? ? 8c030000? 00020000? RESERVED
CPXIPCHAIN? 8c050000? 00008000? RESERVED
SLEEP_BUFF 8c058000? 00004000 RESERVED
DISPLAY? ? 8c100000? 00100000? RESERVED? ?


优龙的bootloader还没有涉及这些,所以不用看这些,
eboot 才要的。楼主看看栈设置,试试放大看看。
此帖出自WindowsCE论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

15
 
今天再没有满意答复就结贴了!
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 10 楼 clg711 的回复:
引用 9 楼 hallowwar 的回复:花屏一定是地址溢出了。
恩,把LoadRun函数里的buf = 0x30200000;改大点就不花屏了,但是启动不了WINCE了


晕,这个改了,就需要改DNW的地址,这个和DNW地址保持一致试试,

再不行再去修改config。bib 里面的ramimag start 地址。使之和这个DNW地址一致。
此帖出自WindowsCE论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

17
 
        ; NK name
        #define NKNAME NK
       
        ; NK Start address
        #define NKSTART                8C200000
        #define NKLEN                01D00000
       
        #define RAMSTART        8E000000 ;8E000000
        #define RAMLEN                02000000 ;01F00000

        $(NKNAME)   $(NKSTART)      $(NKLEN)    RAMIMAGE
        RAM         $(RAMSTART)     $(RAMLEN)   RAM
哪个和DNW地址一致!
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

18
 
gooogleman是说你在代码里把LoadRun函数里的buf = 0x30200000改大后要在DNW时面把那个地址也改成同样大的

另外,你花屏的时候已经加载NK镜像了吗?如果没加载的话应该跟BIB没什么关系吧,没看太懂,不清楚
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

19
 
画屏时还没加载NK镜像,我调试是到LoadRun函数里的
StartPage = NandPart[part_sel].offset>>9;
        size = NandPart[part_sel].size;
        ram_addr = buf;       
       
        for(i=0; size>0; ) {
                if(!(i&0x1f)) {
                        if(CheckBadBlk(i+StartPage)) {
                                printf("Skipped bad block at 0x%x\n", i+StartPage);
                                i += 32;
                                size -= 32<<9;
                                continue;
                        }
                }
                ReadPage((i+StartPage), (U8 *)ram_addr);
                i++;
                size -= 512;
                ram_addr += 512;
        }
这部分的时候就花屏了
按楼上说的不能启动WINCE
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

20
 
这个我问题我碰到过,已经解决
是因为你改了分区,所以要在变成之前用bios提供的擦除功能,将所有分区擦出一下,还有bios有个bug
不知道你改好了,因为你的bios第一个分区1M,没问题,但是在那个启动相关的*.s文件中有个搬移虚幻
如果你的nand的page是512字节  它只是循环搬移了512次那么 512*512=?自己算  怎么改自己也知道了吧!

http://blog.eeworld.net/mistyeyed
嵌入式工程师是怎样炼成的(二)---- 初来乍到
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表