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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5136|回復: 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做了裁剪,變成了一個完全是單鏈表的結構,代碼復雜度低得多。





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


老偉
比特電子








分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:353593 發表于 2018-6-18 11:32 | 只看該作者
您好,能發下flash管理的源碼嗎?謝謝
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91tv国产成人福利 | 伊人久久影院 | 黄色特级片 | 久久精品中文 | 久草网在线观看 | 亚洲视频免费 | 99视频网站 | 日韩天堂网 | 欧美视频在线一区 | 日韩色网| 能看的av| 九九精品在线观看 | 精品理论片 | 精品国产一区二区三 | 狠狠干天天干 | 日韩成人片 | 欧美激情小视频 | 久久精品www人人爽人人 | 丰满少妇高潮 | 国产成人精品三级麻豆 | 欧美www.| 国产麻豆精品视频 | 91片黄在线观看动漫 | 国产美女免费 | 蜜桃视频一区二区 | 日韩在线观看一区 | 99久久久国产精品免费蜜臀 | 中文字幕一区在线 | 亚洲专区一区 | 中文字幕精品一区久久久久 | 日本一级一片免费视频 | www国产视频 | 国产激情在线观看 | 中文字幕日韩视频 | 91禁蘑菇在线看 | 中文字幕在线视频观看 | 99久久综合 | 欧美精品网 | 青青草伊人网 | 久久久久黄色 | 黄色大片在线 |