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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5025|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费同性女女aaa免费网站 | 中文二区 | 精品av| 在线亚洲一区 | 日韩精品中文字幕一区二区三区 | 最新国产精品精品视频 | 精品无码久久久久久久动漫 | 亚洲国产精品va在线看黑人 | 亚洲va在线va天堂va狼色在线 | 亚洲日韩中文字幕一区 | 香蕉一区二区 | 精品一区二区三区在线观看国产 | 欧美日韩国产三级 | 999久久久免费精品国产 | 久久久久久www | 一区二区三区国产精品 | 日韩欧美三区 | 夜夜摸夜夜操 | 日韩图区 | 91在线免费视频 | 国产高清免费视频 | 一区二区三区视频在线观看 | 欧美综合一区 | 一区二区国产精品 | 国产午夜精品一区二区三区四区 | 国产一区二区久久 | 殴美成人在线视频 | 久久精品99 | 人人射人人 | 毛片免费在线 | 波多野结衣一区二区 | 精品亚洲永久免费精品 | 久久久久久九九九九 | 欧美激情五月 | 亚洲精品久久久久中文字幕欢迎你 | 免费黄色片视频 | 久久国产欧美一区二区三区精品 | 成人啊啊啊 | 成人av免费 | 日韩欧美网 | 成年人免费在线视频 |