版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、-精選文檔 -MSP430X14X Flash讀寫操作總結(jié)開發(fā)平臺: IAR Embedded Workbench、MSP430F149開發(fā)板作者:譚貝貝Flash 簡介Flash 分為主存儲區(qū)和信息存儲區(qū),主存儲區(qū)有8 個512byte 的片段,信息存儲區(qū)有兩個 128byte 的片段。Flash默認(rèn)為讀取模式。在對 Flash 進行編程或者擦除時不允許讀寫,如果需要 CPU 在這期間進行操作,可以把代碼段放在 RAM 中進行。Flash 操作注意事項在讀寫的過程中電壓不能小于2.7V 否則擦除和讀寫的結(jié)果 將 不 可 預(yù) 測 。 Flash的 可 操 作 時 鐘 頻 率 為257KHZ-4
2、76KHZ。如果頻率不符合要求,則結(jié)果不可預(yù)測。在擦除先需要關(guān)閉中斷和看門狗,在擦除的過程中如果產(chǎn)生了中斷, 則會在重新使能中斷后產(chǎn)生一個中斷請求。Flash只能從 1 寫為 0 ,不能從從0 寫為 1,所以需要擦除??梢员徊脸淖钚∧K是片段,tAllErase=tMass可編輯-精選文檔 -Erase = 5297/fFTG, tSeg Erase = 4819/fFTG。Flash ERASEMSP430X14X的擦除模式可以從Flash 或者 RAM 中進行。從 Flash 中擦除從 Flash 中擦除的過程中所有的定時都會被Flash 控制,CPU 被掛起。擦除完成后需要一個假寫入C
3、PU 才能復(fù)位。從 Flash 擦除時有可能把后面 CPU 需要執(zhí)行的代碼擦除。 如果發(fā)生這樣的情況,在擦除后 CPU 的執(zhí)行狀況將不可預(yù)測。Flash 中擦除流程圖可編輯-精選文檔 -從 RAM 中擦除從 RAM 中擦除時 CPU 不會被掛起, 可以繼續(xù)執(zhí)行代碼。必須檢測 BUSY 位以判斷擦除是否結(jié)束,如果在擦除的過程中(即 BUSY=1 時)訪問 Flash ,這是一個違規(guī)的訪問,ACCVIFG 會置位,而擦除的結(jié)果也將不可預(yù)測。RAM中擦除流程圖可編輯-精選文檔 -Flash WriteMSP430X14X有兩種寫入模式, 分為段寫入( byte/wordwrite ),和塊寫入( B
4、lockWrite ),塊寫入要快得多,但是操作麻煩,在擦除的過程中不能有一個 Flash word(low + high byte) ,則會發(fā)生損壞。 CPU 不能在 BUSY=1 時訪問 Flash ,否則 ACCFIG 將置位寫入將不可預(yù)測。1.Byte/Word writeByte/Word寫入可以從Flash 或者 RAM 初始化,當(dāng)從Flash 中初始化時,所有的定時都會被Flash 控制, CPU 被掛起。寫完后CPU 將繼續(xù)執(zhí)行后面的代碼。當(dāng)從 RAM中初始化時, BUSY 必須在CPU 訪問 Flash前置 0. 否則 ACCFIG 將被置位,寫入的結(jié)果將不可預(yù)測。在 Byt
5、e/Word寫模式下寫入總時間不能超過4ms, 如果超過了,當(dāng)再想這塊任何地址寫入數(shù)據(jù)時必須先擦除。可編輯-精選文檔 -Byte/Word寫入流程圖可編輯-精選文檔 -從 RAM中執(zhí)行 Byte/Word寫入塊寫入塊寫入時沒一小塊不能超過 t_cpt=4ms, 塊寫入只能從 RAM 中進行,在塊寫入的過程中 WAIT 位要置 0,當(dāng)想 Flash 中寫入數(shù)據(jù)時, 需要先檢查 WAIT 位是否為 1.當(dāng)前塊寫完后 BLKWRT 要清 0.可編輯-精選文檔 -流程圖可編輯-精選文檔 -在 擦 除 或 者 寫 入 的 過 程 中 訪 問Flash, 見 下 表Flash 的寄存器FCTL1 ,選擇擦
6、除和寫入模式的寄存器FRKEY/FWKEY高八位為密碼讀的密碼為96h ,寫的密碼為 A5h 。BLKWRT塊寫入模式選擇位,可以自動被EMEX 置位WRT 字寫入模式選擇位,可任意自動被EMEX 置位MERASE 和 ERASE,擦除模式選擇位可編輯-精選文檔 -FCTL2 時鐘選擇寄存器FWKEYx 密碼位FSSELx 時鐘選擇位FNx 分頻比分頻值等于FN+1兩個例子#include <msp430x14x.h>#include "BoardConfig.h"void Write_A(uchar value);可編輯-精選文檔 -void Copy_A2B
7、(void);void main( void )/ Stop watchdog timer to prevent time out resetWDTCTL = WDTPW + WDTHOLD; BoardConfig(0xb8);FCTL2 = FWKEY + FSSEL0 + FN0; /Select source uchar value = 0;for(;)Write_A(value+);/Write data to segment ACopy_A2B();/Copydatafromsegment A to segment B_NOP();void Write_A(uchar value)
8、可編輯-精選文檔 -uchar i;uchar *Flash_ptr;Flash_ptr = (uchar *)0x1080;FCTL1 = FWKEY + ERASE;/Set ERASE modeFCTL3 = FWKEY;/Clear LOCK*Flash_ptr = 0;/Dummy writeFCTL1 = FWKEY + WRT;for(i = 0;i < 128;i+)*Flash_ptr+ = value;/Write valueFCTL1 = FWKEY;/Clear WRTFCTL3 = FWKEY + LOCK;/Set LOCK/Copy data from B
9、to Avoid Copy_A2B(void)uchar *Flash_ptrA;uchar *Flash_ptrB;可編輯-精選文檔 -uint i;Flash_ptrA = (uchar *)0X1080;Flash_ptrB = (uchar *)0x1000;FCTL1 = FWKEY + ERASE;FCTL3 = FWKEY;*Flash_ptrB = 0;FCTL1 = FWKEY + WRT;for(i = 0;i < 128;i+)*Flash_ptrB+ = *Flash_ptrA+;FCTL1 = FWKEY;FCTL3 = FWKEY + LOCK;再來個塊寫入的
10、(TI 例程)/*可編輯-精選文檔 -/MSP430F14xDemo-FlashIn-SystemProgramming, BlockWrite/Description:ThisprogramfirstcopiestheFlashWrite routine to RAM, then/ erases flash seg A, then it increments all values in seg A using the 64/ byte block write mode./ Assumed default MCLK = DCO 800 kHz./ Minimum RAM requirement
11、 = 512 bytes/ * Set Breakpoint on NOP in the Mainloop to avoid Stressing Flash */MSP430F149/-/|XIN|-/| |/-|RSTXOUT|-/|/可編輯-精選文檔 -/ H. Grewal / L. Westlund/ Texas Instruments Inc./ Jun 2006/ Built with IAR Embedded Workbench Version: 3.30A /*#include <msp430x16x.h>/ Global variablescharvalue=0;
12、/8-bitvalue to write to segment Achar*Flash_ptr;/Flashpointerchar* RAM_ptr;/ RAMpointerchar*END_ptr;/Endof FlashWrite routine/ Function prototypes void FlashWrite();可編輯-精選文檔 -void CopyRoutine();void End_of_FlashWrite();void main(void)WDTCTL = WDTPW + WDTHOLD; / Stop watchdog timer_DINT();/DiableInte
13、rruptsCopyRoutine();/CopyFlashWrite routine to RAM_EINT();/EnableInterruptswhile(1)/RepeatforeverFlash_ptr=(char*) 0x1000;/InitializeFlash pointerFCTL2 = FWKEY + FSSEL1 + FN0;/ MCLK/2for Flash Timing Generator可編輯-精選文檔 -FCTL1 =FWKEY+ERASE;/SetErase bitFCTL3 =FWKEY;/ClearLock bit*Flash_ptr=0;/Dummywri
14、te to erase Flash segmentwhile(!(FCTL3 & WAIT);/ WAIT untilFlash is readyasm("CALL#300h");/ExecuteFlashWrite from RAM/ Inline Assemblyvalue+;/Increment value_NOP();/SETBREAKPOINT HEREvoid CopyRoutine()Flash_ptr=(char*)FlashWrite;/Set可編輯-精選文檔 -pointer to FlashWrite routineRAM_ptr=(char*
15、)0x0300;/Setpointer to RAMEND_ptr=(char*)End_of_FlashWrite;/Setpointer to End_of_FlashWritewhile(END_ptr!= Flash_ptr)/Checkfor end of FlashWrite*RAM_ptr =*Flash_ptr;/Copyword to RAMFlash_ptr+;/ IncrementFlash pointerRAM_ptr+;/Increment RAM pointervoid FlashWrite()volatileinti;/Useaswrite counter可編輯-精選文檔 -Flash_ptr=(char*)0x1000;/ InitializeFlash pointerwhile(FCTL3& BUSY);/CheckFlash BUSY bitFCTL1 = FWKEY + BLKWRT + WRT;/Enable block-write operationfor(i = 0; i < 64; i+)*Flash_ptr = value;/ Write valueto flashFlash_ptr+;/Double-increment Flash pointer
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 海南職業(yè)技術(shù)學(xué)院《電視攝像基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度擔(dān)保合同標(biāo)的特性與信用管理3篇
- 二零二五年度新媒體運營兼職聘任合同范本3篇
- 海南師范大學(xué)《游泳訓(xùn)練理論與實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度小額貸款反擔(dān)保償還服務(wù)合同模板3篇
- 2025年度架工承包合同服務(wù)內(nèi)容擴展2篇
- 二零二五年度建筑工程施工現(xiàn)場環(huán)境保護教育培訓(xùn)合同3篇
- 二零二五年度橋梁欄桿維修與加固服務(wù)合同3篇
- 二零二五年度舊電器買賣與環(huán)?;厥仗幚砗贤?篇
- 二零二五年度假山景區(qū)生態(tài)保護與可持續(xù)發(fā)展承包合同3篇
- 品牌管理第五章品牌體驗課件
- 基于CAN通訊的儲能變流器并機方案及應(yīng)用分析報告-培訓(xùn)課件
- 外科醫(yī)師手術(shù)技能評分標(biāo)準(zhǔn)
- 保姆級別CDH安裝運維手冊
- 菌草技術(shù)及產(chǎn)業(yè)化應(yīng)用課件
- GB∕T 14527-2021 復(fù)合阻尼隔振器和復(fù)合阻尼器
- 隧道二襯、仰拱施工方案
- 顫病(帕金森?。┲嗅t(yī)護理常規(guī)
- 果膠項目商業(yè)計劃書(模板范本)
- 旋挖鉆成孔掏渣筒沉渣處理施工工藝
- 安全資料目錄清單
評論
0/150
提交評論