U BOOT JFFS2檔案系統的配置

2021-05-25 18:49:13 字數 1515 閱讀 3900

jffs2檔案系統的配置

1. 在config_commands中增加cfg_cmd_jffs2. 

增加了cfg_cmd_jffs2後會將jffs2相關的檔案編譯到工程中。

2. 關於cfg_jffs_custom_part

uboot提供了預設的jffs檔案系統的part讀取資訊,如果使用者定義該巨集,則使用者需要自己定製jffs的part資訊,此時需要使用者自己實現函式:

struct part_info* jffs2_part_info(int part_num);

一般情況下不需要使用者自己來實現,使用uboot提供的就不會有什麼問題了。

3. 關於cfg_jffs_single_part

如果使用者不定義cfg_jffs_custom_part,那麼編譯器會定義cfg_jffs_single_part

#define cfg_jffs_single_part 1

這就意味著使用者不可以改變jffs的part引數, 不提供chpart命令更改part_num.  否則使用者可以通過chpart命令更改part_num(當前使用的part), 同時設定partition環境變數的值.

4. 建議操作

a. 在config_commands中增加cfg_cmd_jffs2.

b. 定義cfg_jffs2_num_banks為1, 一般情況下我們就設定1個bank為jffs檔案系統.

=> #define cfg_jffs2_num_banks 1

c. 不要定義 cfg_jffs_custom_part, 使用預設的資料.

=> #undef cfg_jffs_custom_part

d. 定義 cfg_jffs2_first_bank, 確定flash_info中存放jffs檔案系統的bank.

如: => #define cfg_jffs2_first_bank  2

e. 一般情況下不要設定cfg_jffs2_first_sector巨集, 預設從該bank的第0個sector開始.

=> #undef cfg_jffs2_first_sector 或者

=> #define cfg_jffs2_first_sector 0

如果檔案系統在該bank內部還是有偏移, 則設定 cfg_jffs2_first_sector巨集.

如: => #define cfg_jffs2_first_sector 1

f. 配置結果

#define config_commands   (... | cfg_cmd_jffs2)

#define cfg_jffs2_num_banks  1

#undef cfg_jffs_custom_part

#define cfg_jffs2_first_sector  0

//#undef cfg_jffs2_first_sector

#define cfg_jffs2_first_bank  2

本系統使用flash的bank2做為jffs2檔案系統,故定義巨集cfg_jffs2_first_bank為2。

linux檔案系統 ext2檔案系統

如何快速高效的尋到在硬碟儲存的資料,於是檔案系統就誕生了。檔案系統是邏輯層面的,那麼檔案系統是如何管理 件層提供的磁碟空間的?現在,大部分檔案系統採用索引分配方案 優點 1.能夠保持好大部分檔案的區域性性 2.滿足檔案插入,刪除的高效 3.隨機讀寫不需要沿著指標前行 缺點1.會有較多的磁碟尋道次數 ...

ext2檔案系統

ext2磁碟結構 ext2分割槽和ext2分組的分布圖 下圖是借用其他部落格的 塊組中的每個塊包含的資訊 超級快 1個塊 描述該分割槽中的整個檔案系統的資訊,包括有多少個快組,每個快組有多少個塊,多少個索引節點等。組描述符塊 n塊 塊點陣圖 1塊 索引節點位圖 1塊 索引節點 n塊 資料塊 n塊 塊...

Linux EXT2 檔案系統

1.ext2 檔案系統 ext2檔案系統最前面有乙個啟動區,這個啟動扇區可以安裝引導裝載程式。其餘部分被分成塊組 block group 示意圖如下 塊組中的每一塊包含下列資訊之一 1 超級塊 super block 記錄檔案系統的整體資訊,包括inode block的總量 使用量 剩餘量,以及檔案...