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

標題: 小型FLASH的管理(原理) [打印本頁]

作者: xuwei    時間: 2015-6-13 01:11
標題: 小型FLASH的管理(原理)
                 最近有些問題困擾左右。一些小數據的存儲問題,現在的片上系統或者單片機系統或多或少的會帶一點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做了裁剪,變成了一個完全是單鏈表的結構,代碼復雜度低得多。





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


老偉
比特電子









作者: hj19891027    時間: 2018-6-18 11:32
您好,能發下flash管理的源碼嗎?謝謝




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲成人福利 | 国产欧美在线观看 | 欧美日韩国产一区 | 天天操夜夜摸 | 国产中文字幕在线观看 | 一本久| 免费a网站 | 五月婷婷中文字幕 | 国产高清一区二区 | 这里只有精品视频 | 手机av片 | 国产91在线看 | 精品少妇一区二区三区免费观 | 中文字幕在线观看免费视频 | 国产日韩精品视频 | 久久久久久伊人 | 天天干天天操天天摸 | www一区| 黄色免费毛片 | 麻豆av在线 | 一区二区不卡视频 | 亚洲第一区视频 | 中文在线观看视频 | 亚洲国产区 | 天天干夜夜撸 | 一级片黄色| 日韩高清精品免费观看 | 国产成人一区二区三区 | 伊人网在线视频 | 成人综合网站 | 一级看片免费视频 | 国产日韩欧美 | 欧美成人极品 | 看黄网站在线观看 | 久久久久久亚洲精品 | www.黄色com | 亚洲精品www久久久久久广东 | 久久黄色影院 | 九九国产视频 | 欧美日韩精品一区二区 | 亚洲黄视频 |