6901|30

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教关于NK大小的问题 [复制链接]

请问如果想把NK.NB0调到36.3M左右,需要修改哪些位置????
现在我在config.bib中将NKSIZE设置成2450000,在platform->setting中设置可以大于32M限制
但是在下载的过程中发现
在flashwrite中
                *pdwFlash = 0x00FF;
                for ( i = 0; i < count; i++ )
                {
                        if ( (flashType == L18) || (flashType == L30) ||(flashType == P33) )
                        {
                                *pdwFlashStart = 0x00FF;
                        }

                        if ( *pdwFlashStart++ != *pdwRamStart++ )
                        {
EdbgOutputDebugString( "\r\nFlash programming failure at address\r\n%X: Ideal %X Actual %X\r\n",
                                            pdwFlashStart-1, *(pdwRamStart-1), *(pdwFlashStart-1) );

                                return 1;
                        }
                }
出现错误:
Flash programming failure at address A2000000: Ideal 00009978 Actual 0000FFFF
Flash programming Error.  System halted!


其中pdwRamStart = (volatile WORD *)(dwPhysStart | CACHED_TO_UNCACHED_OFFSET);
                       dwPhysStart:NK的起始地址     UNCACHED_offset:0x20000000
以前下载31M内核是没有这个问题的!

请问这个错误跟内核大小有关吗?修改内核大小还需要修改哪些地方?
谢谢各位!

最新回复

我也遇到过这种情况,修改config.bib把nk.bin加到35M时可以编译通过,但是系统运行会出问题,后来只有去掉一些功能,然后把nk.bin缩小到28M才行. 密切关注中......  详情 回复 发表于 2009-3-26 14:37
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
另外FLASH擦除的地址是从Erasing Flash A0080000 to A24DFFFF
也就是放NK的地址
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个问题,hzdysymbol弄过
他说他烧写过大于32M的,我的bootloader也能,但是我是 ADS的,和什么eboot有很大差别。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
是不是NK.NB0不允许36.x M???
即不允许后面带小数点????
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个不是问题,问题是有些限定,NK太大不是好事。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
现在发现貌似:Erasing Flash A0080000 to Axxx xxxx
这个地址只要超过A200 0000就会出错,
也就是NK不允许>=32M
超过这个限制就会在A2000000的地方校验不成功
请问各位高手,何解?
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
顶!
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 
顶!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

9
 
坐等高手来
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

10
 
帮顶。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
关注
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

12
 
flash坏了?
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

13
 
汗!!!
全是顶!!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

14
 
哈哈,现在忙自己的,没有时间看这个啊。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

15
 
不懂,关注
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

16
 
试过了把Image下到RAM里面,然后直接跳过去运行,看有没有问题?
如果还有问题那就先解决这个问题,如果可以运行,那就找Flash的读写问题.
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

17
 
我搞过一个33M的NK.nb0,就改config.bib里的两处 NK       8014D000  21000000  RAMIMAGE,
ROMSIZE=21000000,然后一定要在你生成nk.nb0的文件夹下将原来的ce.bib,和config.bib删除,这样就可以按照改过的config.bib来产生nk.nb0.你试试吧,如果还有问题就是你flash的读写问题了,呵呵
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

18
 

1.Ram start overlaps rom binary编译问题的解决

编译WinCE时,经常会出现这样的问题,选择Release的版本,编译没有问题,编译Debug的时候报错:Ram start overlaps rom binary。
原因:因为编译Debug版本时文件太大,超过29M时就会报错,原因是ROM和RAM空间的冲突。

国外网站找到的解决方法:

When I build my Windows CE image in Platform Builder I get the following error:

Error: Ram start overlaps rom binary
Rom end : 0x81217d4c
Ram start: 0x8105c000
NK
physfirst 800e0000
physlast 81217d4c

How can I fix this?

  

Problem:

This error is given because you're image size is bigger than the allowed size contained in the XXXXX_XX_config_bib.h file. The specific file for your card engine can be found at the following path:

WINCE500PLATFORMLoCEsrcinccard_engine

Resolution:

There are two options to resolving this:

1) Decrease your image size by removing components that are taking up a lot of space. If you have unecessary features you can take them out and Re-Sysgen your platform.

2) If you require a larger image than the default size of 15MB you can edit the config_bib.h file. Please refer to the RAM build memory map for an explanation on how memory is broken down while Windows CE is running.

Specifically these lines are what you will need to edit.

#define RAM_BUILD_RAM_START 0x81000000
#define RAM_BUILD_RAM_SIZE 0x00C00000

#define RAM_BUILD_IMAGE_START 0x800E0000
#define RAM_BUILD_IMAGE_SIZE 0x00F00000

For example, the edited configuration below will allow for a 16MB image to be built.

#define RAM_BUILD_RAM_START 0x82000000
#define RAM_BUILD_RAM_SIZE 0x00B00000

#define RAM_BUILD_IMAGE_START 0x800E0000
#define RAM_BUILD_IMAGE_SIZE 0x01000000

我的解决方法:
使用环境WinCE4.2,打开开发环境,打开config.bib文件,改一下下面这句话:
;;; Tarzan Debug mode
NK   8C200000  02600000  RAMIMAGE
; NK   80040000  01E00000  RAMIMAGE
; CHAIN   81E40000  00001000  RESERVED
; DRIVERS   81E41000  001BF000  RAMIMAGE

; RESERVE       8df00000  00080000
; RAM           8c200000  01D00000  RAM
RAM           8F800000  01700000  RAM//就是这一句,原来是8E800000,现在改为8F800000

重新编译之后问题解决。


--------网上找的-----
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

19
 
编译是通过也要能烧写进去才行,编译是可以编译的。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

20
 
不太清楚,顶!!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表