11212|41

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

NK.bin与NK.nb0的区别 [复制链接]

[转自] http://www.itxxh.cn  /Article/view.asp?id=102

[引]
在config.bib文件中,有如下三个设置:

ROMSTART=xxxx
ROMWIDTH=xxxx
ROMSIZE=xxxxxx
这3个变量必须被赋值.
[/引]


nk.bin和nk.nb0都是CE的镜像。然而,我们在下载的过程中常常会遇到,有时候下载nk.bin,有时确是下载nk.nb0,这两者到底有什么区别呢?

首先,NK.BIN中的内容是被压缩过的,NK.NB0中的内容是没有压缩的。
两者大小的区别是因为在生成过程中BIN会将你设定的后面的NULL自动去掉,而NB0就不会。
NB0的大小就是第三个变量ROMSIZE所设置的大小。
由于nk.nb0是非压缩的数据,里面的数据就是NK展开以后在内存里面的数据。
而nk.bin是有压缩的数据,里面的数据是压缩以后类似于成块形的数据,被loader拷贝到内存以后没有区别。
由于bin文件需要解压,因而其下载方式也不一样,
通常,通过串口直接下载用nb0,pb下载用bin。


其次,nk.nb0是可以直接烧到FLASH/ROM中的,是代码镜像,可以直接跳转到其入口执行。
而nk.bin是Microsoft binary image格式的文件,必须按其格式定义解开到其指定的地址空间的位置才能执行。

最新回复

mark   详情 回复 发表于 2009-9-15 22:57
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
借用别人的解释:
这里提到的bin是一种二进制镜像格式,以片断(section)为单位组织数据,每个片断都包括一个头,头里指定了起始地址,长度,校验值。Platform Builder调用工具将WINCE内核所有文件以bin格式合并成一个文件,默认文件名为nk.bin。BootLoader又以同样的格式将nk.bin分解成多个文件放到RAM中。可以在命令行中键入“viewbin nk.bin”来查看bin文件中具体包括了哪些内容。键入Cvrtbin命令转换.bin格式文件为.sre格式或者.abx格式。
nb0格式是原始的二进制镜像,它不包括头,一般情况下将内核下载到设备的RAM中运行都采用nb0格式。要生成nbx格式的文件,需要在相关.bib文件中确定如下值:ROMSTART、ROMWIDTH、ROMSIZE。
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
了解了。长见识了。谢谢楼上的高手!
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

4
 
又了解了点

有个问题想请教
你们提到,一般情况下将内核下载到设备的RAM中运行都采用nb0格式
这个是什么原因呢!能解释一下吗!
我现在也正在做这方面的工作,我烧写到flash的是.bin文件,
现在也不能在其他文件夹保存文件,只能在指定的文件夹任意保存文件!
 
 
 

回复

93

帖子

0

TA的资源

一粒金砂(初级)

5
 
  1 NK.bin和NK.nb0都可下载到RAM中,如果下载到RAM的是NK.bin文件因为是压缩的,显然需要先通过BootLoader进行先解压才能往NAND Flash中烧写。
而如果下载到RAM中的NK.nb0就不需要解压了,可以直接烧写到Flash即可。

  2 至于不能保存文件,则是因为系统的映像都是在RAM中运行的,当断电后当然也就丢失了,可以将文件保存到FLASH中,通常都是把剩余的NandFlash做成ResidentFlash(在资源管理项),例如,一般RAM9学习板的Flash都是64M,系统映像文件可能占用了32M,哪么你还可以用至少30M(BootLoader也要占用空间)作为ResidentFlash,用来保存资料。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

6
 
好帖子。

现在我想疑惑的是,这个NK.nb0下载后可以支持binfs吗?
我现在的boot不支持binfs,我应该怎么做呢?
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

7
 
NK.nb0就是NK.bin展开后的文件,bin的文件结构请参考MS相关文件,有详细的说明
Bootloader可以支持下载NB0也可支持下载BIN,一般的做法是对于NB0的文件下载后直接烧到flash上,对于BIN的文件下载后解压然后烧到Flash上
其实也可以做成BIN烧到Flash上,然后起动的时候Load出来后再解压,但这样会加长起动时间,这种方法只会用在Flash空间不够的情况
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

8
 
通过串口直接下载用nb0,pb下载用bin

我想问一下:
PB下载用BIN
是什么意思????
PB下载可以用NB0吗??

另外,貌似没用用串口下载的吧??
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 6 楼 hzdysymbol 的回复:
NK.nb0就是NK.bin展开后的文件,bin的文件结构请参考MS相关文件,有详细的说明
Bootloader可以支持下载NB0也可支持下载BIN,一般的做法是对于NB0的文件下载后直接烧到flash上,对于BIN的文件下载后解压然后烧到Flash上
其实也可以做成BIN烧到Flash上,然后起动的时候Load出来后再解压,但这样会加长起动时间,这种方法只会用在Flash空间不够的情况

“Bootloader可以支持下载NB0也可支持下载BIN,一般的做法是对于NB0的文件下载后直接烧到flash上,对于BIN的文件下载后解压然后烧到Flash上
其实也可以做成BIN烧到Flash上,然后起动的时候Load出来后再解压,但这样会加长起动时间,这种方法只会用在Flash空间不够的情况

请问这个方法具体是怎么做的呢??
特别是“可以做成BIN烧到Flash上,然后起动的时候Load出来后再解压”这个方法!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
恩,学习了
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
你好啊,,,有个问题请教一下哦,,,
我用的是S3C2440平台,WinCe5.0.我的nandflash分成了MBR,BINFS,FATFS部分.现在我想把两个bin文件放到系统的Wondows 目录下,但重启后,就会消失,这个怎么处理才可以让我能随便方东西到系统系统的Wondows 目录,而且重新启动后,不会消失啊?另外,我的NK.nb0应该是安装在了BINFS分区上。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

12
 
之前也遇到类似问题,呵呵
学习中必经之路。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

13
 
我现在 在命令行用"blddemo clean -q" 编译,可是只生成NK.bin,没有生成NK.nbo.
这是什么原因,是因为设置的不对还是?
望高手赐教,应该怎么作才能生成NK.nbo
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

14
 
直接在pb下面的一个命令行就可以生成nb0,用get nb0,就直接可以生成你当前nk.bin的nb0的文件,至于nb0,跟nk.bin的关系,我也不太清楚,但是在我的开发过程中,我用pb是直接将nk.bin能烧到nandflash,也可以烧进SDRAM,我们用SD卡可以将nk.nb0烧到NANDFLASH,至于于说用串口来烧录kenerl,我没有用过
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

15
 
我在PB的命令行下输入 get nb0,提示不是内部或外部命令,也不是可执行文件或批处理文件???
**************
网上搜了一下找到个方法:
cvrtbin的用途,最常用的就是将NK.bin转换出NK.nb0。用法如下:

  cvrtbin [options] [filename]

  -s 从bin文件中产生sre文件

  -r 从bin文件中产生rom文件

  -a rom文件的起始地址

  -w 总线的宽度

  -l rom文件的大小

  这个工具可以和viewbin工具一起使用,将NK.bin文件转换成NK.nb0。

  首先通过:viewbin -rec nk.bin命令获得NK.bin的起始地址和大小,然后通过下面的命令:

  cvrtbin -a C02C0000 -l 00D5E380 -w 32 -r NK.bin

  将NK.bin转换成NK.nb0。起始地址为0xC02C0000,大小是0x00D5E380,总线宽度为32bit,最后输出NK.nb0.
********
我试了一下,可以生成nk.nb0
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

16
 
学习一下,以前只是知道个大概
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

17
 
bin根本不能算是什么压缩数据,只是一种带有格式的image而已,通过格式减小了image的size,而非压缩
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 16 楼 hlin99 的回复:
bin根本不能算是什么压缩数据,只是一种带有格式的image而已,通过格式减小了image的size,而非压缩

同意,不过这个东西是不能直接在内存运行的。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

19
 
好贴,顶一下
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

20
 
好贴,顶一下
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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