WINCE下载问题(NK.BIN > 32M)

newszsheep 2009-12-07 12:11:49
定制OS,同时我增加了中文字体支持,
但编译出来的NK.bin超过32M(我已经设置了IMGRAM64=1),
NK.bk0有80M左右,但用DWN下载的时候,总是报错,
错误如下:

Download BIN file information:
-----------------------------------------------------
[0]: Base Address=0x80100000 Length=0x2035EAC
-----------------------------------------------------
dwStartAddr:0x80100000, dwLength:0x2035eac
OEMVerifyMemory: RAM image
rom_offset=0x0.
ImageStart = 0x80100000, ImageLength = 0x2035EAC, LaunchAddr = 0x80101000

Completed file(s):
-------------------------------------------------------------------------------
[0]: Address=0x80100000 Length=0x2035EAC Name="" Target=RAM
ROMHDR at Address 80100044h
+WriteOSImageToBootMedia: g_dwTocEntry =1, ImageStart: 0x80100000, ImageLength: 0x2035eac, LaunchAddr:0x80101000
[204] Module Name: nk.exe
INFO: WriteOSImageToBootMedia: [0] RegionStart:0x80100000, RegionLength:0x2035EAC, pExt:0x80101790
INFO: WriteOSImageToBootMedia: [0] Found chain extension: '' @ 0x80100000
Writing single region/multi-region update, dwBINFSPartLength: 33775276
IsValidMBR: MBR sector = 0x600
GetPartitionTableIndex: ++
GetPartitionTableIndex: pPartEntry->Part_FileSystem : 0x21
OpenPartition: Partition Exists=0x1 for part 0x21.
BIN Region Number : 0
BP_SetDataPointer at 0x0
WriteData: Start = 0x0, Length = 0x2035eac.
WriteData: writing sector number = 0x101af.
WriteData: partition total sector number = 0xd932.
WriteData: trying to write past end of partition.
ERROR: StoreImageToBootMedia: Failed to write region to BINFS partition (start=0x80100000, length=0x2035EAC).
ERROR: OEMLaunch: Failed to store image to Smart Media.
ERROR: OEMLaunch: Halting...
SpinForever...


似乎是我写入的sector数目是 0x101af,但sector的最大数是 0xd932
我不知道在那里修改这些。或则究竟要如何才能下载超过32M大小的BIN文件?


我选择下载的参数如下:
Ethernet Boot Loader Configuration:

Ethernet Boot Loader Configuration:

----------- Connectivity Settings ------------
0) IP address : [169.254.1.101]
1) Subnet mask : [255.255.255.0]
2) DHCP : [*Enabled]
3) Program CS8900 MAC address : [00:11:22:33:44:55]
--------- Boot Configuration Section ---------
4) Reset to factory default configuration
5) Startup Action after Boot delay : [*Download New image]
6) Boot delay: 5 seconds
R) Read Configuration(TOC)
W) Write Configuration Data(TOC) Right Now
------- Kernel Booting Option Section --------
K) KITL Configuration : [*Enabled]
I) KITL Connection Mode : [*Interrupt]
C) Force Clean Boot Option : [*True]
H) Hive Clean on Boot-time : [*False]
P) Format Partition on Boot-time: [*False]
------------- NAND Flash Section -------------
A) Erase All Blocks
E) Erase Reserved Block(Stepldr+Eboot)
F) Format Boot Media for BINFS with BadBlock Marking to Reserved Block
N) Nand Information and Dump NAND Flash
--------- Download and Launch Section --------
S) Switch Boot Device : [USB_DNW]
{ Options : *Ethernet, USB_Serial, USB_RNDIS, USB_DNW }
T) Download Target: [Write to NAND Storage]
D) Download or Program image(OS image will be launched)
L) LAUNCH existing Boot Media image

Enter your selection:


然后我选择D,开始USB下载。但总是不成功,各位大侠,请帮忙看看
...全文
365 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooogleman 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 feishanm 的回复:]
NK.bin要允许下载超过32M,要改几个地方
以前做过
http://www.cnblogs.com/feishanm/archive/2009/08/04/1538284.html
[/Quote]

我要学习,然后我转载到我的空间里,嘿嘿。
newszsheep 2009-12-07
  • 打赏
  • 举报
回复
我就是因为加了中文字体的原因,才让NK.bin一下去到33M左右。郁闷。
谢谢各位,我会按照大家的建议去尝试一下。谢谢
中国168 2009-12-07
  • 打赏
  • 举报
回复
呀,这么大啊,是不是由于生成的是debug版本不是release版本的缘故,太大了!
liuysheng 2009-12-07
  • 打赏
  • 举报
回复
应该是NK大于内存预留空间,而且,NK确实太大了,应该定制时,可能出问题了
feishanm 2009-12-07
  • 打赏
  • 举报
回复
NK.bin要允许下载超过32M,要改几个地方
以前做过
http://www.cnblogs.com/feishanm/archive/2009/08/04/1538284.html
gooogleman 2009-12-07
  • 打赏
  • 举报
回复
没有试过修改,不过俺的是ADS bootloader,烧写大一点没有问题,eboot 要做一些修改的。

楼主这么大的Nk不合理啊内存都被他吃了那么多,非常不合理。
减小吧。
xilidecai 2009-12-07
  • 打赏
  • 举报
回复
你看一下是NK.NB0,NK.NB1,最好用ultraedit查看一下实际容量,是否真的是80M。
如果是,一方面你要想办法减小组件
另一方面,修改CONFIG.bib的设置。
ankye 2009-12-07
  • 打赏
  • 举报
回复
定制系统的时候有个>32M的选项没选....

你这个系统也太大了点吧..肯定有问题了....

windxiang520 2009-12-07
  • 打赏
  • 举报
回复
80M。你的内存多大?是不是内存太小了?
wen_hua 2009-12-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 feihu521a 的回复:]
对于这个帖子中http://www.cnblogs.com/feishanm/archive/2009/08/04/1538284.html
config.bib文件的修改,如果嫌计算麻烦的话,也可以设置自动给内核映像分配RAM空间。
具体改法,在Config中将AUTOSIZE打开:
Config
....

;add this
IF IMGFLASH !
    AUTOSIZE=ON
ENDIF

[/Quote]
如上添加,我成功烧过一个45M的nk.bin
seemknow 2009-12-07
  • 打赏
  • 举报
回复
似乎是我写入的sector数目是 0x101af,但sector的最大数是 0xd932

BINFS分区不够大。查一下eboot里BP_OpenPartition创建binfs的代码,调整分区大小。
firehood 2009-12-07
  • 打赏
  • 举报
回复
对于这个帖子中http://www.cnblogs.com/feishanm/archive/2009/08/04/1538284.html
config.bib文件的修改,如果嫌计算麻烦的话,也可以设置自动给内核映像分配RAM空间。
具体改法,在Config中将AUTOSIZE打开:
Config
....

;add this
IF IMGFLASH !
AUTOSIZE=ON
ENDIF

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧