nk bin和nk nb0檔案格式分析

2021-05-24 10:15:42 字數 980 閱讀 6872

那麼nk.bin是如何生成的?

for more information about ce.bib, see make binary image tool.

乙個bin 檔案在儲存上是按下面的結構儲存的

組成:標記(7)+image開始位址(1)+image長度(1) 

記錄0位址+記錄0長+記錄0校驗和+記錄0內容(檔案內容)

記錄1位址+記錄1長+記錄1校驗和+記錄1內容(檔案內容)

......

最後一條記錄是表示結束,start = 0x00000000, length = 0x8c072c3c是startup位址, chksum = 0x00000000

bin 檔案的頭部(不包括記錄)可以用下面的結構表示

struct binfile

dword imagestart

dword imagelength

}; 一般xipkernel.bin,nk.bin 都符合正常bin檔案格式,包含記錄開始0,1,2 記錄為特殊記錄,2做為cece的標記,其後4byte表示 toc位址(指向romhdr結構的資料),3記錄開始都是檔案記錄,

———但是,我們實際用到卻是nk.nb0檔案,這個檔案才是和檔案系統幫頂起來的。我等下要找出他的格式來。先去吃午飯。

再借別人的解釋

首先,nk.bin中的內容是被壓縮過的,nk.nb0中的內容是沒有壓縮的。 兩者大小的區別是因為在生成過程中bin會將你設定的後面的null自動去掉,而nb0就不會。

現在來用微軟自帶工具來看看這兩個檔案的格式到底有什麼不同。

這幅圖結合上面的解釋可以知道,這個nk.bin檔案的標誌是boooff,nk.nb0是沒有這個標誌的,要知道具體的資訊,還是看msdn好。

我使用的是ads開發的bootloader,這個bin檔案不存在什麼段的問題吧,應該和微軟不一樣的,全域性變數的問題在**呢?但是現在造成偶爾不能啟動是什麼原因呢?最後發現又回到了原點。看來ads下的bin檔案格式也要搞清楚才行哦。

MD2檔案格式

md2是一種3d模型網格儲存檔案格式,最早是由id software公司為射擊遊戲quake ii建立的。現今,很多遊戲開發者借鑑於md2檔案格式的易用性來設計自己的模型檔案。本文來詳細理解下md2檔案的結構。參考內容 focus on 3d models chapter 3 quake ii s ...

DPK4 檔案格式

uint32 header dpk4 uint32 archive size in bytes uint32 directory length not including these 4 fields uint32 number of files in the archive for each fi...

MD2檔案格式

md2是一種3d模型網格儲存檔案格式,最早是由id software公司為射擊遊戲quake ii建立的。現今,很多遊戲開發者借鑑於md2檔案格式的易用性來設計自己的模型檔案。本文來詳細理解下md2檔案的結構。參考內容 focus on 3d models chapter 3 quake ii s ...