版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
介
第28章 器模FTFL模塊包括以下可的器區(qū)域:用于向量空間和代碼的可編程flashflash的設(shè)備:用來加速flash編程的編程加速0。編程操作是非直接的;它只能更改比特?cái)?shù)據(jù)從‘1’狀態(tài)(已擦除狀‘0特編程flash器產(chǎn)品特對于包含F(xiàn)lexNVM器:當(dāng)編程或者擦除一個(gè)邏輯編程flash塊時(shí),可以另一個(gè)邏輯編程塊或者FlexNVM。FlexNVMMemory特編程加速內(nèi)存產(chǎn)品特點(diǎn)FlexRAM特器可以被用來作為傳統(tǒng)的RAM或者高度的EEPROM空間4KbytesFlexRAMEEPROMRAM操作可配置當(dāng)被配置用作EEPROM時(shí):可編程EEPROM數(shù)據(jù)集大小并且FlexNVM分區(qū)代碼使EEPROM器延遲代價(jià)更小支持FlexRAM一次對齊寫入1,24比特28.1.15其他FTFL在flash命令完成后可選的中斷發(fā)生器塊圖表帶有FlexNVM特征的設(shè)備:術(shù)
28-1FTFL寫(編程和擦除)NVMEEPROM的特性。內(nèi)的32比特的區(qū)域組成,該備份數(shù)據(jù)器包含用于EEPROM歸檔系統(tǒng)的確定一個(gè)特定EEPROM備份flash扇區(qū)狀態(tài)的信息。EEPROM備份數(shù)據(jù)記錄————EEPROM備份數(shù)據(jù)記錄包含在EEPROM備份數(shù)據(jù)器內(nèi)的一個(gè)2比特的狀態(tài)域,一個(gè)14比特的地址域,和一個(gè)16比特?cái)?shù)據(jù)域。如果狀態(tài)域表明記錄是有效的,數(shù)據(jù)域被到FlexRAM,其地址由地址域決定。耐久度————一個(gè)flash器位置可被擦除和重寫的次數(shù)。數(shù)據(jù)或者普通RAM。當(dāng)被配置為EEPROM時(shí),有效地往FlexRAM寫入產(chǎn)生一個(gè)新的于EEPROM備份數(shù)據(jù)flash器內(nèi)的EEPROM備份數(shù)據(jù)記錄、——非易失性器。一種在斷電時(shí)已數(shù)據(jù)的器技術(shù)。該flash陣列是使用NOR類flash器技術(shù)的一個(gè)NVM。片語(Phrase642:0】=000 和改變NVM內(nèi)容是受限制的。外部信號描述器映射和寄存flash配置字段描述Flash配置域字節(jié)地址大小(字節(jié)0x0_0400-8 0x0_0408-41Flash配置域字節(jié)地址大?。ㄗ止?jié)0x0_0400-8 0x0_0408-41 FlexNVmFLASHFLASH1參照EEPROM1FLASHFlash選項(xiàng)寄存器的的描述1(FSEC編映大?。ㄗ止?jié)0x00–0xBB,0xBE-0xC0–28.3.2.1一次編程字段段可以被任意次數(shù)。這段編程flashIFR可以通過使用一次讀和一次編程命令來以4字?jǐn)?shù)據(jù)flashIFR數(shù)據(jù)flashIFR是一個(gè)可以被擦除,但用戶有受限編程能力的位于數(shù)據(jù)flashIFR的256字節(jié)的非易失信息器(參看編程分區(qū)命令,擦除所有塊命令和資源命令。數(shù)據(jù)flashIFR的內(nèi)容被總結(jié)為以下的表格中,詳細(xì)的描述在隨后的圖中。大?。ㄗ止?jié)0x00–0xFB,0xFE–1EEPROM1FlexNVMEEPROM尺flashIFREEPROMEEPROM子FlxeRMA的數(shù)量的信息。編程EEESPLIT和EEESIZE數(shù)據(jù),參看編程分區(qū)命令。Table28- EEPROMDataflashIFR: 11=UnimplementedorTable28- EEPROM7-5-‘00’AEEESIZE*1/8,子系統(tǒng)B:‘01’AEEESIZE*1/4,B:‘10’AEEESIZE*1/2,B:‘11’AEEESIZE*1/2,子系統(tǒng)B:3-FlexRAMforEEPROM使用編碼FlexNVM分區(qū)代碼被設(shè)置為’NOEEPROM’EEESIZE===4,096=2,048=1,024=512=256=128=64=32======0FlexNVM代flashIFRFlexNVMflash存Table28- FlexNVM7-3-0000寄存器描述戶可以寫任何寄存器。任何一個(gè)擦除延遲請求處于活動(dòng)狀態(tài)(FCNFG【ERSSUSP】=1),所FSTATFTFLRegister(inResetFlashStatusRegister8FlashConfigurationRegister 8FlashSecurityRegister8RFlashOptionRegister8RFlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8FlashCommonCommandObjectRegisters8ProgramFlashProtectionRegisters8ProgramFlashProtectionRegisters8ProgramFlashProtectionRegisters8ProgramFlashProtectionRegisters8EEPROMProtectionRegister8DataFlashProtectionRegister8內(nèi)存狀態(tài)寄存器(在設(shè)定是,寄存器中的錯(cuò)誤數(shù)據(jù)位和flash保護(hù)數(shù)據(jù)位組織了指令的執(zhí)行,知道這個(gè)標(biāo)志位被清除(通過對其賦值1)7CCIF標(biāo)志位用來指示一條FTFL指令已經(jīng)完成。CCIF標(biāo)志位通過寫入一個(gè)1到CCIF來啟動(dòng)一條指令從而清除CCIF標(biāo)志位。同時(shí)CCIF保持在低位,除非一條指令完成或者指令。CCIF數(shù)據(jù)位會(huì)被復(fù)位成0,但是會(huì)在復(fù)位的過程后被控制器設(shè)置為1.用戶是否能06RDCOLERR錯(cuò)誤標(biāo)志位用來指示MCU在FTFL資源正在被FTFL指令操作時(shí)(CCIF=0)時(shí)企圖從中數(shù)據(jù)。任何冰法的會(huì)被塊仲裁機(jī)在這種情況下,的數(shù)據(jù)將無法被保障。RDCOLERR可由寫入1來清空,寫入0是無效的。5ACCERR錯(cuò)誤標(biāo)志位用來指示由于有的寫入順序或者發(fā)射了一個(gè)的FTFL指令那個(gè)而的對FTFL資源的。當(dāng)ACCERR被設(shè)定,則CCIF標(biāo)志位就不能通過清除來執(zhí)行指令。ACCERR數(shù)據(jù)位可由寫入1來清空,寫入0是無效的。4FPVIOL定,CCIF標(biāo)志位就不能通過被清空來執(zhí)行指令3-0MGSTATOFTFLflash復(fù)位時(shí)檢測到錯(cuò)flash配置寄存器 擦除控制數(shù)據(jù)位(ERSAREQERSSUSP)有寫入限制。SWAPPFLSHRAMRDY765據(jù)位被設(shè)定。ERSAREQ由FTFL在操作完成時(shí)被清除為不安全狀態(tài)來釋放MCU432的FlexMemory做好配置;對只有程序flash的設(shè)備:保留1FlexNVM:RAMRDYSetFlexRAM0flash安全寄存器個(gè)寄存器中。flash的基礎(chǔ)值在復(fù)位中被表示為x。7-00后門密鑰禁用5-設(shè)置為未保護(hù),則MEEN的設(shè)置無效。3-SECSECFSLACC設(shè)定值無效。01飛思工1-flashMCUMCUFlash選項(xiàng)寄存器FLASH選項(xiàng)寄存器允許MCU通過檢測在復(fù)位時(shí)從MCU中載入的那些只讀的位段來定據(jù)。flash的基礎(chǔ)值在復(fù)位時(shí)被表示為x。7- 通用命令對象寄存器B167-命令而不同的值。首先,設(shè)定好所有必須的FCCOB域字段,然后通過向行完畢(CCIF。不提供命令緩沖或命令對隊(duì)列;下一條指令只有FTFL指令所需的參數(shù),較典型的是地址域數(shù)據(jù)值。FCCOB0FCMD(acodethatdefinestheFTFL1FLASH2FLASH3FLASH4DataByte5DataByte6DataByte7DataByte8DataByte9DataByteADataByteBDataByte程序flash保護(hù)寄存器FPROT寄存器定義了哪一塊邏輯flash區(qū)域能不被程序或擦出操作。邏輯保護(hù)的FPROT寄存器允32個(gè)被保護(hù)區(qū)域。每個(gè)位保護(hù)一塊1/32flash。每個(gè)位程序flash保護(hù)寄存器程序flash保護(hù)寄存器Flashflashflashflash存儲器扇區(qū)撤消保護(hù),然后重新對程序flash保護(hù)位編程。Addresses:FTFL_FPROT3is4002_0000hbase+10hoffset=4002_0010hFTFL_FPROT2is4002_0000hbase+11hoffset=4002_0011hFTFL_FPROT1is4002_0000hbase+12hoffset=4002_0012hFTFL_FPROT0is4002_0000hbase+13hoffset=4002_0013h位7-(CCIF=0flash的受保護(hù)區(qū)域中修改數(shù)據(jù)會(huì)導(dǎo)致保護(hù)EEPROM保護(hù)寄存器FlexNVM的設(shè)備,F(xiàn)EPROTFLEXRAMEEPROM區(qū)域被保護(hù)免于程序修改和擦除操作。被保護(hù)的EEPROM區(qū)域不能通過寫來修改內(nèi)容。未被保位7-(CIF=0FlexRAMflashx數(shù)據(jù)保護(hù)寄存器FDPROTflash區(qū)域被保護(hù)起來,編程和擦除的操作不能再這些受保flash區(qū)域值中的內(nèi)容不能更改,這意味著這些區(qū)域不能被編程,也不能由FTFL指令來擦除。沒有被保護(hù)的區(qū)域可以被程序和擦除操作修改。位7-除操作所修改。DPROT中每一位保護(hù)了數(shù)據(jù)flash空間1/8的分區(qū)。每(CIF=0者FlexNVM塊被分區(qū)為EEPROM,那么整塊數(shù)據(jù)flash區(qū)域的(flash塊擦除命令的描述功能描0x0000.這個(gè)交換的特性使得邏輯內(nèi)存空間的Flashflash中的獨(dú)立區(qū)域能夠保護(hù)起來,這樣就無法再這些被保護(hù)的區(qū)域上編程和擦除。保28-27PFlash28-28DFlash2n大小(192KB224KB)的數(shù)flash時(shí),被保護(hù)區(qū)域不得小32KB。因此,192KBflash,只有DPROT[5:0]224KB的數(shù)據(jù)flash,只有28-28DFlash保護(hù)(192KB保護(hù)8個(gè)EEPROM體的情形如下圖所示FlexNVM描
對于FlexRAM的FlexNVM的塊分區(qū)基本的數(shù)據(jù)flashEEPROM用戶角(EEESIZE—用于大小。當(dāng)FlexRAM配置為EEPROM時(shí),剩余的容量將不可。EEPROM分區(qū)時(shí)是從FlexRAM的地址空間的低位向上的拓展的。數(shù)據(jù)flash的分區(qū)—FlexNVM中被劃分作為數(shù)據(jù)三寸的容量可以0到全部FlexRAM的都由EEPROM備份的一半做備份。其中一個(gè)子系統(tǒng)是FlexRAM分區(qū)的1/8,1/4或分區(qū)信息在數(shù)據(jù)flash中斷標(biāo)志寄存器當(dāng)中,并通過程序分區(qū)指令來生成。一般來數(shù)據(jù)flash對于那些需要快速大量數(shù)據(jù)或靜態(tài)數(shù)據(jù)的程序是很有幫助的。EEPROM區(qū)來備份,并且如果因子是1/8或1/4,則擁有跟高的持續(xù)性。圖28-32帶有兩個(gè)子系統(tǒng)的從FlexRAM到FlexNXVM器示EEPROM實(shí)現(xiàn)概復(fù)位時(shí),映射部分(EEESIZE,DEPART,EEESPLIT)從數(shù)據(jù)flash塊IFR中數(shù)據(jù),同時(shí)EEPROM文件系統(tǒng)按照規(guī)定被初始化。文件系統(tǒng)EEPROM定位所有有效的EEPROM數(shù)據(jù)記錄,這些數(shù)據(jù)記錄是在EEPROM備份塊中。同時(shí)將數(shù)據(jù)拷貝到FlexRAM中去。當(dāng)EEPROM中所有FlexRAMTheFSTAT[CCIFFCNFGCCIF被置位以后,F(xiàn)lexRAM讀寫才都有效。FCNFG[EEERDY]也會(huì)被置位。如果中斷使能,則與FSTAT[CCIF]位相關(guān)的中斷可以用來決定什么時(shí)候FlexRAM可以被讀寫。當(dāng)為EEPROM配置實(shí)用權(quán)時(shí),如果在FlexRAM中的寫入地址沒有被保護(hù),那么將會(huì)EEPROM文件系統(tǒng)產(chǎn)生一個(gè)新的EEPROM數(shù)據(jù)記錄,這個(gè)數(shù)據(jù)記錄以一種round-robin的方式存在EEPROM備用塊中,按照需要,EEPROM文件系統(tǒng)能夠識別EEPROM備用塊單元,這些單元是被擦寫過以備將來使用。當(dāng)對FlexRAM寫完成之后,除非FSTAT[CCIF]位再次被使能,否則FlexRAM讀寫無效。當(dāng)EEPROM數(shù)據(jù)記錄裝滿了EEPROM備用塊單元,EEPROM單元中已經(jīng)存在時(shí)間最長的數(shù)據(jù)將會(huì)暫時(shí)拷貝到之前已經(jīng)被擦寫過的EEPROM備用塊單元中??截愅瓿珊?,EEPROM備用塊單對EEPROM數(shù)據(jù)寫到FlexRAM中的持久當(dāng)FlexNVM部分代碼沒有占滿數(shù)據(jù)flash塊的空間時(shí),EEPROM數(shù)據(jù)塊的大小可以被設(shè)置成任何一個(gè)不為0的值。對于那些沒有被分配給數(shù)據(jù)flash塊的位,通過FlexNVM中的部分代碼來實(shí)現(xiàn)被FTFL用作為EEPROM數(shù)據(jù)塊獲取有效的持久力。構(gòu)建一個(gè)EEPROM記錄管理系統(tǒng)可以提高編程/擦寫的次數(shù)。利用一個(gè)比較大的EEPROMNVM空間來收集那些不再使用當(dāng)FlexNVM中不同的分區(qū)都有效時(shí),目的就是為了FlexNVM分區(qū)代碼的一個(gè)簡單選擇和Writes_subsystem=EEPROM?2×EEESPLIT×EEESIZE×Write_efficiencyEEESPLITEEPROMDEPARTEEPROMFlexNVMWrite_efficiency—對于8位來說,對FlexRAM0.25,對16位或者32來說,對FlexRAM寫頻率為0.50EEPROM數(shù)據(jù)記錄的結(jié)構(gòu)EEPROMthecompanionbytebeingcopiedfromthealigned常情況下,對FlexRAM32EEPROM數(shù)據(jù)記錄。214比特字地16比特?cái)?shù)狀態(tài)位與地址狀態(tài)和數(shù)據(jù)位反應(yīng)整個(gè)EEPROM數(shù)據(jù)記錄的狀態(tài)。狀態(tài)—為EEPROM的使用識別有效的EEPROM數(shù)據(jù)記錄。在EEPROM進(jìn)行往外拷貝數(shù)據(jù)或者進(jìn)行搜索操作時(shí),在EEPROMUPDATEEEPROM數(shù)據(jù)記錄的那些潛在的brown-out狀態(tài)。VALID狀態(tài)—找出那些已經(jīng)編程完成的EEPROM數(shù)據(jù)記錄。在EEPROM系統(tǒng)中,每個(gè)FlexRAM地址處于VALID狀態(tài)下的EEPROM數(shù)據(jù)記錄不只一個(gè)。ERASE狀態(tài)—識別EEpROM數(shù)據(jù)記錄,盡管數(shù)據(jù)位中的內(nèi)容不是0xFFFFEEPROM文件系統(tǒng)中讀出的數(shù)據(jù)將被擦除。COMPROMMISED狀態(tài)—標(biāo)記EEPROM數(shù)據(jù)記錄,EEPROM文件系INVALID00b,同時(shí)數(shù)據(jù)位讀出0xFFFF才會(huì)發(fā)生。28-31EEPROM狀態(tài)(2位FlexRAMFlexRAMFlexRAMOldFlexRAMOldFlexRAMOldFlexRAM中FTFLFTFL讀錯(cuò)低功耗模式下的Flash等待模式停止模式止模式。警告:當(dāng)任何一條FTFL命令在運(yùn)行時(shí),MCU都不能進(jìn)入停止模式。操作模式的函FlashFTFL模塊只能請求一個(gè)flash器讀操作的flash地址。對所有的flash塊來說,MCU當(dāng)flash器塊上令正在執(zhí)行時(shí),MCU是不允許從flash器中讀數(shù)據(jù)。同樣當(dāng)flash器塊上令正在執(zhí)行時(shí),要從flash塊中讀數(shù)據(jù)是不被允許的,F(xiàn)lash塊仲寫時(shí)讀MCU可以從程序Flash中取命令。寫或者是擦除命令正在程序flash塊中執(zhí)行。對EEPROMFlexRAM正在使用中,同時(shí)進(jìn)行數(shù)flash操作和對FlexRAM寫是不可能的。當(dāng)其他邏輯程序flash塊空間中令正在執(zhí)行的時(shí)候,用戶有可能對邏輯程序flash空間中進(jìn)行讀操作。在允許并行flash操作中,進(jìn)一步討論并行操作。Flash設(shè)置和執(zhí)行一個(gè)FTFLFTFL命令進(jìn)行初始化。在FTFL命令操作中將詳細(xì)說明FTFL命令結(jié)構(gòu)和操作。FTFL命令寫次序?qū)懘涡蚴荈TFL命令的一個(gè)特殊的應(yīng)用,在圖28-34中闡述了寫次序。如果所有的條件都已經(jīng)滿足,F(xiàn)TFL 令寫次序不能開始,對寄存器FCCOB所有的寫都被 從而執(zhí)行所要運(yùn)行令。在FTFL命令完成之前,CCIF標(biāo)志位保持為0.FSTAT寄存器帶有一個(gè)塊裝置,如果之前令導(dǎo)致錯(cuò)誤(FSTAT[ACCERR]=1)或圖28-34是一個(gè)大概 28.4.10.2.FTFL命令flash1(只帶FlexNVM的FlexNVM的flash1(只帶FlexNVM的FlexNVM的1s數(shù)×××確保程序flash或者數(shù)據(jù)flash塊已經(jīng)擦除。對于EEPROMFlexRAM塊一1s×××flash號或者開始地址的數(shù)據(jù)flash×××flashIFR或者版本ID中4字×××在程序flash數(shù)據(jù)flash塊中編4flash×××擦除程序flash塊或者數(shù)flash塊。只有在塊不被保護(hù)的情況下擦除才會(huì)成EEPROM中FlexNVM不能被分區(qū)flash×××將程序flash塊或者數(shù)據(jù)flash××××對一個(gè)程序flash塊或者數(shù)據(jù)flash塊來1s所××××或數(shù)據(jù)flash塊、據(jù)flashIFR都已經(jīng)64字節(jié)中4字節(jié)數(shù)64字節(jié)中××××序flash1IFR、數(shù)據(jù)EEPROM備用數(shù)據(jù)記錄、數(shù)據(jù)flash所有區(qū)位不受成××制×FlexRAM分區(qū)代碼并EEPROMflashIFR設(shè)EEPROM備M××FlexRAM在RAM與EEPROM之間起作EEPROM時(shí),F(xiàn)lexRAM就不起作EEPROM備份塊中拷貝到FlexRAM28.4.10.3FTFLCommandsby28-31FTFLCommandsby1s××××——1s××××——××××——××××——××××——塊××××——段××××——××××——1s所塊×××××—××××——××××——×××××—塊××××——××××——××××——28.4.10.4允許并行Flash操作在下表中標(biāo)有‘OK’的操作在程序flash、數(shù)據(jù)flash和FlexRAM器中可以同時(shí)進(jìn)和FlexRAM中,當(dāng)編程或者擦除操作執(zhí)行時(shí),在允許程序flash讀中優(yōu)先級已經(jīng)設(shè)定。這就讀除讀除讀讀讀——除—讀———對僅含有程序flash的設(shè)備:表28-33允許并 讀讀讀——除—讀——除—空白讀命讀1s命令(讀1s所有塊、讀1s塊、讀1s段)和程序檢查命令都有空白選擇參數(shù),可flashflash的flash陣列讀都使用標(biāo)準(zhǔn)的、非空白的讀相關(guān)水平。,處于正常flash使用情況下的時(shí)候前至少處于安全空白狀態(tài)。對于正常讀水平’user’空白是一個(gè)小的delta.‘user’空白水平可以用來檢查flash器內(nèi)容有足夠的空白,這是對于正常水平讀操作來說。FTFL該節(jié)描述了所有的FTFL命令,這些命令可以通過一個(gè)寫次序命令執(zhí)行。FTFL設(shè)置必須保證在寫次序命令開始之前,處于寄存器FSTAT中的ACCERR位和FPVIOL位已經(jīng)清執(zhí)行。當(dāng)FTFL正在執(zhí)行命令時(shí),在同一塊中要讀flash塊是無效的。FTFL可能返回?zé)o效的數(shù)據(jù)給MCU正好與錯(cuò)誤標(biāo)志位置位。讀1s塊命該命令用于檢查對于空白水平來說一個(gè)完整的程序flash或者數(shù)據(jù)falsh塊是否擦除完成FCCOBFCCOB內(nèi)容01234讀-1空白選通過清除CCIF執(zhí)行讀1s塊命令之后,F(xiàn)TFL根據(jù)表28-35為1s設(shè)置讀空白,之后讀所有選定的程序falsh或者數(shù)據(jù)falsh塊地址。如果選定了數(shù)據(jù)falsh,DEPART必須設(shè)置沒有EEPROM,否則讀1s塊命令將不能設(shè)置FSTAT[ACCERR]位。如果FTFL不能讀出所有的1s,FSTAT[MGSTAT0]位將被置位。讀1s塊操作完成之后,CCIF標(biāo)記置位。為正常讀-1水平申請’user’空1s失讀1s段命令讀1s段命令用于檢查指定的讀空白水平中程序flash段或者數(shù)據(jù)flash段是否已經(jīng)擦除。讀1s段命令定義了開始地址和核實(shí)的語句號。FCCOBFCCOB內(nèi)容012flash地址3flash地址4核實(shí)的語句號5核實(shí)的語句號61s空白選當(dāng)清除CCIF執(zhí)行讀1s段命令,F(xiàn)TFL依據(jù)表28-38為1s設(shè)置讀空白并且讀出所有指定的flash段的地址。如果FTFL讀出所有的1s失敗,F(xiàn)STAT(MGSTAT0)位置位,讀1s段操作完成之后,CCIF標(biāo)志位置位。1s失程序檢查命令flashflashFCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址48Byte09Byte1預(yù)期數(shù)AByte2預(yù)期數(shù)BByte3預(yù)期數(shù)當(dāng)清除CCIF來執(zhí)行程序檢查命令時(shí),F(xiàn)TFL依據(jù)表28-41為1s設(shè)置讀空白,讀出指定失敗,MGSTAT0位置位失敗。位。當(dāng)程序檢查完成之后,CCIF標(biāo)志位置位。在’user’空白-1和’user’空白-0下在’factory’空白-1和’factory’空白-0下讀資源命令包括flashIFR空間、數(shù)flashIFR間、版本ID資源都有一個(gè)選擇碼如28-44.FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址4讀數(shù)據(jù)5讀數(shù)據(jù)6讀數(shù)據(jù)7讀數(shù)據(jù)8256字8字選擇在程序當(dāng)清除CCIF來執(zhí)行讀資源命令時(shí),在寄存器FCCOB中和在相關(guān)地址中,將從選擇的資源中讀出連續(xù)的節(jié)資源。當(dāng)讀出資源命令完成之后,CCIF標(biāo)志位置位。如果提程序長字命令程序位是不允許的。當(dāng)設(shè)備負(fù)載過大要重新編程從0s退出到0是不允許的。FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址4Byte05Byte16Byte27Byte3當(dāng)清除CCIF來執(zhí)行程序長字命令時(shí),F(xiàn)TFL按照既定的地址將數(shù)據(jù)寫到flash中,并且MGSTAT00’編程的擦除位將被標(biāo)記成錯(cuò)誤。當(dāng)程序長字命令執(zhí)行完之后,CCIF標(biāo)志位置位。t)擦除Flash塊命FCCOBFCCOB內(nèi)容0123當(dāng)清除CCIF執(zhí)行擦除Flash塊命令時(shí),F(xiàn)TFL擦除選定的flash塊的主陣列并且要確保擦除成功。當(dāng)選定數(shù)據(jù)flash,DEPART必須設(shè)置無EEPROM(看表28-4)否則擦除flash塊命令置FSTAT[ACCERR]標(biāo)志位失效。如果擦除flash命令失效,在NVM正常模式或者特殊模式下如果區(qū)位塊是被保護(hù)的,則設(shè)置FSTAT[FPVIOL]位。如果檢驗(yàn)擦除失敗,F(xiàn)STAT中的MGSTAT0FlashCCIF擦除flash段命FCCOBFCCOB內(nèi)容0123當(dāng)清除CCIF執(zhí)行擦除段命令之后,F(xiàn)TFL擦除選擇的程序flash或者數(shù)據(jù)flash段并且會(huì)失效。如果擦除檢測失敗,則置位FSTAT[MGSTAT0]。當(dāng)擦除段命令執(zhí)行完后CCIF標(biāo)志置位。擦除段命令也可以掛起(看FCNFG[ERSSUSP]位和表28-35。為了掛起擦除flash段操作命令,先要設(shè)置FCNFG[ERSSUSP]位,當(dāng)CCIF清除并且CCOB命令位為擦除flash段命令保存相關(guān)代碼。處于擦除flash段操作時(shí),F(xiàn)TFL在適當(dāng)?shù)臅r(shí)候檢查ERRSSUSP狀態(tài)。如果FTFL發(fā)現(xiàn)ERSSUSP位被置位,擦除Flash段命令就被掛起,同時(shí)如果當(dāng)CCIF被清除執(zhí)行下一條命令時(shí)ERSSUSP還是保持置位,之前的擦除flash段操作就會(huì)恢復(fù)。FTFL通過清除ERSSUSP位,認(rèn)可恢復(fù)掛起操作請求。通過設(shè)置ERSSUSP可以用戶可能在為下一條命令的執(zhí)行清除CCIF之前就已經(jīng)清除了ERSSUSP位以達(dá)到取消掛起擦除flash段操作的目的。當(dāng)取消掛起操作之后,F(xiàn)TFL通過使用新的FCCOB內(nèi)容開始下作,此時(shí)對FlexRAM有一個(gè)寫操作。該寫操作是由FTFL執(zhí)行的。程序段命令程序段操作通過一種嵌入算法是將段程序緩沖的數(shù)據(jù)放到之前擦除過的flash空間中去。當(dāng)設(shè)置FlexRAM的功能為傳統(tǒng)的RAM時(shí),通過對FlexRAM的寫操作,數(shù)據(jù)將預(yù)到段程序緩沖中。段程序緩沖空間僅限在下半個(gè)RAM中,數(shù)據(jù)要寫到上半個(gè)RAM中時(shí)將被視不允許。當(dāng)設(shè)備負(fù)載過大時(shí)從0s退出到0重新編程是不允許。FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址45清除CCIF運(yùn)行程序段命令之后,F(xiàn)TFL塊有權(quán)使用RAM程序加速或者FlexRAM,將段程程序段操作完成之后,CCIFFlexRAM所要求存放所需的句號對應(yīng)的數(shù)據(jù)超出了程序加速Flash段編程且將FlexRAM初始化。開始時(shí)必須從程序加速RAM或FlexRAM的首地址開始,從而可以寫的數(shù)據(jù)到RAM中以填滿整個(gè)flash段。RAM該部分用于段程序緩沖空間。在第一步中,段編程緩沖區(qū)被初始化為flash器的擦除狀態(tài)。讀1s所有塊命令EEPROMflashIFR所有的數(shù)據(jù)都將讀出‘1FCCOBFCCOB內(nèi)容01讀-1空白選按照表28-55為1s設(shè)置讀空白區(qū),檢查程序flash、數(shù)據(jù)flash、EEPROM備份記錄、數(shù)據(jù)flashIFR、FlexRAM的內(nèi)容看是否處于擦除狀態(tài)。如果FTFL確認(rèn)這些器資源已經(jīng)擦除,則通過設(shè)置FSEC[SEC]位將安全狀態(tài)轉(zhuǎn)化成非安全狀態(tài)。當(dāng)讀1s所有塊命令執(zhí)行時(shí),在flash配置位中的安全字節(jié)保持不變。如果讀1s失一次讀命令FCCOBFCCOB內(nèi)容01234一次讀字056一次讀字27一次讀字3FCCOBCCIF索引值在0x00-0x0F之間。當(dāng)一次讀命令正在執(zhí)行時(shí),任何帶有64字節(jié)位的程序flash塊處在當(dāng)前安全模式令無一次編程命令164令可以對一次編程與進(jìn)行讀操作。當(dāng)程序flash0IFR不能擦除時(shí),每個(gè)一次程序記錄只FCCOBFCCOB內(nèi)容01234567CCIFFTFL次程序操作執(zhí)行完之后CCIF標(biāo)志置位。為一次程序命令預(yù)留的程序flash0IFR空間不可以擦除,之前的值沒有擦除前要將記有程序flash0進(jìn)行讀都將返回?zé)o效的數(shù)據(jù)。擦除所有塊命該命令操作包括擦除所有flash器,初始化FlexRAM,校對器內(nèi)容和解除MCU安FCCOBFCCOB內(nèi)容0清除CCIF執(zhí)行擦除所有塊命令之后,F(xiàn)TFL擦除所有程序flash器、程序flash1IFR空間、數(shù)據(jù)flash器、數(shù)據(jù)flashIFR空間、EEPROM備份器和FlexRAM,之后核對如果FTFL核對所有相關(guān)的器都已經(jīng)擦除,設(shè)置FSEC[SEC]位可以解除安全機(jī)制來FCNFG[RAMRDYflash塊中的交換指示地址擦除所有塊命令可以將安全字節(jié)以及flash配置相關(guān)的內(nèi)容擦除。如果擦除核對失敗,F(xiàn)STAT[MGSTAT0]位置位。當(dāng)擦除所有塊命令執(zhí)行完之后,CCIF標(biāo)志位置位。相關(guān)器區(qū)位受保在使用外部擦除功能之前,F(xiàn)STAT[ACCERR]位于PVIOL標(biāo)記必須清除,同時(shí)寄存器FCCOB0不制,同時(shí)FCNFG[RAMRDY]位置位。在flash配置位中的安全字節(jié)也處于非安全狀態(tài)。FCNFG[ERSAREQ]FCNFG[ERSAREQ]位被清除同時(shí)正常的FSTAT、錯(cuò)誤有效。核對后門進(jìn)入密鑰命令位有效時(shí)核對后門密鑰命令才會(huì)執(zhí)行。如果用戶在FCCOB中提供的密鑰與flash配置位中的欄顯示了在flash配置位中相匹配的地址。FCCOBFCCOB內(nèi)容01-456789AB清除CCIF執(zhí)行核對后門進(jìn)入密鑰命令之后,F(xiàn)TFL檢查FSEC[KEYEN]位以確保該命令有效。如果無效,F(xiàn)TFL設(shè)置FSTAT[ACCERR]位同時(shí)結(jié)束命令。如果有效,F(xiàn)TFL將FCCOB中的密鑰與flash配置位中的密鑰做比較。如果兩者匹配,F(xiàn)SEC[SEC]位將變?yōu)榉前踩珷顟B(tài)。如果后FSTAT[ACCERR]位再次置1直到FTFL單元執(zhí)行初始化操作。如果整個(gè)8字節(jié)的密鑰全是0或者全為1,核對后門進(jìn)入密鑰命令都將失敗返回錯(cuò)誤。核對后門進(jìn)入密鑰操作完成之后CCIF標(biāo)志位置位。交換控制命令Table28- FCCOBFCCOBContents00x461Flashaddress2Flashaddress3Flashaddress4SwapControlCode:0x01-InitializeSwapSystem0x02-SetSwapinUpdate0x04-SetSwapinCompleteState0x08-ReportSwapStatusCurrentSwapState:0x00-Uninitialized0x01-Ready0x02-Update0x04-6CurrentSwapBlock0x00-Programflashblock0at0x0_00000x01-Programflashblock1at7NextSwapBlockStatus(afterany0x00-Programflashblock0at0x0_00000X01-Programflashblock1atCCIF位之后,F(xiàn)TFL將會(huì)處理基于交換控制代碼的與交換相關(guān)的活動(dòng),該代碼有FCCOB4提供,如下所示:而不是flash配置域中以后,flash地址IFR交換域當(dāng)中,該交換域在flash1IFRIFR交換域中以后,交換使能字將會(huì)被編程到程到0XFF00。0X02-在核實(shí)當(dāng)前準(zhǔn)備狀態(tài)是準(zhǔn)備狀態(tài)以及提供的flash地址和在IFR交換域中的地址相匹配以后,位于當(dāng)前活動(dòng)的程序flash塊的flash地址的[15:0]位的交換指針將會(huì)編程到flashflash地址的[15:0]位的交換指針將會(huì)被編程到0x0000。在執(zhí)行這個(gè)交換控制代碼之前,用戶必須擦除不活動(dòng)的交換指針。不活A(yù)CCERR復(fù)位被改變到UPDATE狀態(tài)。·FCCOB5-顯示基于交換使能字和交換指針狀態(tài)的當(dāng)前交換狀態(tài)。在命令完成以后,如果·FCCOB7-FTFLflashflash戶把0xFF寫到FCCOB5,F(xiàn)CCOB6,F(xiàn)CCOB7中。Table28-66.交換控制命令錯(cuò)誤處理ErrorErrorCommandnotavailablecurrentTable28-66.交換控制命令錯(cuò)誤處理ErrorErrorCommandnotavailablecurrentFlashaddressisnotprogramflashblockFlashaddressisintheFlashaddressisnotFlashaddressdoesnottheswapindicatoraddresstheswapsystemisnotintheuninitializedstate1swapsystemisnotinthereadystate2Swapcompleterequestedwhenswapsystemisnotinthe4Anundefinedswapcodeis-AnyerrorshavebeenencounteredduringtheswapdeterminationandAnybrownoutswereduringtheswapdetermination828-3628-67.SwapStateReport01Swap1--00022003300440051016201730184019100-010010110110110111111111210210210210210211211211310310311311交換指針位于每個(gè)程序flash塊中。28-68.flash1IFRAddressSizeField0x00–2SwapEnable0x02–2SwapIndicator0x04–程序映射命令程序映射命令準(zhǔn)備FlexNVM塊可以用作數(shù)據(jù)flash、EEPROM備份或者兩者的組合,同時(shí)可以初始化FlexRAM。程序映射命令不能從flash器開始執(zhí)行,因?yàn)閒lash器資
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電子商務(wù)平臺合作訂單合同4篇
- 專業(yè)安裝勞務(wù)協(xié)議規(guī)范文本2024版
- 《a臨時(shí)起搏器》課件
- 二零二五年度礦業(yè)權(quán)轉(zhuǎn)讓中的水資源利用合同3篇
- 2024版園林綠化工程設(shè)計(jì)與施工合同3篇
- 2025年度智慧能源場標(biāo)準(zhǔn)化改造項(xiàng)目合同協(xié)議書4篇
- 2024科研機(jī)構(gòu)與制藥公司之間的藥物研發(fā)合同
- 2024石子加工與新型建材研發(fā)生產(chǎn)合同3篇
- 2025年度廠房出租合同附帶租賃雙方權(quán)利義務(wù)界定4篇
- 2025年度茶樓消防安全管理責(zé)任合同4篇
- 充電樁項(xiàng)目運(yùn)營方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(附含答案)
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 西方經(jīng)濟(jì)學(xué)-高鴻業(yè)-筆記
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國內(nèi)外
- 生豬養(yǎng)殖生產(chǎn)過程信息化與數(shù)字化管理
評論
0/150
提交評論