<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 一種支持多種閃存的自適應驅動(dòng)設計

一種支持多種閃存的自適應驅動(dòng)設計

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

Flash ID讀取流程如圖6所示。

f.JPG

2.3 自適應驅動(dòng)的結構設計

指針數組*(spansion_part[])的每個(gè)成員都是一種Flash的接口函數指針,系統每添加一種Flash的驅動(dòng)接口,需要在spansion_part中添加一個(gè)成員變量,數據有多少個(gè)成員變量,就代表系統支持多少種Flash。本系統現已支持6種Flash,*(spansion_part[])數組有6個(gè)成員變量和1個(gè)NULL(結束標志)。

k.JPG

fsi_nor_device結構體定義如圖7所示。flash_name[32]用來(lái)存儲當前Flash的名字;id[4]存儲Flash唯一的ID號,在Flash的識別階段,系統通過(guò)比較ID號來(lái)識別當前系統所采用的Flash,從而選擇對應的接口函數;geometry存儲的是Flash的一些物理參數信息,其成員變量family type標記當前Flash屬于哪一個(gè)系列,device_size存儲Flash容量大小,X_iface存儲Flash的位寬(16位/8位),write_buf_size存儲Flash的緩沖區大小,blk_regions記錄的是Flash的硬件結構方面的信息,給文件系統提供參數。ops是一個(gè)指向結構體的指針,ops所指向的結構體各個(gè)成員變量都是當前Flash的操作函數,Ops->read()函數實(shí)現Flash的讀操作,ops->write()函數實(shí)現對Flash的寫(xiě)操作。

本系統采用結構化的編程思想,在自適應層中構造了一組數據結構,為適配層提供統一的接口函數,使各種Flash驅動(dòng)接口相互獨立。每個(gè)Flash的接口函數都是*(spansion_part[])的一個(gè)成員變量,只需要在*(spansion_part[])添加一個(gè)成員變量即可多支持一款Flash存儲器。

l.JPG

自適應驅動(dòng)的結構如圖8所示。如果自適應層讀取的ID等于spansion_part[O]->geometry.id,則確認 當 前 Flash 為ty5701111183kc 04,spansion_parts[0]->ops->config()為當前Flash的配置函數ty5701111183kc04_configure;依次類(lèi)推spansion_parts[0]->ops->read()為當前Flash的寫(xiě)函數,spansion_part[0]->geometry.device_size是Flash的容量大小。

2.4 Flash自適應識別過(guò)程

flash_nor_probe()函數遍歷數組指針*(spansion_parts[])尋找符合當前Flash的驅動(dòng)函數。如圖9所示,自適應識別過(guò)程如下:

m.JPG



關(guān)鍵詞: 閃存 驅動(dòng)設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>