<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 一種支持多種閃存的自適應驅(qū)動設計

          一種支持多種閃存的自適應驅(qū)動設計

          作者: 時間:2012-05-23 來源:網(wǎng)絡 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/202324.htm

          Flash存儲器具有快速訪問、低功耗、尺寸小、重量輕等特性,在系統(tǒng)電源關閉的情況下依然可保留數(shù)據(jù)。隨著技術的發(fā)展,F(xiàn)lash因其在性能和成本方面的優(yōu)勢逐漸成為系統(tǒng)存儲的工業(yè)標準。目前市面上,NOR Flash和NAND Flash是兩種主要的Flash存儲器。因NORFlash能在芯片內(nèi)執(zhí)行程序,一般在非大容量存儲設備中采用NOR Flash作為程序存儲器和非易失性數(shù)據(jù)存儲器,本文以NOR Flash存儲器為例,闡述一種支持多Flash的自適應方法。

          產(chǎn)品在批量生產(chǎn)時,同一款產(chǎn)品在不同的生產(chǎn)階段常常會因價格或者貨源等原因而采用不同型號、硬件接口兼容的Flash存儲器,不同的Flash存儲器對應不同的驅(qū)動程序。這樣,產(chǎn)品因采用了不同廠商、不同容量、不同型號的Flash存儲器,導致在一種器件上開發(fā)的驅(qū)動軟件無法兼容另外一種器件,而需要對軟件版本做一些額外的管理工作。當前所采用的方法是當產(chǎn)品選用不同類型的Flash存儲器后,就添加一個軟件版本,由生產(chǎn)線工人針對不同的Flash存儲器來選擇不同的Bin燒寫文件和不同的軟件版本,這樣不僅生產(chǎn)效率低,而且容易出錯。本文

          提出一種Flash的驅(qū)動自適應的實現(xiàn)方法,對傳統(tǒng)軟件設計方法進行改進,實現(xiàn)同一驅(qū)動軟件同時支持多Flash存儲器,提高了生產(chǎn)效率。

          1 傳統(tǒng)Flash存儲器

          1.1 傳統(tǒng)Flash存儲器的驅(qū)動模型

          NOR Flash的讀取如同RAM和EEPROM一樣不需要特殊的指令,但對Flash的寫入、復位、讀取ID等操作則需要特殊的編程指令序列。通常不直接寫入Flash的主要原因是為了防止加電/掉電時產(chǎn)生的脈沖破壞Flash的原始數(shù)據(jù)。Flash支持的命令集也因器件系列和廠商的不同而不同,因此需要根據(jù)Flash支持的指令集編寫驅(qū)動程序。

          a.JPG

          傳統(tǒng)的Flash存儲器驅(qū)動模型如圖1所示。驅(qū)動層與Flash指令集相關,提供基本的操作函數(shù)給適配層調(diào)用,不同廠商的Flash指令集不同,對應的驅(qū)動層代碼不同。適配層將Flash操作函數(shù)進行一系列包裝以實現(xiàn)某一功能,它為應用層提供標準的應用接口,適配層代碼在移植過程中一般不需要修改。應用層函數(shù)調(diào)用適配層函數(shù)以實現(xiàn)某一具體功能。

          1.2 Flash常用接口

          Flash作為系統(tǒng)的程序存儲器和數(shù)據(jù)存儲器,ARM處理器對Flash的操作有以下幾種:

          ◆初始化配置

          ◆讀數(shù)據(jù)

          ◆寫數(shù)據(jù)

          ◆擦除

          ◆擦除狀態(tài)查詢

          ◆暫停擦除

          ◆恢復擦除

          1.3 Flash的兼容性設計

          傳統(tǒng)Flash模型只針對一種特定指令集的Flash芯片,如配置模塊是針對Flash_A的時序和指令集來編寫的,其對應的軟件為Software_ A,沒有考慮其兼容性。但在產(chǎn)品的后續(xù)生產(chǎn)過程中,當需要將Flash_A更換為接口兼容的Flash_B時,需要為其重新編寫配置接口模塊,對應的軟件為Software_B。Software_A支持Flash_A,Software_B支持Flash_B,由此就帶來一個軟件版本的管理問題。

          b.JPG

          為了便于產(chǎn)品的升級,產(chǎn)品在軟硬件設計過程中往往要考慮其兼容性,硬件的兼容相對軟件與軟件的兼容要容易得多。如圖2所示,NOR Flash的引腳主要有:8/16位的數(shù)據(jù)總線,地址總線(與Flash大小相關),控制引腳(OE#、CE#、AVD#、WE#、WP#)。同一系列Flash芯片的電氣特性基本兼容,包括其引腳連接、封裝方式、直流和交流特性等,如Toshiba公司的ty5701111183kc04和Spansion公司的S29NS128N、S29N 128N的引腳基本兼容。

          硬件的兼容由芯片廠商來完成,而軟件的兼容則需要改善Flash驅(qū)動模型來實現(xiàn)。NOR Flash的生產(chǎn)廠商很多,F(xiàn)lash支持的指令集也岡器件系列和生產(chǎn)廠商的不同而不同。

          c.JPG

          針對以上問題,本文提出一種Flash存儲器自適應的設計方法,在傳統(tǒng)Flash驅(qū)動模型中添加自適應層,同時在硬件驅(qū)動層中添加多種Flash的接口函數(shù)。系統(tǒng)在自適應層中自動搜索相應Flash的函數(shù)接口,從而實現(xiàn)Software_AB同時支持Flash_A和Flash_B。自適應方法與傳統(tǒng)方法的比較如圖3所示。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();