日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于WinCE中config.bib的问题

發布時間:2023/12/10 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于WinCE中config.bib的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這兩天在看關于bootloader的事情。以前的同事提到開機速度的問題,順便也就提到了nk的大小的問題。這一連串的事情使得想回頭再看看config.bib的事情。這篇文章也算來總結下。也接觸過一些ARM的芯片以及對應的BSP包。config.bib文件在msdn上一段解釋如下:

The Config.bib file is the first place to declare how much memory will be made available to the kernel. A single entry is required and should indicate the default amount of RAM that is possible for the device.

所以我們可以了解到config.bib的作用。接下來我們還是用實際的例子來做解釋。例如,本人現在在使用A公司的芯片,該公司的image采用的是XIP的模式,他們BSP包中的config.bib中列出了xip中所設計內容的分配,具體如下:

XIPKERNEL???? 80200000? 00400000? RAMIMAGE
? NK????????????????? 80600000? 03400000? NANDIMAGE
? CHAIN?????????????? 83a00000? 00001000? RESERVED

我們來做一個簡單的加減法,

00400000+03400000+00001000 = 3801000 = 58724352

這里大家暈了。3801000 = 58724352 其中 0x3801000 = 58724352Byte = 58M左右。

呵呵。這下子就看懂了吧。然后我回頭來看最終燒錄到flash中的xip.nb0文件,就是58M。

這個是一個非主流ARM的image。那我們在回頭來看看2440是個什么樣子的。

本人手頭上有個一個mini2440的板子,現在更新到最新的bsp wince5.0的。我們一起來看看他的config.bib片段。在這里mini2440采用的是nk.bin燒錄的形式。原廠提供的nk.bin的大小是25M。好了。我們迫不及待的去看config了。下面是mini2440的config片段:

MEMORY
??? NK????? 80200000? 01E00000? RAMIMAGE
??? RAM???? 82000000? 01E00000? RAM

我們在來做一個進制轉換01E00000? = 31457280 31M. 這里為什么會不一樣了呢,我們在看看nk.nb0文件,是30.7M多。這里需要解釋的是這兩個文件的區別了:

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格式的文件,必須按其格式定義解開到其指定的地址空間的位置才能執行。

這是老生常談了。我們趕緊看看文章中提及的ROMSIZE。ROMSIZE=01e00000。果不其然。

這一下我們了解了兩個知識。一個是config.bib的問題,一個是nk.bin/nb0的問題

下面大家一起來分析一個問題,例如,我用過的S社現在也就是S&C社的一顆ARM芯片。下面我給出它的conifg片段,大家算算他的xip.nb0的大小,猜猜他nk.bin可能的大小:

?

??? TINYNK??????? 8CE50000??????? 00600000??????? RAMIMAGE
??? DRIVERS???? 82000000??????? 00200000??????? NANDIMAGE
??? NK????????? 82200000??????? 01D00000??????? NANDIMAGE

?

答案很簡單了。這里大家自己算算就好了。

總結

以上是生活随笔為你收集整理的关于WinCE中config.bib的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。