NK.bin与NK.nb0的区别
[引] 在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格式的文件,必须按其格式定义解开到其指定的地址空间的位置才能执行。