2013-05-12 64 views
0

我需要爲嵌入式設備生成固件文件,我想知道什麼樣的數據結構格式的最佳做法。固件文件的容器:二進制數據部分的集合

該文件中應該有幾個項目:MCU的固件,一些要寫入設備閃存的數據部分。

顯而易見的方法是「手動」實現該格式:文件開頭的某個頭部(頭部應包含數據結構的版本),然後是地址表,然後是數據。這是我在以前的項目中使用的方式,當我需要更改某些內容時,我真的很厭倦保持這種結構。

是否有一些現有的容器在二進制文件中存儲數據集合?對於能夠處理這種數據收集的許多平臺(至少是C++和Java),將會有很好的庫。想到的是帶有一個或多個表的SQLite數據庫文件,但它似乎是我的需求的開銷。

是否有一些最佳實踐來實現我所需要的?

回答

1

恕我直言,最常見的格式是ZIP或Java術語JAR。這可以在Windows資源管理器中瀏覽並在各種平臺上閱讀。

+0

我會在壓縮數據前添加一些元信息頭,當它應該存儲在某個Flash地址。 – 2013-05-12 20:03:58

+0

從文件末尾讀取ZIP文件。這允許解包程序包含ZIP。即做解壓縮的程序是在開始時,並且ZIP在結尾。您可以將任何數量的數據預先掛載到ZIP中,並且它將正常運行。然而,我建議將meta信息添加爲給定名稱的文件以使其易於訪問。 (這是JAR文件的作用) – 2013-05-12 20:09:12

+1

如果你有一個允許自解壓可執行文件的操作系統,是的 – 2013-05-12 20:13:55