




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第1313章章 FLASHFLASH存儲器存儲器本章主要內容本章主要內容FlashFlash存儲器概述與編程模式存儲器概述與編程模式MC908GP32MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法GP32GP32單片機單片機FlashFlash在線編程匯編語言實例在線編程匯編語言實例GP32GP32單片機單片機FlashFlash在線編程在線編程08C08C語言實例語言實例HCS08HCS08系列單片機系列單片機FlashFlash編程方法編程方法13.1 Flash13.1 Flash存儲器概述與編程模式存儲器概述與編程模式13.1.1 Flash存儲器的基
2、本特點與編程模式(1) Flash存儲器的基本特點 固有不揮發性:FlashFlash存儲器不需要后備電源來保持數據。所以,存儲器不需要后備電源來保持數據。所以,它具有磁存儲器無需電能保持數據的優點。它具有磁存儲器無需電能保持數據的優點。 易更新性易更新性:Flash:Flash存儲器具有電可擦除特點。相對于存儲器具有電可擦除特點。相對于EPROM(EPROM(電可編電可編程只讀存儲器程只讀存儲器) )的紫外線擦除工藝,的紫外線擦除工藝,FlashFlash存儲器的電擦除功能為開發者存儲器的電擦除功能為開發者節省了時間,也為最終用戶更新存儲器內容提供了可能。節省了時間,也為最終用戶更新存儲器內
3、容提供了可能。 成本低、密度高、可靠性好成本低、密度高、可靠性好: :與與EEPROM(EEPROM(電可擦除可編程的只讀存電可擦除可編程的只讀存儲器儲器) )相比較,相比較,FlashFlash存儲器的成本更低、密度更高、可靠性更好。存儲器的成本更低、密度更高、可靠性更好。 13.1 Flash13.1 Flash存儲器概述與編程模式存儲器概述與編程模式13.1.1 Flash存儲器的基本特點與編程模式(2) Flash(2) Flash存儲器的兩種編程模式存儲器的兩種編程模式 從從FlashFlash存儲器的基本特點可以看出,在單片機中,可以利用存儲器的基本特點可以看出,在單片機中,可以利
4、用FlashFlash存儲器固化程序,一般情況下通過編程器來完成,存儲器固化程序,一般情況下通過編程器來完成,FlashFlash存儲器工作于這存儲器工作于這種情況,叫種情況,叫監控模式監控模式(Monitor Mode)(Monitor Mode)或寫入器模式或寫入器模式,這與一般的,這與一般的EPROMEPROM、OTPOTP、EEPROMEEPROM裝入程序的含義相似。另一方面,由于裝入程序的含義相似。另一方面,由于FlashFlash存儲器具有電存儲器具有電可擦除功能,因此,在程序運行過程中,有可能對可擦除功能,因此,在程序運行過程中,有可能對FlashFlash存儲區的數據或存儲區的
5、數據或程序進行更新,程序進行更新,FlashFlash存儲器工作于這種情況,叫存儲器工作于這種情況,叫用戶模式用戶模式(User Mode)(User Mode)或在線編程模式。或在線編程模式。 13.1.2 HC08系列單片機Flash存儲器的特點與編程模式(1)MC908系列單片機Flash存儲器的特點 第一,編程速度快及可靠性高。第一,編程速度快及可靠性高。Freescale HC08Freescale HC08系列單片機的片內系列單片機的片內FlashFlash的整體擦除時間可以控制在的整體擦除時間可以控制在5ms5ms以內,對單字節的編程時間也在以內,對單字節的編程時間也在40ns4
6、0ns以內。以內。片內片內FlashFlash的存儲數據可以保持的存儲數據可以保持1010年以上,可擦寫次數也在年以上,可擦寫次數也在1 1萬次以上。萬次以上。 第二,單一電源電壓供電。第二,單一電源電壓供電。Freescale HC08Freescale HC08系列單片機通過在片內集成系列單片機通過在片內集成電荷泵,可由單一工作電壓在片內產生出編程電壓。這樣,可實現單一電荷泵,可由單一工作電壓在片內產生出編程電壓。這樣,可實現單一電源供電的在線編程,不需要為電源供電的在線編程,不需要為FlashFlash的編程而在目標板上增加多余的硬的編程而在目標板上增加多余的硬件模塊。件模塊。 第三,支
7、持在線編程。第三,支持在線編程。Freescale HC08Freescale HC08系列單片機的片內系列單片機的片內FlashFlash支持在線支持在線編程編程(In-Circuit Program)(In-Circuit Program),允許單片機內部運行的程序去改寫,允許單片機內部運行的程序去改寫FlashFlash存存儲內容,儲內容, 13.1.2 HC08系列單片機Flash存儲器的特點與編程模式(2) MC908(2) MC908系列單片機系列單片機FlashFlash存儲器的編程模式存儲器的編程模式 在監控方式下,單片機內部的監控在監控方式下,單片機內部的監控ROMROM程序
8、開始工作,首先進行初始程序開始工作,首先進行初始化,隨后進入串行輸入命令狀態。監控化,隨后進入串行輸入命令狀態。監控ROMROM通過一根通過一根I/OI/O口線與主機進行口線與主機進行串行通信,該串行通信,該I/OI/O口線的指定與芯片型號有關,例如,對口線的指定與芯片型號有關,例如,對MC908GP32MC908GP32,它,它為為PTA0; PTA0; 對對MC68HC908JL3MC68HC908JL3,它為,它為PTB0PTB0,該,該I/OI/O口線在使用時需外接上拉電口線在使用時需外接上拉電阻。主機程序可以利用監控阻。主機程序可以利用監控ROMROM提供的少數幾條指令對單片機內部地
9、址進提供的少數幾條指令對單片機內部地址進行讀取、寫入等基本操作,包括下載程序到行讀取、寫入等基本操作,包括下載程序到RAMRAM中并執行。在此基礎上,中并執行。在此基礎上,主機可以通過主機程序或是下載到主機可以通過主機程序或是下載到RAMRAM中的程序完成對中的程序完成對FlashFlash存儲器編程存儲器編程所需的一系列操作。監控模式常被仿真器和編程器采用,而在實際的工所需的一系列操作。監控模式常被仿真器和編程器采用,而在實際的工程應用中,開發者往往只需要考慮和實現用戶模式下的程應用中,開發者往往只需要考慮和實現用戶模式下的FlashFlash存儲器在線存儲器在線編程。本章只討論用戶模式下的
10、編程。本章只討論用戶模式下的FlashFlash存儲器的編程方法,給出具體的實存儲器的編程方法,給出具體的實例。例。 13.2 MC908GP3213.2 MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法13.2.1 Flash存儲器編程的基本概念對對FlashFlash編程的基本操作有兩種:擦除編程的基本操作有兩種:擦除(Erase)(Erase)和寫入和寫入(Program)(Program)。 擦擦除操作的含義是將存儲單元的內容由二進制的除操作的含義是將存儲單元的內容由二進制的0 0變成變成1 1,而寫入操作的,而寫入操作的含義,是將存儲單元的內容由二進制的
11、含義,是將存儲單元的內容由二進制的1 1變成變成0 0。擦除及寫入操作都是。擦除及寫入操作都是通過設置或清除通過設置或清除FlashFlash存儲器的控制寄存器存儲器的控制寄存器(FLCR)(FLCR)中的某個或某些位中的某個或某些位來完成的。來完成的。FlashFlash存儲器在片內是以頁存儲器在片內是以頁(Page)(Page)和行和行(Row)(Row)為單位組織為單位組織的。的。. .頁和行的大小頁和行的大小( (字節數字節數) )隨整個隨整個FlashFlash存儲器的大小變化而變化,存儲器的大小變化而變化,但頁的大小始終為行的兩倍。對但頁的大小始終為行的兩倍。對FlashFlash
12、存儲器的擦除操作可以進行整存儲器的擦除操作可以進行整體擦除也可以僅擦除某一起始地址開始的一頁體擦除也可以僅擦除某一起始地址開始的一頁(128(128字節字節) )。 13.2 MC908GP3213.2 MC908GP32單片機單片機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陣列上的高電平并關閉電荷泵。D2 MASS位:整體擦除控制位(Mass Erase Control Bit)。該位在ERASE=1時有效,用于選擇Flash擦除操作方式:整體擦除或頁擦除。MASS=1,選擇整體擦除方式;MASS=0,選擇頁擦除方式。D1 ERASE位:擦除控制位(Erase Control Bit)。該位用于設置Flash編程操作為擦除操作。ERASE=1,選擇擦除操作;ERASE
14、=0,不選擇擦除操作。D0 PGM位:編程(寫入)控制位(Program Control Bit)。該位用于設置Flash編程操作為編程(寫入)操作,且無法與ERASE位同時為1。PGM=1,選擇寫入操作;PGM=0,不選擇寫入操作。13.2 MC908GP3213.2 MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法13.2.2 Flash存儲器的編程寄存器(2) Flash(2) Flash塊保護寄存器塊保護寄存器(FLash Block Protect Register (FLash Block Protect Register FLBPR) FLBPR)F
15、LBPRFLBPR的地址:的地址:$FF7E$FF7E,它的內容為,它的內容為FlashFlash保護區域的起始地址的保護區域的起始地址的14147 7位,保護區域的起始地址的最高位始終為位,保護區域的起始地址的最高位始終為1 1,而保護區域的起始地址,而保護區域的起始地址的低的低7 7位位( (位位6 60)0)始終為始終為0 0。對。對FLBPRFLBPR寫入,可以設定被保護的寫入,可以設定被保護的FlashFlash區區域,它本身也是一個域,它本身也是一個FlashFlash字節。當字節。當FlashFlash處于保護狀態時,擦除和寫處于保護狀態時,擦除和寫入操作都是受限制的,入操作都是
16、受限制的,HVENHVEN將無法被正常置起。將無法被正常置起。FlashFlash塊保護寄存器塊保護寄存器設定的只是保護區域的起始地址,保護區域的結束地址始終為設定的只是保護區域的起始地址,保護區域的結束地址始終為FlashFlash存儲區的結束地址存儲區的結束地址($FFFF)($FFFF)。例如,設定。例如,設定FLBPRFLBPR的值為的值為$02(%0000 $02(%0000 0010)0010),則保護區域為,則保護區域為$8100$8100$FFFF(%1000 0001 0000 0000 $FFFF(%1000 0001 0000 0000 %1111 1111 1111 1
17、111)%1111 1111 1111 1111)。 13.2 MC908GP3213.2 MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(1)頁擦除操作13.2 MC908GP3213.2 MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(2)整體擦除操作13.2 MC908GP3213.2 MC908GP32單片機單片機FlashFlash存儲器編程方法存儲器編程方法13.2.3 Flash存儲器的編程過程(3)編程操作 13.3 GP3213.3
18、GP32單片機單片機FlashFlash在線編程匯編語言實例在線編程匯編語言實例13.3.1 Flash存儲器的擦除及寫入匯編子程序(1) 擦除、寫入子程序 13.3.1 Flash存儲器的擦除及寫入匯編子程序Flash頁擦除程序13.3.1 Flash存儲器的擦除及寫入匯編子程序13.3.1 Flash存儲器的擦除及寫入匯編子程序Flash寫入執行程序Flash寫入執行程序13.3 GP3213.3 GP32單片機單片機FlashFlash在線編程匯編語言實例在線編程匯編語言實例13.3.1 Flash存儲器的擦除及寫入匯編子程序(2) (2) 擦除與寫入子程序編程要點說明擦除與寫入子程序編
19、程要點說明13.3.2 Flash存儲器在線編程匯編主程序及PC方程序13.3.2 Flash存儲器在線編程匯編主程序及PC方程序圖13-2 Flash編程實驗VB程序界面 13.4 GP32單片機Flash在線編程08C語言實例 具體程序參見實例程序具體程序參見實例程序“MC08Ex2007GP32GP32CC13_FlashMC08Ex2007GP32GP32CC13_Flash”下的下的08C08C工程。工程。 * *13.5 HCS0813.5 HCS08系列單片機系列單片機FlashFlash編程方法編程方法13.5.1 Flash存儲器的編程寄存器(1) Flash(1) Flas
20、h時鐘分頻寄存器時鐘分頻寄存器(FLash Clock Divider Register (FLash Clock Divider Register FLCR) FLCR)FLCRFLCR的地址:的地址:$1820$1820,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(2) Flash(2) Flash選項寄存器選項寄存器(FLash Options Register (FLash Options Register FOPT FOPT和和NVOPT)NVOPT)MCUMCU復位時,復位時,FlashFlash中的非易失性的中的非易失性的NVOPTNVOPT值被賦給值被賦給FO
21、PTFOPT寄存器,寄存器,FOPTFOPT可以讀,但寫操作是無效的。要改變可以讀,但寫操作是無效的。要改變FOPTFOPT寄存器的值,需要對寄存器的值,需要對FlashFlash中中NVOPTNVOPT位擦除并重新寫入新的數值。位擦除并重新寫入新的數值。FOPTFOPT的地址:的地址:$1821$1821,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(3) Flash(3) Flash配置寄存器配置寄存器(FLash Configure Register (FLash Configure Register FCNFG) FCNFG)FCNFGFCNFG的地址:的地址:$1823$1823,定義為:,定義為:13.5.1 Flash存儲器的編程寄存器(4) Flash(4) Flash保護寄存器保護寄存器(FLash Protect Register (FLash Protect Register FPROT FPROT和和NVPROT)NVPROT)FPROTFPROT的地址:的地址:$1824$1824,定義為:,定義為:(5) Flash(5) Flash狀態寄存器狀態寄存器(FL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝師考試試題及答案
- 計算機三級軟件測試技術基礎與公共政策試題及答案
- 軟考網絡工程師技術更新與應對試題及答案
- 西方國家醫療制度的政治分析試題及答案
- 新經濟形態下的政策創新需求試題及答案
- 深入探討西方國家的公共關系與政治制度試題及答案
- 如何設計有效的公共政策干預措施試題及答案
- 項目管理中的利益分析與規劃試題及答案
- 機電工程跨學科整合的探索試題及答案
- 可再生能源利用試題及答案
- 棗莊學院教師招聘考試歷年真題
- LCE-RB-3-004空調風柜保養指導書內容
- GB/T 26516-2011按摩精油
- 2023年燕舞集團有限公司招聘筆試模擬試題及答案解析
- 電機檢測報告
- 上市合作合同協議書范本-IPO
- 最新消毒記錄表每日消毒表
- 自發冠脈夾層診療指南解讀
- 《一滴水經過麗江》的課件
- 三級醫院服務能力指南2022
- 家庭室內裝飾裝修工程驗收單
評論
0/150
提交評論