1. gzyueqian
      13352868059

      在你的嵌入式設(shè)備中使用閃存(flash ROM)

      更新時(shí)間: 2005-08-26 00:00:00來(lái)源: 粵嵌教育瀏覽量:5495

          非易失性可編程Flash ROM 擁有比一次性編程存儲(chǔ)器(例如EPROM)更多的優(yōu)勢(shì)。明顯的是不用物理上更換芯片就能夠在已售出的嵌入式設(shè)備上實(shí)現(xiàn)軟件升級(jí)。Flash ROM 還能夠?yàn)閰?shù)數(shù)據(jù)提供非易失性存儲(chǔ),例如定制產(chǎn)品設(shè)置和配置信息。

          更多的Flash ROM在讀操作的時(shí)候更像一個(gè)一般的只讀存儲(chǔ)器。但寫(xiě)操作你要注意到它的根本體系結(jié)構(gòu)。請(qǐng)注意不同的產(chǎn)品存在差異,所以在使用Flash ROM時(shí)一定要精讀數(shù)據(jù)表格得到精確的信息。

          塊結(jié)構(gòu)
          一個(gè)Flash ROM通常被分為很多塊或扇區(qū)(例如64KB塊)每個(gè)塊可以被單獨(dú)的擦除,在寫(xiě)入,以及保護(hù)不被意外的擦除或重編程。你不能對(duì)塊中的單個(gè)字節(jié)編程除非先擦除整個(gè)塊。Flash ROM需要特殊的軟件次序來(lái)控制擦寫(xiě)和塊保護(hù)。

          理解塊的體系結(jié)構(gòu)可以讓你知道代碼在Flash ROM中的位置。Flash ROM小被分為3個(gè)獨(dú)立的區(qū)域,每個(gè)區(qū)包括一個(gè)或多個(gè)塊,能夠被獨(dú)立的保護(hù)或再編程。

          啟動(dòng)塊包括一個(gè)小的啟動(dòng)裝載程序來(lái)初始化CPU;
          參數(shù)塊存儲(chǔ)非易失性定制數(shù)據(jù),例如用戶(hù)設(shè)置 ;
          主塊存儲(chǔ)應(yīng)用的代碼和數(shù)據(jù)段。

          塊保護(hù)
          Flash ROM 提供塊保護(hù)來(lái)防止對(duì)單獨(dú)存儲(chǔ)塊的意外擦除和寫(xiě)入。保護(hù)形式由軟件鎖定,硬件鎖定以及二者的結(jié)合。

          軟件鎖定和解鎖是通過(guò)Flash ROM 中的寄存器寫(xiě)入實(shí)現(xiàn)的。它允許單獨(dú)塊的擦除和寫(xiě)入。

          硬件鎖定和解鎖需要外部設(shè)備的交互,例如通過(guò)硬件跳線為一個(gè)外部管腳提供一個(gè)電壓。硬件鎖通常只用于重要的啟動(dòng)塊。

          啟動(dòng)塊
          啟動(dòng)塊中的啟動(dòng)裝載代碼的角色非常關(guān)鍵。除了啟動(dòng)CPU,它還能擦除和再編程整個(gè)Flash ROM,不論其余的Flash ROM是空的還是被破壞的。

          這樣的破壞一邊由于升級(jí)主塊失敗,或者在升級(jí)的時(shí)候掉電。主塊的破壞還是能夠處理的事件,而啟動(dòng)塊的破壞將導(dǎo)致嵌入式設(shè)備不能啟動(dòng)或恢復(fù)。因此啟動(dòng)塊需要特殊對(duì)待,包括硬鎖保護(hù),大多數(shù)的Flash ROM能夠保護(hù)該區(qū)域的意外破壞。

          一旦設(shè)備產(chǎn)品被初始化,就將啟動(dòng)代碼限制為只讀是一種非常好的方法??蛻?hù)端對(duì)啟動(dòng)塊的任何解鎖和再編程嘗試都可能意外地導(dǎo)致嵌入式產(chǎn)品的不可用。

          頂部和底部啟動(dòng)設(shè)備
          啟動(dòng)代碼和定制數(shù)據(jù)的大小一般比標(biāo)準(zhǔn)塊小很多,為了避免浪費(fèi)寶貴的空間,很多Flash ROM把塊或一塊分割為更小的子塊,例如8KB。這是你更好的控制這些塊的內(nèi)容。

          依賴(lài)于啟動(dòng)代碼在ROM中的所在位置,這些設(shè)備有兩種風(fēng)格:頂部啟動(dòng)和底部啟動(dòng)設(shè)備。這取決于CPU在重啟動(dòng)/加電后從哪里獲取指令:不論是存儲(chǔ)空間頂部(例如Intel)或者存儲(chǔ)空間底部(例如Motorola)。一些Flash ROM 可通過(guò)外部端腳來(lái)配置頂部或底部啟動(dòng)。

          邊寫(xiě)邊讀
          很多Flash ROM不能邊寫(xiě)邊讀。這意味著當(dāng)你再編程的時(shí)候不能從Flash ROM中執(zhí)行任何代碼。這包括擦寫(xiě)的同時(shí)可能調(diào)用中斷程序,再編程期間采用系統(tǒng)內(nèi)存和/或CPU緩存。然而,一些設(shè)備提供了邊寫(xiě)邊讀的特性,允許度一個(gè)塊的同時(shí)擦寫(xiě)另一個(gè)不同的塊。

      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲区小说区激情区图片区 | 亚洲人成网站999久久久综合 | 日韩精精品一区二区三区四区 | 欧美日韩精品高清一区二区 | 久久精品免费网站网 | 亚洲a∨激情综合五月 |