久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5108|回復: 1
收起左側

小型FLASH的管理(原理)

[復制鏈接]
ID:82781 發表于 2015-6-13 01:11 | 顯示全部樓層 |閱讀模式
                 最近有些問題困擾左右。一些小數據的存儲問題,現在的片上系統或者單片機系統或多或少的會帶一點DATA flash的存儲區,大不比以前的24cxx的時代了,當然24CXX也算的上是經典的存儲。但是就目前我做過的這種存儲大都是一些簡單的數據或者變量。只要存幾個地址即可,根本不存在管理的問題。也正是基于此,導致現在如果要是實現一個小的FLASH管理就顯得很繁雜,甚至無從下手,考慮了許久,想到了內存池,內存池的概念基本上和Data Flash 相似的,對比他們之間的差別主要在于扇區地址尋址和擦寫上,SRAM當然是讀寫隨便了,只要指針直搗之處即使原始物理地址寫入讀出即可,但是FLASH的特性注定不能這樣子搞。他是塊擦寫的。如此就很難搞的和內存池一樣靈活。
我想這樣解決之:
1、建立一個數據結構來管理已知的FLASH,作一個記錄,這個記錄由若干個小塊組成,小塊用鏈表。
2、按照MEM_POOL構建FLASH的分配和釋放機制,為APP提供接口。
3、建立中間區域,所謂中間區域即使最小可擦寫扇區,一般標定為512byte,用來作為程序-中間緩沖區-FLASH三者協同。
4、在管理記錄中加入兩套函數指針,指向驅動層的驅動函數,以提高靈活性,適應片外EEPROM或者小容量FLASH。
5、塊校驗和存儲自己的映像。管理為單鏈表結構,數據塊為線性結構。以減低代碼實現的復雜程度。

倘若是上百兆的FLASH或者NAND之類的,毫無疑問直接上文件系統是嘴有效的。主要是有些應用介于大容量之間,有沒有足夠的資源,只能是自己實現一套管理機制,


數據結構參考如下:
                                POOL list and BLOCK

                                BLOCK在這里不適用,換成最小的快,即=512BYTE
                                POOL管理FLASH
                                list 提供塊數量,
                                自從此數據結構誕生之時起就決定了他的物理存儲邊界和塊大小。
                                顯然對mem_pool做了裁剪,變成了一個完全是單鏈表的結構,代碼復雜度低得多。





說到底其實就是一張餅,然后用刀切,切成均勻的一小塊一小塊,小塊上面有的有芝麻有的沒有。
應該做出這張餅!


老偉
比特電子








回復

使用道具 舉報

ID:353593 發表于 2018-6-18 11:32 | 顯示全部樓層
您好,能發下flash管理的源碼嗎?謝謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产免费一区 | 国产激情一区二区三区 | 久草在线免费资源 | 久久国产精品久久久久 | 久久久久国产视频 | 成人在线一区二区 | 国产露脸对白88av | 久久99精品国产99久久6男男 | 日韩av免费在线电影 | 一区二区在线免费观看视频 | 久久网日本 | 91av视频在线播放 | 亚洲男女激情 | 天堂中文资源在线 | 在线欧美一区二区 | 日韩不卡一区二区 | 黄色网页在线 | 欧美视频日韩 | 奇色影视 | 在线观看国产精品视频 | 亚洲国产中文字幕 | 青青草视频免费观看 | 久久久精品网 | 欧美一区二区在线观看 | 国产一级一级毛片 | 国产精品成人一区二区三区吃奶 | 人干人人 | 国产最新视频在线 | 欧美精品一区二区三区在线四季 | 性高湖久久久久久久久aaaaa | 一区二区在线免费观看 | 久久久久久美女 | 亚洲一区二区国产 | 国产午夜精品理论片a大结局 | 成人免费在线小视频 | 国产区在线视频 | 福利网站在线观看 | 日本一区二区三区在线观看 | h视频免费在线观看 | 日本亚洲精品成人欧美一区 | 精品美女久久久 |