新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)Flash存儲(chǔ)管理策略研究

嵌入式系統(tǒng)Flash存儲(chǔ)管理策略研究

作者: 時(shí)間:2012-11-20 來(lái)源:網(wǎng)絡(luò) 收藏


5 分塊軟件中的實(shí)現(xiàn)

軟件的設(shè)計(jì)中, 良好的軟件架構(gòu)設(shè)計(jì)可以使得軟件具有更好的可靠性及可擴(kuò)展性。目前分層架構(gòu)是軟件設(shè)計(jì)中最為流行的一種[ 7] 。因此在軟件實(shí)現(xiàn)過(guò)程中, 采用了分層的軟件架構(gòu)將分塊軟件分為 驅(qū)動(dòng)層、No r 分塊層和數(shù)據(jù)類(lèi)型管理層三層。具體的軟硬件分層示意圖如圖3 所示。

圖3 模塊軟件構(gòu)架

軟件最底層為 驅(qū)動(dòng)層, 考慮到NOR Flash器的多樣性, 并且各種器件的底層驅(qū)動(dòng)可能不同, 因此Flash 驅(qū)動(dòng)層的建立可以向分塊管理層屏蔽具體的硬件信息。一般驅(qū)動(dòng)層的實(shí)現(xiàn)主要采用函數(shù)指針的方法進(jìn)行[ 8] , 初始化時(shí)通過(guò)讀取不同F(xiàn)lash 的ID 分別對(duì)read、write 和erase 等基本操作函數(shù)指針進(jìn)行賦值, 此后上層軟件在對(duì)Flash 進(jìn)行實(shí)際操作時(shí)則通過(guò)函數(shù)指針進(jìn)行, 并不清楚具體的Flash 信息。在嵌入式中, 非易失性數(shù)據(jù)的種類(lèi)有多種多樣, 因此分塊管理層本身并不涉及具體類(lèi)型數(shù)據(jù)的方法, 只是預(yù)留幾個(gè)字段用于記錄數(shù)據(jù)類(lèi)型等信息[ 9] 。這些字段用于數(shù)據(jù)類(lèi)型管理程序初始化時(shí)使用。數(shù)據(jù)類(lèi)型管理層的主要功能是管理NOR Flash存儲(chǔ)器中不同類(lèi)型的數(shù)據(jù), 向應(yīng)用程序提供基于數(shù)據(jù)類(lèi)型的各種操作, 屏蔽掉具體的分塊管理信息。分塊管理層程序負(fù)責(zé)資源回收算法、開(kāi)機(jī)Flash 異常恢復(fù)算法的實(shí)現(xiàn), 同時(shí)向數(shù)據(jù)類(lèi)型管理層提供各種類(lèi)型數(shù)據(jù)的所在的分塊地址信息。通過(guò)這種構(gòu)架使得每一層的實(shí)現(xiàn)都易于采用面向?qū)ο蟮乃枷雽?shí)現(xiàn), 其中從底層至上層的對(duì)象分別Flash、分塊、數(shù)據(jù)類(lèi)型。

本文引用地址:http://www.butianyuan.cn/article/148242.htm

6 結(jié)語(yǔ)

通過(guò)采用分塊管理與狀態(tài)轉(zhuǎn)換的方法, Flash的存儲(chǔ)性能有了較大的改善, 而且數(shù)據(jù)的可靠性也有很大提高, 特別適用于無(wú)文件系統(tǒng)嵌入式設(shè)備中的數(shù)據(jù)存儲(chǔ)。同時(shí)通過(guò)合理的軟件構(gòu)架使得各個(gè)分層都易于采用面向?qū)ο蟮乃枷雽?shí)現(xiàn), 這樣有利于軟件的擴(kuò)展與移植。目前這種方法已經(jīng)在數(shù)字電視機(jī)頂盒中采用, 實(shí)現(xiàn)效果甚好, 并且為上層軟件的設(shè)計(jì)帶來(lái)很大方便。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉