第13章FLASH存儲器_第1頁
第13章FLASH存儲器_第2頁
第13章FLASH存儲器_第3頁
第13章FLASH存儲器_第4頁
第13章FLASH存儲器_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第1313章章 FLASHFLASH存儲器存儲器本章主要內(nèi)容本章主要內(nèi)容FlashFlash存儲器概述與編程模式存儲器概述與編程模式MC908GP32MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法GP32GP32單片機(jī)單片機(jī)FlashFlash在線編程匯編語言實例在線編程匯編語言實例GP32GP32單片機(jī)單片機(jī)FlashFlash在線編程在線編程08C08C語言實例語言實例HCS08HCS08系列單片機(jī)系列單片機(jī)FlashFlash編程方法編程方法13.1 Flash13.1 Flash存儲器概述與編程模式存儲器概述與編程模式13.1.1 Flash存儲器的基

2、本特點與編程模式(1) Flash存儲器的基本特點 固有不揮發(fā)性:FlashFlash存儲器不需要后備電源來保持?jǐn)?shù)據(jù)。所以,存儲器不需要后備電源來保持?jǐn)?shù)據(jù)。所以,它具有磁存儲器無需電能保持?jǐn)?shù)據(jù)的優(yōu)點。它具有磁存儲器無需電能保持?jǐn)?shù)據(jù)的優(yōu)點。 易更新性易更新性:Flash:Flash存儲器具有電可擦除特點。相對于存儲器具有電可擦除特點。相對于EPROM(EPROM(電可編電可編程只讀存儲器程只讀存儲器) )的紫外線擦除工藝,的紫外線擦除工藝,F(xiàn)lashFlash存儲器的電擦除功能為開發(fā)者存儲器的電擦除功能為開發(fā)者節(jié)省了時間,也為最終用戶更新存儲器內(nèi)容提供了可能。節(jié)省了時間,也為最終用戶更新存儲器內(nèi)

3、容提供了可能。 成本低、密度高、可靠性好成本低、密度高、可靠性好: :與與EEPROM(EEPROM(電可擦除可編程的只讀存電可擦除可編程的只讀存儲器儲器) )相比較,相比較,F(xiàn)lashFlash存儲器的成本更低、密度更高、可靠性更好。存儲器的成本更低、密度更高、可靠性更好。 13.1 Flash13.1 Flash存儲器概述與編程模式存儲器概述與編程模式13.1.1 Flash存儲器的基本特點與編程模式(2) Flash(2) Flash存儲器的兩種編程模式存儲器的兩種編程模式 從從FlashFlash存儲器的基本特點可以看出,在單片機(jī)中,可以利用存儲器的基本特點可以看出,在單片機(jī)中,可以利

4、用FlashFlash存儲器固化程序,一般情況下通過編程器來完成,存儲器固化程序,一般情況下通過編程器來完成,F(xiàn)lashFlash存儲器工作于這存儲器工作于這種情況,叫種情況,叫監(jiān)控模式監(jiān)控模式(Monitor Mode)(Monitor Mode)或?qū)懭肫髂J交驅(qū)懭肫髂J剑@與一般的,這與一般的EPROMEPROM、OTPOTP、EEPROMEEPROM裝入程序的含義相似。另一方面,由于裝入程序的含義相似。另一方面,由于FlashFlash存儲器具有電存儲器具有電可擦除功能,因此,在程序運行過程中,有可能對可擦除功能,因此,在程序運行過程中,有可能對FlashFlash存儲區(qū)的數(shù)據(jù)或存儲區(qū)的

5、數(shù)據(jù)或程序進(jìn)行更新,程序進(jìn)行更新,F(xiàn)lashFlash存儲器工作于這種情況,叫存儲器工作于這種情況,叫用戶模式用戶模式(User Mode)(User Mode)或在線編程模式?;蛟诰€編程模式。 13.1.2 HC08系列單片機(jī)Flash存儲器的特點與編程模式(1)MC908系列單片機(jī)Flash存儲器的特點 第一,編程速度快及可靠性高。第一,編程速度快及可靠性高。Freescale HC08Freescale HC08系列單片機(jī)的片內(nèi)系列單片機(jī)的片內(nèi)FlashFlash的整體擦除時間可以控制在的整體擦除時間可以控制在5ms5ms以內(nèi),對單字節(jié)的編程時間也在以內(nèi),對單字節(jié)的編程時間也在40ns4

6、0ns以內(nèi)。以內(nèi)。片內(nèi)片內(nèi)FlashFlash的存儲數(shù)據(jù)可以保持的存儲數(shù)據(jù)可以保持1010年以上,可擦寫次數(shù)也在年以上,可擦寫次數(shù)也在1 1萬次以上。萬次以上。 第二,單一電源電壓供電。第二,單一電源電壓供電。Freescale HC08Freescale HC08系列單片機(jī)通過在片內(nèi)集成系列單片機(jī)通過在片內(nèi)集成電荷泵,可由單一工作電壓在片內(nèi)產(chǎn)生出編程電壓。這樣,可實現(xiàn)單一電荷泵,可由單一工作電壓在片內(nèi)產(chǎn)生出編程電壓。這樣,可實現(xiàn)單一電源供電的在線編程,不需要為電源供電的在線編程,不需要為FlashFlash的編程而在目標(biāo)板上增加多余的硬的編程而在目標(biāo)板上增加多余的硬件模塊。件模塊。 第三,支

7、持在線編程。第三,支持在線編程。Freescale HC08Freescale HC08系列單片機(jī)的片內(nèi)系列單片機(jī)的片內(nèi)FlashFlash支持在線支持在線編程編程(In-Circuit Program)(In-Circuit Program),允許單片機(jī)內(nèi)部運行的程序去改寫,允許單片機(jī)內(nèi)部運行的程序去改寫FlashFlash存存儲內(nèi)容,儲內(nèi)容, 13.1.2 HC08系列單片機(jī)Flash存儲器的特點與編程模式(2) MC908(2) MC908系列單片機(jī)系列單片機(jī)FlashFlash存儲器的編程模式存儲器的編程模式 在監(jiān)控方式下,單片機(jī)內(nèi)部的監(jiān)控在監(jiān)控方式下,單片機(jī)內(nèi)部的監(jiān)控ROMROM程序

8、開始工作,首先進(jìn)行初始程序開始工作,首先進(jìn)行初始化,隨后進(jìn)入串行輸入命令狀態(tài)。監(jiān)控化,隨后進(jìn)入串行輸入命令狀態(tài)。監(jiān)控ROMROM通過一根通過一根I/OI/O口線與主機(jī)進(jìn)行口線與主機(jī)進(jìn)行串行通信,該串行通信,該I/OI/O口線的指定與芯片型號有關(guān),例如,對口線的指定與芯片型號有關(guān),例如,對MC908GP32MC908GP32,它,它為為PTA0; PTA0; 對對MC68HC908JL3MC68HC908JL3,它為,它為PTB0PTB0,該,該I/OI/O口線在使用時需外接上拉電口線在使用時需外接上拉電阻。主機(jī)程序可以利用監(jiān)控阻。主機(jī)程序可以利用監(jiān)控ROMROM提供的少數(shù)幾條指令對單片機(jī)內(nèi)部地

9、址進(jìn)提供的少數(shù)幾條指令對單片機(jī)內(nèi)部地址進(jìn)行讀取、寫入等基本操作,包括下載程序到行讀取、寫入等基本操作,包括下載程序到RAMRAM中并執(zhí)行。在此基礎(chǔ)上,中并執(zhí)行。在此基礎(chǔ)上,主機(jī)可以通過主機(jī)程序或是下載到主機(jī)可以通過主機(jī)程序或是下載到RAMRAM中的程序完成對中的程序完成對FlashFlash存儲器編程存儲器編程所需的一系列操作。監(jiān)控模式常被仿真器和編程器采用,而在實際的工所需的一系列操作。監(jiān)控模式常被仿真器和編程器采用,而在實際的工程應(yīng)用中,開發(fā)者往往只需要考慮和實現(xiàn)用戶模式下的程應(yīng)用中,開發(fā)者往往只需要考慮和實現(xiàn)用戶模式下的FlashFlash存儲器在線存儲器在線編程。本章只討論用戶模式下的

10、編程。本章只討論用戶模式下的FlashFlash存儲器的編程方法,給出具體的實存儲器的編程方法,給出具體的實例。例。 13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.1 Flash存儲器編程的基本概念對對FlashFlash編程的基本操作有兩種:擦除編程的基本操作有兩種:擦除(Erase)(Erase)和寫入和寫入(Program)(Program)。 擦擦除操作的含義是將存儲單元的內(nèi)容由二進(jìn)制的除操作的含義是將存儲單元的內(nèi)容由二進(jìn)制的0 0變成變成1 1,而寫入操作的,而寫入操作的含義,是將存儲單元的內(nèi)容由二進(jìn)制的

11、含義,是將存儲單元的內(nèi)容由二進(jìn)制的1 1變成變成0 0。擦除及寫入操作都是。擦除及寫入操作都是通過設(shè)置或清除通過設(shè)置或清除FlashFlash存儲器的控制寄存器存儲器的控制寄存器(FLCR)(FLCR)中的某個或某些位中的某個或某些位來完成的。來完成的。FlashFlash存儲器在片內(nèi)是以頁存儲器在片內(nèi)是以頁(Page)(Page)和行和行(Row)(Row)為單位組織為單位組織的。的。. .頁和行的大小頁和行的大小( (字節(jié)數(shù)字節(jié)數(shù)) )隨整個隨整個FlashFlash存儲器的大小變化而變化,存儲器的大小變化而變化,但頁的大小始終為行的兩倍。對但頁的大小始終為行的兩倍。對FlashFlash

12、存儲器的擦除操作可以進(jìn)行整存儲器的擦除操作可以進(jìn)行整體擦除也可以僅擦除某一起始地址開始的一頁體擦除也可以僅擦除某一起始地址開始的一頁(128(128字節(jié)字節(jié)) )。 13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.2 Flash13.2.2 Flash存儲器的編程寄存器存儲器的編程寄存器(1) Flash(1) Flash控制寄存器控制寄存器(FLash Control Register (FLash Control Register FLCR) FLCR)FLCRFLCR的地址:的地址:$FE08$FE08,定義為

13、:,定義為:D7D4位:未定義。D3 HVEN位:高壓允許位(High-Voltage Enable Bit)。 HVEN=1,打開電荷泵并將高電平加到Flash陣列上;HVEN=0,撤除Flash陣列上的高電平并關(guān)閉電荷泵。D2 MASS位:整體擦除控制位(Mass Erase Control Bit)。該位在ERASE=1時有效,用于選擇Flash擦除操作方式:整體擦除或頁擦除。MASS=1,選擇整體擦除方式;MASS=0,選擇頁擦除方式。D1 ERASE位:擦除控制位(Erase Control Bit)。該位用于設(shè)置Flash編程操作為擦除操作。ERASE=1,選擇擦除操作;ERASE

14、=0,不選擇擦除操作。D0 PGM位:編程(寫入)控制位(Program Control Bit)。該位用于設(shè)置Flash編程操作為編程(寫入)操作,且無法與ERASE位同時為1。PGM=1,選擇寫入操作;PGM=0,不選擇寫入操作。13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.2 Flash存儲器的編程寄存器(2) Flash(2) Flash塊保護(hù)寄存器塊保護(hù)寄存器(FLash Block Protect Register FLBPR)(FLash Block Protect Register FLBPR)FL

15、BPRFLBPR的地址:的地址:$FF7E$FF7E,它的內(nèi)容為,它的內(nèi)容為FlashFlash保護(hù)區(qū)域的起始地址的保護(hù)區(qū)域的起始地址的14147 7位,保護(hù)區(qū)域的起始地址的最高位始終為位,保護(hù)區(qū)域的起始地址的最高位始終為1 1,而保護(hù)區(qū)域的起始地址,而保護(hù)區(qū)域的起始地址的低的低7 7位位( (位位6 60)0)始終為始終為0 0。對。對FLBPRFLBPR寫入,可以設(shè)定被保護(hù)的寫入,可以設(shè)定被保護(hù)的FlashFlash區(qū)區(qū)域,它本身也是一個域,它本身也是一個FlashFlash字節(jié)。當(dāng)字節(jié)。當(dāng)FlashFlash處于保護(hù)狀態(tài)時,擦除和寫處于保護(hù)狀態(tài)時,擦除和寫入操作都是受限制的,入操作都是受

16、限制的,HVENHVEN將無法被正常置起。將無法被正常置起。FlashFlash塊保護(hù)寄存器塊保護(hù)寄存器設(shè)定的只是保護(hù)區(qū)域的起始地址,保護(hù)區(qū)域的結(jié)束地址始終為設(shè)定的只是保護(hù)區(qū)域的起始地址,保護(hù)區(qū)域的結(jié)束地址始終為FlashFlash存儲區(qū)的結(jié)束地址存儲區(qū)的結(jié)束地址($FFFF)($FFFF)。例如,設(shè)定。例如,設(shè)定FLBPRFLBPR的值為的值為$02(%0000 $02(%0000 0010)0010),則保護(hù)區(qū)域為,則保護(hù)區(qū)域為$8100$8100$FFFF(%1000 0001 0000 0000 $FFFF(%1000 0001 0000 0000 %1111 1111 1111 11

17、11)%1111 1111 1111 1111)。 13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(1)頁擦除操作13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(2)整體擦除操作13.2 MC908GP3213.2 MC908GP32單片機(jī)單片機(jī)FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(3)編程操作 13.3 GP3213.3 G

18、P32單片機(jī)單片機(jī)FlashFlash在線編程匯編語言實例在線編程匯編語言實例13.3.1 Flash存儲器的擦除及寫入?yún)R編子程序(1) 擦除、寫入子程序 13.3.1 Flash存儲器的擦除及寫入?yún)R編子程序Flash頁擦除程序13.3.1 Flash存儲器的擦除及寫入?yún)R編子程序13.3.1 Flash存儲器的擦除及寫入?yún)R編子程序Flash寫入執(zhí)行程序Flash寫入執(zhí)行程序13.3 GP3213.3 GP32單片機(jī)單片機(jī)FlashFlash在線編程匯編語言實例在線編程匯編語言實例13.3.1 Flash存儲器的擦除及寫入?yún)R編子程序(2) (2) 擦除與寫入子程序編程要點說明擦除與寫入子程序編程

19、要點說明13.3.2 Flash存儲器在線編程匯編主程序及PC方程序13.3.2 Flash存儲器在線編程匯編主程序及PC方程序圖13-2 Flash編程實驗VB程序界面 13.4 GP32單片機(jī)Flash在線編程08C語言實例 具體程序參見實例程序具體程序參見實例程序“MC08Ex2007GP32GP32CC13_Flash”MC08Ex2007GP32GP32CC13_Flash”下的下的08C08C工程。工程。 * *13.5 HCS0813.5 HCS08系列單片機(jī)系列單片機(jī)FlashFlash編程方法編程方法13.5.1 Flash存儲器的編程寄存器(1) Flash(1) Flas

20、h時鐘分頻寄存器時鐘分頻寄存器(FLash Clock Divider Register FLCR)(FLash Clock Divider Register FLCR)FLCRFLCR的地址:的地址:$1820$1820,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(2) Flash(2) Flash選項寄存器選項寄存器(FLash Options Register FOPT(FLash Options Register FOPT和和NVOPT)NVOPT)MCUMCU復(fù)位時,復(fù)位時,F(xiàn)lashFlash中的非易失性的中的非易失性的NVOPTNVOPT值被賦給值被賦給FOPT

21、FOPT寄存器,寄存器,F(xiàn)OPTFOPT可以讀,但寫操作是無效的。要改變可以讀,但寫操作是無效的。要改變FOPTFOPT寄存器的值,需要對寄存器的值,需要對FlashFlash中中NVOPTNVOPT位擦除并重新寫入新的數(shù)值。位擦除并重新寫入新的數(shù)值。FOPTFOPT的地址:的地址:$1821$1821,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(3) Flash(3) Flash配置寄存器配置寄存器(FLash Configure Register FCNFG)(FLash Configure Register FCNFG)FCNFGFCNFG的地址:的地址:$1823$1823,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(4) Flash(4) Flash保護(hù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論