1、檔案型別
// file types
enum lfs_type ;
2、檔案開啟時的標誌
// file open flags
enum lfs_open_flags ;
3、檔案seek時的標誌
// file seek flags
enum lfs_whence_flags ;
4、lfs的配置引數
// configuration provided during initialization of the littlefs
struct lfs_config ;
5、檔案資訊
// file info structure
struct lfs_info ;
6、使用者屬性
struct lfs_attr ;
7、檔案open時的配置
struct lfs_file_config ;
8、lfs_cache結構
typedef struct lfs_cache lfs_cache_t;
9、lfs_mdir結構,代表metadata pair,dir本身所在的block
typedef struct lfs_mdir lfs_mdir_t;
10、lfs目錄結構
// littlefs directory type
typedef struct lfs_dir lfs_dir_t;
11、lfs檔案型別
// littlefs file type
typedef struct lfs_file ctz; // 指向大檔案的ctz skip-list。對於小檔案則直接inline了,無需ctz skip-list
uint32_t flags; // lfs_open_flags中的值
lfs_off_t pos; // 檔案訪問時的偏移
lfs_block_t block; // file當前的block
lfs_off_t off; // 在block內的offset
lfs_cache_t cache; // 檔案訪問時的cache
const struct lfs_file_config *cfg; // 檔案open時的配置引數,包含乙個buffer以及使用者屬性
} lfs_file_t;
12、lfs superblock結構
typedef struct lfs_superblock lfs_superblock_t;
13、lfs檔案系統型別結構
// the littlefs filesystem type
typedef struct lfs *mlist; // metadata pair list
uint32_t seed; // block alloctor的隨機數生成的seed
struct lfs_gstate gstate, gpending, gdelta; // 用於目錄操作sync的global state,
struct lfs_free free; // lookahead buffer,用於分配free block
const struct lfs_config *cfg; // 檔案系統的配置引數
lfs_size_t name_max; // 檔名的最大長度,和superblock中的name_max值相同
lfs_size_t file_max; // 檔案的最大長度,和superblock中的file_max值相同
lfs_size_t attr_max; // 使用者屬性的最大長度,和superblock中的attr_max值相同
} lfs_t;
littlefs系列 介紹
1 littlefs主要用在微控制器和flash上,是一種嵌入式檔案系統。主要有3個特點 1 掉電恢復 在寫入時即使復位或者掉電也可以恢復到上乙個正確的狀態。2 擦寫均衡 有效延長flash的使用壽命 3 有限的ram rom 節省rom和ram空間 2 已有的檔案系統 1 非掉電恢復,基於bloc...
資料的重要性
對於程式設計師來說,高手 和 菜鳥 之間的區別實際上只有兩個因素 一是從事程式設計時間的長短不同,使經驗的多少有所區別 第二個因素就是手頭掌握資料的多少了,因為很多問題並不是靠自己鑽研可以解決的,必須靠資料,試想在寫 dos匯程式設計序時如果沒有中斷手冊,可以自己鑽研出來嗎?實際上,大部分 菜鳥 向...
重要資料備份策略
工具 mklink。前乙個引數是鏈結,後乙個是真正檔案所在位置。mklink d h j link target d 建立目錄符號鏈結。預設為檔案 符號鏈結。h 建立硬鏈結,而不是符號鏈結。j 建立目錄聯接。link 指定新的符號鏈結名稱。target 指定新鏈結引用的路徑 相對或絕對 1 mysq...