版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第28章Flash器模FTFL模塊包括以下可的器區(qū)域?qū)τ趲в蠪lexNVM的設(shè)備:用于高度的數(shù)據(jù)或者傳統(tǒng)RAMflash器用于單電源的程序,提供現(xiàn)場擦寫和無需任何額外高電壓源的FTFL包含了一個能夠執(zhí)行命令來更改flash內(nèi)容的控制器擦除位為1,00。編程操作是非直接的;它只能把比特數(shù)據(jù)從比特位從‘01’;編程操作不能把比特位從‘01一個flash器地址空間在被編程前必須處于已擦除狀態(tài)在一個flash許的。因為要加重設(shè)備負(fù)擔(dān),重編程已有的00是不允許的。對于flash器標(biāo)準(zhǔn)的更改情況是在安全功能關(guān)閉的情況下的已擦除狀態(tài)。因為已擦除狀態(tài)(’1‘)或者已編程狀態(tài)‘0的,可能發(fā)生隨時間流逝而丟失數(shù)據(jù)。因此,每個flash塊或者扇區(qū)在工廠編程之前被立即重擦除以確保特程序flash器特程序flash保護(hù)方案可以對已數(shù)據(jù)意外的編寫或者擦除。編程或者擦除另一個邏輯程序flash塊。對于包含F(xiàn)lexNVM器的設(shè)備:當(dāng)程序Flash器時,可編程或者擦除一個數(shù)據(jù)flash器或FlexRAM。FlexNVM器特當(dāng)FlexNVM是數(shù)據(jù)flash器的一部分時(設(shè)備包含F(xiàn)lexNVM器)保護(hù)方案對于已數(shù)據(jù)意外的編寫或擦除。編程加速RAM特FlexRAM特4KbytesFlexRAMEEPROM或者傳統(tǒng)RAM保護(hù)方案對于已數(shù)據(jù)意外的編寫或擦可編程EEPROM數(shù)據(jù)集大小和FlexNVM分區(qū)代碼使EEPROM器性能當(dāng)在程序或數(shù)據(jù)flash器內(nèi)編程或者擦除數(shù)據(jù)時可以對FlexRAM或28.1.15其他FTFLflash命令完成中斷產(chǎn)生器(可選結(jié)構(gòu)FTFL
28-1FTFL術(shù)
間,數(shù)據(jù)flash器為用戶數(shù)據(jù)、啟動代碼和額外的代碼提供非易失flash扇區(qū)(Dataflashsector)————flash扇區(qū)是最小的可以被擦除的數(shù)據(jù)flash器部分。EEPROM————用于一個內(nèi)置存檔系統(tǒng),F(xiàn)TFL耐久,可按字節(jié)寫(編程和擦除)的NVM來模擬EEPROM的特性。EEPROM(EEPROMbackupdataheader)————EEPROM份數(shù)據(jù)頭信息由一個在EEPROM備份數(shù)據(jù)器內(nèi)的32比特的區(qū)域組成該備份數(shù)EEPROM(EEPROMbackupdatarecord)————EEPROMFlexRAMEEPROM備份數(shù)據(jù)器(EEPROMbackupdatamemory)————FlexNVM塊分區(qū)而來的EEPROM備份數(shù)據(jù)器為EEPROM歸檔系統(tǒng)提供了非易失空間,代表了寫入到FlexRAM的數(shù)據(jù)要求最高的耐久度。EEPROM(EEPROMbackupdatasector)——EEPROM包含了一個EEPROM備份數(shù)據(jù)頭和高達(dá)255個EEPROM耐久(Endurance————一個flash器位置可被擦除和重寫的次數(shù)FCCO(FlasObject數(shù)據(jù)以及相關(guān)指令到在FTFL模塊的控制器。flash塊(Flashblock)FTFLFlexMemory————支持?jǐn)?shù)據(jù)flash,EEPROM和FlexRAM的FTFL配置。FlexNVM(FlexNVMBlock)————FlexNVMflash器,EEPROM備份flash器,或者是兩者的結(jié)合。FlexRAM———FlexRAMRAM,F(xiàn)TFL用于EEPROM數(shù)據(jù)或者普通RAM。當(dāng)被配置為EEPROM時,有效地往FlexRAM寫入將產(chǎn)生一個于EEPROM備份數(shù)據(jù)flash器內(nèi)的新的EEPROM備份數(shù)據(jù)記flash該flash陣列是使用NOR類flash器技術(shù)的一個NVM。NVM普通模式(NVMNormalModeNVMFTFL資源的基本的用戶。CPU或者其他總線控制器通過寫入到FTFL模塊的FCCOB寄存器組開始對flash編程和擦除操作(或者其他FTFL命令。NVMNVMspecialModeFTFL資源進(jìn)行片外的NVM模式。當(dāng)MCU安全保護(hù)時可用的FTFL命令集被縮減。使用該模式時,查看配置詳情獲得信息。片語(Phrase)————有著對齊的片語的64比特數(shù)據(jù)有字節(jié)地址【2:0
程序flash(Programflash)————程序flash為向量和代碼提供非易失程序flash扇區(qū)(ProgramflashSector)————可被擦除的程序flash有效期(Retention)————在讀出時沒有經(jīng)驗錯誤的數(shù)據(jù)被保存在NVM中段(section)編程緩沖(SectionProgramBuffer)————通過編程段指令,用于大量數(shù)據(jù)的編程程序加速FlexRAM低地址部分。設(shè)備,這在配置細(xì)節(jié)中做了描述。在受保護(hù)狀態(tài),和改變NVM內(nèi)容是受限 這一節(jié)描述了FTFL模塊相關(guān)的器映射和寄存器。在FTFL模塊中未實現(xiàn)flashFlash址大?。ㄗ止?jié)0x0_0400-8 0x04Flash址大小(字節(jié)0x0_0400-8 0x0411Flash有FlexNVM的設(shè)備:EEPROM保護(hù)字節(jié)。參照EEPROM保護(hù)寄存器的1FLASH非易失性選項字節(jié)。參照Flash選項寄存器的的描述(FOPT)1程序flashIFR映程(參看一次讀,一次編程,資源命令。程序flashIFR的內(nèi)容總結(jié)在以下大?。ㄗ止?jié)0x00–0xBB,0xBE-0xC0–一次編程字flashIFR中的一次編程字段提供了從程序flash64字節(jié)用數(shù)據(jù)flashIFR映大?。ㄗ止?jié)0x00–0xFB,0xFE–1EEPROM1FlexNVM大小(字節(jié)0x00–0xFB,0xFE–1EEPROM1FlexNVMEEPROM在數(shù)據(jù)flashIFR內(nèi)的EEPROM數(shù)據(jù)集大小提供了決定可用于每個EEPROMFlxeRMAEEESPLITEEESIZE的值,參看程序 EEPROMDataflashIFR: 11=Unimplemented EEPROM7-EEPROM—EEPROM5-‘00A:EEESIZE*1/8,B:EEESIZE*7/8‘01’A:EEESIZE*1/4,B:‘10’A:EEESIZE*1/2,B:‘11A:EEESIZE*1/2,B:EEPROM—FlexRAMforEEPROM注解 當(dāng)FlexNVM分區(qū)代碼被設(shè)置為’NOEEPROM’EEESIZE必須為'0000''0001''0010'=4,096'0011'=2,048'0100'=1,0243-'0101'=512'0110'=256'0111'=128'1000'=64'1001'=32'1010''1011''1100''1101'FlexNVM分區(qū)代在數(shù)據(jù)flashIFR內(nèi)的FlexNVM分區(qū)代碼字節(jié)提供了一個可以區(qū)分怎樣在數(shù)據(jù)flash器和提供EEPROM功能的EEPROM備份器劃分FlexNVM塊的代碼。編寫DEPART的值,參看程序分區(qū)命令。EEPROMEEPROM備份00007-只讀3-FlexNVM分區(qū)代碼—在FlexNVM塊內(nèi)數(shù)據(jù)FLASH/EEPROM備份分割的代碼。FlexNVmFlexNVM器內(nèi)不能用于數(shù)據(jù)分區(qū)的flash將被用于EEPROM寄存器描FTFL模塊包含一組映射控制和狀態(tài)寄存器(FSTAT【CCIF0)FCNFGFSTATCCIFFSTATFTFLRegister(inResetFlash狀態(tài)寄存器8Flash配置寄存器 8Flash加密寄存器8RFlash選項寄存器8RFlash888888888888Flash保護(hù)寄存器8程序Flash保護(hù)寄存 8程序Flash保護(hù)寄存 8程序Flash保護(hù)寄存 8EEPROM8Flash8器狀態(tài)寄存器FSTATFTFLMGSTATO數(shù)據(jù)位是只讀的,未指定的數(shù)據(jù)位為0在設(shè)定時,寄存器中的錯誤數(shù)據(jù)位和flash保護(hù)數(shù)據(jù)位了指令的執(zhí)行,直到這個標(biāo)志位被清除(通過對其賦值1)FTFL_FSTAT字段描7CCIF標(biāo)志位用來指示一條FTFLEEPROM文件系統(tǒng)操作已經(jīng)完成。CCIF1CCIFCCIF標(biāo)志位。CCIFEEE使能時,EEPROMWEEPROM數(shù)據(jù)記錄。在復(fù)位的過程后通過控制器CCIF數(shù)據(jù)位會被復(fù)位成0而不是1。用戶是否能夠見到硬件復(fù)位值0有賴于復(fù)位后多短的時間內(nèi)又產(chǎn)生讀的動作。RDCOLERR錯誤標(biāo)志位用來指示在FTFL資源正在被FTFL指令操作時60ACCERR錯誤標(biāo)志位用來指示由于有的寫入順序或者發(fā)射了一個5FTFL指令而的對FTFL資源的。當(dāng)ACCERR被設(shè)定,則CCIF標(biāo)志位就不能通過清除來執(zhí)行指令。ACCERR1 4EEPROM使能時,F(xiàn)PVIOLFlexRAM的保護(hù)區(qū)進(jìn)行一3-0N+1N+1條指令執(zhí)行的某個時間點,之前的所flash配置寄存器 這個寄存器提供關(guān)于當(dāng)前FTFL擦除控制數(shù)據(jù)位(ERSAREQERSSUSP)有寫入限制。SWAPPFLSH,PFLSHEEERDY的復(fù)位值在復(fù)位過程中確定。FG位描7無論何時,當(dāng)FSTAT[CCIF]被設(shè)置時,產(chǎn)生一個中斷6 無論何時,當(dāng)FTFL讀錯誤被偵測到時,產(chǎn)生中斷請這個數(shù)據(jù)位向控制器發(fā)出一個執(zhí)行擦除所有塊的請求,并且安全地釋放5ERSAREQ不是直接可寫的,但是可以通過用戶間接控制。請查閱設(shè)備配當(dāng)一個對外部的FTFL擦除所有請求被激發(fā)而且此時CCIF被置位,ERSAREQ位置位。ERSAREQ在操作完成時由FTFL清除401掛起當(dāng)前擦除flash扇區(qū)3僅關(guān)于程序flash的設(shè)置,SWAP標(biāo)志位用來指示哪一個物理塊位于相對地址PFLSHflash10x0000.如果PFLSH未設(shè)定,則物理程序flash0位于相對地址0x00002FlexNVM的設(shè)備:FTFLflashEEPROMFlexMemory做好配置;對只有程序flash的設(shè)備RAM就1FlexNVM的設(shè)備:RAMRDYSetFlexRAMFlexNVMEEPROM,RAMRDYFlexNVMEEPROMEEPROM,則RAMRDY標(biāo)志位被清0對沒有FlexNVM的設(shè)備:該字段保留對帶有FlexNVM的設(shè)備,F(xiàn)lexRAM不能進(jìn)行EEPROMFlexNVM的設(shè)備,在下列情況下,F(xiàn)lexRAMEEPROM數(shù)據(jù)在FlexRAM或者EEPROM備份中。flash加密寄存器被裝在到這個寄存器中。flash的基礎(chǔ)值在復(fù)位中被表示為x。FTFL_FSEC字段7-00后門密 5-00013-飛思失敗分析這個字段確定在飛思設(shè)備返回部分失敗的分析報告時,使能還是flash內(nèi)容。當(dāng)SEC被加密同時FSLACC被設(shè)為,則對程序flash內(nèi)容的都會被。同時飛思工廠進(jìn)試錯誤分析必須先清空所有不加密部分。當(dāng)被允許(SEC設(shè)為不加密或SEC加密而FSLACC被設(shè)為允許。飛思卡爾工廠測試就能夠看到當(dāng)前的flash狀態(tài)。FSLACC字段的狀態(tài)只有在SEC字段設(shè)為安全時才有效。當(dāng)SEC字段設(shè)為不加密,則FSLACC設(shè)定值無效。00飛思 01飛 1-這個位段定義了MCU的加密狀態(tài)。在加密狀態(tài)中,MCU有限地FTFL模模塊使用后門安全密鑰不加密,則SEC字段被強制為10b。00MCU01MCUFlash選項寄存器NVM中裝載的只讀位,F(xiàn)LASH選項寄存器可以允許MCU定義它的操作。這個字段的功能在設(shè)備的配置中有詳盡的定義。在復(fù)位的過程中,寄存器從位于程序flash器中的flash配置域的FTFL_FOPT位描位7-這些位在復(fù)位時從flash載入到該寄存器。查詢設(shè)備的配置詳情來獲取具體的flash通用命令對象寄存器FCCOBFCCOB典 令參數(shù)內(nèi)容0FCMD(acodethatdefinestheFTFL1FLASH2FLASH3FLASH4DataByte5DataByte6DataByte7DataByte8DataByte9DataByteADataByteBDataByte位7-FCCOB寄存器為控制器提供了一個命令代碼和相關(guān)參數(shù)。這些獨立的寄存器組成FCCOB數(shù)據(jù)集,能以任何序列寫入,但必須提供所有必須的,依命令而不同的值。命令的執(zhí)行。這會CCIF位的值,這樣也就鎖FCCOB參數(shù)字段,同時這FCCOB寄存器返回信息。任何返回給FCCOB的值在FSTAT[CCIF]標(biāo)志位被控制器置為1后可讀8FTFL指這個命令參數(shù)是按照FCCOB的序號來寫的,數(shù)字是對FCCOB寄存器名的,而不程序flash保護(hù)寄存器flash區(qū)域不能改變自身的內(nèi)容;這意味著這些區(qū)域不能被編程,也不四個FPROT321/32的程序FlashAddresses:FTFL_FPROT3is4002_0000hbase+10hoffset=4002_0010hFTFL_FPROT2is4002_0000hbase+11hoffset=4002_0011hFTFL_FPROT1is4002_0000hbase+12hoffset=4002_0012hFTFL_FPROT0is4002_0000hbase+13hoffset=4002_0013hFTFL_FPROT位描位位一次進(jìn)行的。FPROT位段中10的轉(zhuǎn)換均可被接受,而01的轉(zhuǎn)換則被忽略7-嘗試在程序flash0flash1flashEEPROM保護(hù)寄存器對于帶有FlexNVM的設(shè)備,F(xiàn)EPROT寄存器定義了FLEXRAM中哪些FlexRAM寫入數(shù)據(jù)來修改值。對于僅含有程序flash的設(shè)備:該寄存器預(yù)留未使用。位EEPROM配置的EEPROM數(shù)據(jù)的1/8(詳見EEPROM數(shù)據(jù)集大小參數(shù)描述7-進(jìn)行的。那PROT1001NVMFPROT的位段都是可寫的,沒有任何限制。未被保復(fù)位:在復(fù)位過程中,F(xiàn)EPROT寄存器將位于程序flash中的flash配置域內(nèi)的FlexRAM保護(hù)數(shù)據(jù)載入。flashxEEPROMflash區(qū)域修改數(shù)據(jù)會導(dǎo)致保護(hù)違法錯誤同時會對 寄存器中的FPVIOL字段置位數(shù)據(jù)保護(hù)寄存器FDPROTflash區(qū)域被保護(hù)起來,編程和擦除的操作flash區(qū)域中的內(nèi)容不能更改,位7-DPROTflashDPROT中每一位保護(hù)了數(shù)據(jù)flash空間1/8的分區(qū)。每塊保護(hù)區(qū)域間的間不會執(zhí)行,同時會置FSTAT[FPVIOL]標(biāo)志位。NVM特殊模式下:所有的FPROT的位段都是可寫的,沒有任何限制。未被保復(fù)位:在復(fù)位過程中,F(xiàn)EPROT寄存器將位于程序flash器中的flash配置域內(nèi)FlexRAM保護(hù)數(shù)據(jù)載入。flashx表示。如果要FlexNVMEEPROM,flash區(qū)域的擦除是不可能的(查看flash塊擦除命令的描述。以下兩部分將詳細(xì)描述FTFL程序flash交換功對于僅有程序flash器的設(shè)備來說用戶能夠配置程序flash空間到邏輯地0x0000.這個交換制命令可以完成器映像內(nèi)兩塊邏輯P-Flash的交換。查閱配置詳情來獲Flashflash區(qū)域能夠被保護(hù)起來免于編程和擦除。設(shè)保護(hù)可以由以下的寄存器來28-27PFlash28-28DFlash對于2n(192KB224KB的數(shù)flash,被保護(hù)區(qū)域不得小32KB的數(shù)據(jù)flash,只有DPROT[6:0]保保
28-28DFlash保護(hù)(192KB28-30EEPROMFlexNVM描這一節(jié)將討論FlexNVM器這一節(jié)內(nèi)容不適于那些僅含程序flash器基本的數(shù)據(jù)flashEEPROMEEPROM系統(tǒng)如下圖28-31EEPROM為了滿足不同的用戶需求,F(xiàn)lexRAM和FlexNVM塊能被分成如下所示的區(qū)EEPROM分區(qū)(EEESIZE)EEPROMFlexRAM0FlexRAMFlexRAMEEPROM時,剩余的容量將不可。EEPROM分區(qū)時是從FlexRAM的地址空間的低地址向上數(shù)據(jù)flash的分區(qū)—FlexNVM中被劃分作為數(shù)據(jù)flash的容量0到全部FlexRAM的大小。小的16倍。EEPROM因子—FlexNVM中用作EEPROM的分區(qū)可劃分為兩個子系統(tǒng),每一個都由EEPROM備份的一半做備份。其中一個子系統(tǒng)是FlexRAM1/8,1/41/2,剩下的分區(qū)空間則屬于一個子系統(tǒng)。分區(qū)信息在數(shù)據(jù)flash中斷標(biāo)志寄存器當(dāng)中,并通過程序分區(qū)指令數(shù)據(jù)flash對于那些需要快速大量數(shù)據(jù)或靜態(tài)數(shù)據(jù)的程序是很有幫助的。EEPROMA相同大小以EEPROM備份分區(qū)來備份,并且如果因子是1/8或1/4,則擁有flash01內(nèi)部之間有空隙EEPROMEEPROMEEPROM定位所EEPROMEEPROM備份塊中。同時將FlexRAMEEPROM中所有有效的數(shù)據(jù)記錄已經(jīng)拷貝FlexRAM讀寫才都有效。FCNFG[EEERDY]也會被置位。如果中斷使能,則與FSTAT[CCIF]位相關(guān)的中斷可以用來決定什么時候FlexRAM可以被讀寫。EEPROMFlexRAM中的寫入地址沒有被保護(hù),那么將會EEPROM文件系統(tǒng)產(chǎn)生一個新的EEPROM數(shù)據(jù)記錄,這個數(shù)據(jù)EEPROM備用塊單元,這些單元是被擦寫過以備將來使用。FlexRAM寫完之后,除FSTAT[CCIF]位再次被使能,否則FlexRAM讀EEPROMEEPROM備用塊單元,EEPROM單元中已經(jīng)中??截愅瓿珊螅珽EPROM備用塊單元中保存時間最久的數(shù)據(jù)將會被打上標(biāo)記EEPROM數(shù)據(jù)寫到FlexRAMFlexNVMflash塊的空間時,EEPROM數(shù)據(jù)塊的些沒有被分配給數(shù)據(jù)flashFTFL用來為EEPROM數(shù)據(jù)獲取一個有效個比較大的EEPROMNVM空間來收集那些不再使用的設(shè)備空間,而利用FlexNVMFlexNVM分區(qū)代碼的endurance方程和圖示如下,假設(shè)一個配置已經(jīng)使用。Writes_subsystem=EEPROM?2×EEESPLITEEESPLIT
×Write_efficiencyEEESPLIT—FlexRAM32FlexRAM0.50nnvmcycd—flash28-33FlexRAM備份塊EEPROMEEPROM28-30EEPROM16位的數(shù)據(jù)位,在FlexRAM中存在一個鏡像,用來提供14位對齊地址。EEPROM數(shù)據(jù)記錄的有效性取決于整個記錄的狀態(tài),包括2比特狀態(tài)位的狀態(tài)。當(dāng)FlexRAM的8位和32位寫有效時,那么EEPROM文件系統(tǒng)對16位寫是有效的。正常情況下,對FlexRAM的8位寫將會在EEPROM備份塊中創(chuàng)建一個新的EEPROM數(shù)據(jù)記錄。對FlexRAM的16位寫將創(chuàng)建一個新的EEPROM數(shù)據(jù)記錄。對FlexRAM32位寫將創(chuàng)建一個新的EEPROM數(shù)據(jù)記錄。21416狀態(tài)位與地址狀態(tài)和數(shù)據(jù)位反應(yīng)整個EEPROM數(shù)據(jù)記錄的狀態(tài)。狀態(tài)—為EEPROM的使用識別有效的EEPROM數(shù)據(jù)記錄。在EEPROM進(jìn)行往外拷貝數(shù)據(jù)或者進(jìn)行搜索操作時,在EEPROM數(shù)據(jù)記錄將被認(rèn)為brown-out狀態(tài)。VALID狀態(tài)—EEPROM數(shù)據(jù)記EEPROMFlexRAMVALIDEEPROM數(shù)不是0xFFFF,EEPROM文件系統(tǒng)中讀出的數(shù)據(jù)將被擦除。COMPROMMISED狀態(tài)—EEPROM數(shù)據(jù)記錄,EEPROMINVALID狀態(tài)—只有當(dāng)狀態(tài)位讀出00b,同時數(shù)據(jù)位讀出0xFFFF才會發(fā)生。 狀態(tài)(2位FlexRAM地(14位數(shù)據(jù)(16位FlexRAMFlexRAMFlexRAMOldFlexRAMOldFlexRAMOldFlexRAMCompromisedCompromisedCompromised中FTFL低功耗模式下的Flash操等待模塊可以將MCU從等待模式喚醒。停止模MCU處于低功耗模式(VLPR,VLPW,VLPS)下時,F(xiàn)TFL模塊不接受flash命令。操作模定命令設(shè)置的有效性(見表28-31。它還涉及到設(shè)備配置的細(xì)節(jié)問題,例如FlashFTFL模塊只能請求一個flash地址來執(zhí)行flash器讀操作對所有的當(dāng)flash器塊上令正在執(zhí)行時,MCU不允許從flash器中讀數(shù)據(jù)。同樣當(dāng)flash器塊上令正在執(zhí)行時,要從flash塊中讀數(shù)據(jù)是不被允許寫時讀擦除操作時,MCU可以從程序Flash中取命令。時正是程序的編寫或者是擦除命令正在程序flash塊中執(zhí)行。對FlexRAM寫是不可能的當(dāng)其他邏輯程序flash塊空間中令正在執(zhí)行的時候,用戶有可能對邏輯程序flash空間中進(jìn)行讀操作。在允許并行flash操作中,進(jìn)一步討論并行操作。Flashflash功能(除了讀之外)的實現(xiàn),都要求用戶通過一系列的外設(shè)總線一步對其他的FTFL命令進(jìn)行初始化。在FTFL命令操作中將詳細(xì)說明FTFL命FTFLFTFL命令的典型應(yīng)用就是改變flash器中的內(nèi)容。下一部分將描述命令寫次序通常用作FTFL所有的FTFL命令寫次FTFL28-34中闡述了寫次序。如果所有的條件都已經(jīng)滿足,F(xiàn)TFL模塊將對命令內(nèi)容進(jìn)行不同的檢查,如果無誤就執(zhí)成。如果CCIF位為0,之前令還在執(zhí)行,新令寫次序不能開始,對寄存器FCCOB所有的寫都被。來清除該位,從而執(zhí)行所要運行令。在FTFL命令完成之前,CCIF標(biāo)志位保持為0.FSTAT寄存器帶有一個塊裝置,如果之前令導(dǎo)致錯(FST[FPVIO]=1令:一個寫操作用來清除錯誤的標(biāo)志,另一個寫操作用于清除CCIF。28.4.10.1.3命令執(zhí)行和錯誤out-ofboundsFCCOB寄存器組中命令的標(biāo)志位與CCIF設(shè)置完成,命令處理也就完成。圖28-34是一個大概令寫次序的結(jié)構(gòu)圖:28.4.10.2.FTFL命
程序序flash的設(shè)備)FlexNVMFlexNVM程序序flash的設(shè)備)FlexNVMFlexNVM×××flash或者flash塊已經(jīng)擦EEPROM來說FlexRAM1s×××flash號或者開始地flash語句程序檢×××在空白讀水平下測試之前編好的程序flashIFR或者版本ID中4字節(jié)×××flash塊或者flash塊中編寫4字節(jié)的程序 flash×××flash塊或flash塊。只有在塊不被保護(hù)的情況下擦除才會成FlexNVM區(qū) flash×××flash塊或者flash××××flash塊flash塊來說編程數(shù)據(jù)來自程××××當(dāng)確保所有的程序或數(shù)據(jù)flash塊、 EEPROM備用數(shù)據(jù)記錄和數(shù)據(jù)flashIFR都已經(jīng)擦除flash0644一次編flash0644字節(jié)的程擦除所××××flash1IFR、數(shù)據(jù)EEPROM備用數(shù)據(jù)記錄、數(shù)據(jù)flash并且安全釋放當(dāng)所有區(qū)位不確保可以的后門××只有當(dāng)用戶提供的flash中的一致時才能安全釋放MCU。交換控制×編寫FlexRAM分區(qū)代碼并且EEPROMflashIFR設(shè)所有的EEPROM備份數(shù)據(jù)塊分配給EEPROM。初始化FlexRAM M功能××FlexRAM在RAMEEPROM之間起EEPROM時,F(xiàn)lexRAM就不起作EEPROM備份塊中拷貝到28.4.10.3由模式?jīng)Q定FTFL命28-31FTFLCommandsby1s××××——1s××××——××××——××××——××××——擦除塊××××——擦除段××××——××××——1s塊×××××—××××——××××——擦除所有塊×××××—認(rèn)證后門××××——××××—— ××××——28.4.10.4允許并行Flash操FlexNVMFlexRAM中,當(dāng)編程或者擦除操作執(zhí)行時,在允許flash讀中優(yōu)先級已經(jīng)設(shè)定。這就使得當(dāng)于FlexNVMFlexRAM寫有效時讀程序flash也可同時進(jìn)行。對于帶有FlexNVM的設(shè)備來說:表28-32允許并行操讀讀段擦讀E-讀讀——除—讀—E-——當(dāng)FlexRAM配置為傳統(tǒng)的RAM(寫為單作。當(dāng)FlexRAM配置為傳統(tǒng)的RAM時,(CCIF=0,對表28-33允許并行操讀讀讀——除—讀——除—空白讀命令//flashflash陣列讀操作水平可以申請。對于MCU所有簡單的flash陣列讀都使用標(biāo)準(zhǔn)的、非空白的讀相用于獲取更高的可信度設(shè)備,而這個設(shè)備沒有遭遇到停止或者flash設(shè)備數(shù)至少處于安全空白狀態(tài)。對于正常讀水平’user’delta‘user空白水平可以用來檢查flash器內(nèi)容有足夠的空白,這是對于正常水平讀操作來期的早期,當(dāng)擦除或編程命令完成之后,緊急讀擦除應(yīng)當(dāng)立即執(zhí)行?!痜actory’空白水平能夠檢測在正常水平設(shè)置的情況下flash器內(nèi)是否有足夠的空白處存結(jié)果時,flash內(nèi)容應(yīng)當(dāng)擦除重新編程。FTFLFTFLFTFL設(shè)置FSTAT[ACCERR]位并且終止那些狀態(tài)下執(zhí)行令在FCCOBFCMD中有一條不能識別令代碼FSTATACCERR位和FPVIOL位已經(jīng).正如通過清除CCIF位來執(zhí)行命令中描述的那樣,當(dāng)錯誤標(biāo)志位置位時,新令不能執(zhí)行。當(dāng)FTFL正在執(zhí)行命令時,在同一塊中要讀flash塊是無效的。FTFLMCU,正好與錯誤標(biāo)志位置位(對于含有FlexNVM的設(shè)備)數(shù)據(jù)flash(=1)該命令用于檢查一個完整的程序flash或者數(shù)據(jù)falsh塊是否擦除完以達(dá)到空白水平。FCCOBfalsh地址位決定哪個邏輯塊是擦除完成。28-341sFCCOBFCCOBFCCOB內(nèi)容01234讀-11.必須長字對齊(Flashaddress1:0]后,CCIF位置位。28-351s為正常讀-1水平申請’user’28-361s1s儲段是否已經(jīng)擦除。讀1s段命令定義了開始地址和核實的語句號。28-391sFCCOBFCCOBFCCOB內(nèi)容012flash地址[15:8]3flash地址[7:0]4核實的語句號5核實的語句號61s必須進(jìn)行語句對齊(FlashCCIF1s段命令,F(xiàn)TFL28-381s設(shè)置讀空白并且讀出所有指定的flash段的地址。如果FTFL讀出所有的1s失敗,F(xiàn)STAT(MGSTAT0)位置位,讀1s段操作完成之后,CCIF標(biāo)志位置位。28-381s為正常的讀-1水平申請’user’28-391s1s程序檢查命flashflashFCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址48Byte09Byte1AByte2BByte3當(dāng)清CCIF來執(zhí)行程序檢查命令時,F(xiàn)TFL依據(jù)表28-41為1s設(shè)置讀空白,F(xiàn)CCOB提供的預(yù)期的數(shù)據(jù)是否相同。如果在空白-1比較失敗,MGSTAT0位置位失敗。28-41在’user’空白-1和’user’空白-0在’factory’空白-1和’factory’空白-028-42讀資源命該命令允許用戶從FTFL模塊中具有特殊用途的資源中讀出數(shù)據(jù)。特殊用途資源包括程序flashIFR空間、數(shù)據(jù)flashIFR空間、版本ID位。每個資源都有一個選擇碼如表28-44.FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址4讀數(shù)據(jù)5讀數(shù)據(jù)6讀數(shù)據(jù)7讀數(shù)據(jù)828-442568Flash地址[23]flash(=0)與數(shù)據(jù)flash(=1)資源之間選當(dāng)清除CCIF位來執(zhí)行讀資源命令時,將從選擇的相關(guān)資源中讀出連續(xù)的四個字節(jié)資源,在寄存器FCCOB中。當(dāng)讀出資源命令完成之后,CCIF標(biāo)志位置28-45程序長字命在程序flash器或者使用嵌入算法的數(shù)據(jù)flash器中,程序長字命0s0是不允許FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址4Byte05Byte16Byte27Byte3(’0’中記錄。當(dāng)程序長字命令執(zhí)行完之后,CCIF志位置位。‘start)Byte1Byte2Byte328-47擦除Flash塊命FCCOBFCCOB內(nèi)容0123CCIFFlash塊命令時,F(xiàn)TFLflash塊的主陣列flashDEPARTEEPROM(看表28-flash塊命令置FSTAT[ACCERRflash命令失效,在NVM正常模式或者特殊模式下如果塊的任何區(qū)域被保護(hù),則設(shè)置FSTAT[FPVIOL]位。如果檢驗擦除失敗,F(xiàn)STATMGSTAT0FlashCCIF標(biāo)志位置位。擦除flash段命FCCOBFCCOB內(nèi)容01233CCIF,F(xiàn)TFLflashflashNVM正常模式或者特殊模式下如果選擇段是受保護(hù)FSTAT[MGSTAT0]。當(dāng)擦除段命令執(zhí)行完后,CCIF標(biāo)志位置位。擦除段命令也可以掛起(FCNFG[ERSSUSP]位和表28-35。FSTATFCNFG如果在FTFL發(fā)現(xiàn)掛起請求前,擦除段操作就有效地完成了,F(xiàn)TFL必須在置位CCIFERSSUSP位。當(dāng)擦除段操作命令成功掛起后,F(xiàn)TFLCCIF標(biāo)志位,同時讓ERSSUSP位置位。當(dāng)CCIF置位之后,ERSSUSP位只有清除,來那些還沒被FTFL承認(rèn)的掛起請求的回收。CCIFERSSUSP還是保持置位,之flash段操作就會恢復(fù)。FTFLERSSUSP位,認(rèn)可恢復(fù)掛起操作ERSSUSP可以接收新的掛起請求。一個簡單的擦除段操作可以被掛小時間周期內(nèi)要求確保擦除flash段操作最后能夠完成如果了最小時間周期,比如說掛起請求重復(fù)的來并且很快,而擦除flash段算法沒有進(jìn)一步的解決措施。如果擦除沒有完成,恢復(fù)和掛起次序可以的進(jìn)行。CCIFERSSUSP位FCNFG[ERSSUSP]被置位,F(xiàn)CNFG[EEERDY]位置位清ERSSUSP程序段命
程序段操作通過一種嵌入算法將程序段緩沖的數(shù)據(jù)放到之前擦除過的空間中。當(dāng)設(shè)置FlexRAM的功能為傳統(tǒng)的RAM時,通過對FlexRAM的寫flash器空間在編程之前必須擦除。flash器空間的累積編程是不允許的。當(dāng)設(shè)備負(fù)載過大時從0s退出到0重新編程是不允許。FCCOBFCCOB內(nèi)容01Flash地址2Flash地址3Flash地址4程序語句號5程序語句號清除CCIF運行程序段命令之后,F(xiàn)TFL塊有權(quán)使用程序加速RAM或者FlexRAM,將程序段緩沖中的數(shù)據(jù)放到之前指定的flash地址空間中。開始地址flash段邊界,直到所有要求的程序編寫完成。程序段命令在編寫完成之后28-53Flash段編程如果需要的話,執(zhí)行FlexRAM功能命令使得FlexRAMRAM,并且將FlexRAM初始化RAMFlexRAMRAMflash段。RAM該部分用于程序段緩沖空在第一步中,編程段緩沖區(qū)被初始化為flash器的擦除狀態(tài)。EEPROMFlexRAMFlexRAM作EEPROM來說是有效1s1sflashflashFlexRAMEEPROMflashIFR是否已經(jīng)被擦除達(dá)到讀空白級。如果達(dá)到要求,并且可以進(jìn)行讀出操作,那么所有讀出的數(shù)據(jù)都為‘128-541sFCCOBFCCOBFCCOB內(nèi)容01讀-128-551sflash、數(shù)flash、EEPROM備份記錄、數(shù)據(jù)flashIFR、FlexRAM的內(nèi)容看是否處于擦除狀態(tài)。如果FTFL確認(rèn)這些器資源已經(jīng)擦除則通過設(shè)置FSEC[SEC]位將加密狀1sflash配置位中的加密字節(jié)保持不變。如果讀失敗,也就是說,所有的器資源沒有完成擦除,1s所有塊操作操作期間,EEERDYRAMRDY都將被清除,當(dāng)該命令完成時EEERDY與RAMRDY又恢復(fù)之前的狀態(tài)。28-551s把“user”空白應(yīng)用到讀-1把“factory”空白應(yīng)用到讀-128-561s讀-1s讀一次命該命令提供了位于程序flash0IFR中一個保留的64字節(jié)空間的權(quán)限。FCCOBFCCOB內(nèi)容01讀一次記錄索引(0x00-234567CCIFflashIFR4字節(jié)的命令的有效記錄索引值在0x00-0x0F編程一次命flash0IFR不能擦除,所以每個編程一次記錄只能編寫一次。FCCOBFCCOB內(nèi)容01編程一次記錄索引(0x00-234567CCIF執(zhí)行編程一次命令之后,F(xiàn)TFL值進(jìn)行檢驗看是否正確。編程一次操作執(zhí)行完之后CCIF標(biāo)志置位。flash0IFR空間不可以擦除,之前的值沒有擦除錄進(jìn)行編程的嘗試都是不被允許的。編程一次命令的有效記錄索引值在0x00-0x0Fflash0空間進(jìn)行讀都將返回?zé)o效的數(shù)10xFFFF_FFFF,那么編程一次命令被允許在相擦除所有塊命和解除MCU機(jī)制。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]位可以解除28-62程序Flash器,數(shù)據(jù)Flash器,F(xiàn)lexRAM的FTFL擦除所有塊命令操作功能在flash器外部以非命令方式存在同樣有效。功能信息涉及到設(shè)備配置的細(xì)節(jié)。在使用外部擦除功能之前,F(xiàn)STAT[ACCERR]PVIOL必須清除,同時寄存器FCCOB0不能含有0x44。使用后,該命令可以擦除所有相關(guān)的器除了受加密的器。如果之前的擦除核對成功通過,則通過置寄存器FSEC[SEC]位到非加FCCOBFCCOB內(nèi)容01-456789ABCCIF執(zhí)行核對后門進(jìn)入密鑰命令之后,F(xiàn)TFLFSEC[KEYEN]位以確保FTFLFSTAT[ACCERRFTFL將FCCOB中的密鑰與flash配置域中的密鑰做比較。如果兩者匹配,后執(zhí)行核對后門進(jìn)入密鑰命令都將被視為無效。FSTAT[ACCERR]位再次置1直到FTFL模塊執(zhí)行初始化操作。如果整個8字節(jié)的密鑰全是0或者全為1,核對CCIF28-64交換控制命Table28- FCCOB號FCCOB內(nèi)容[00x461Flashaddress2Flashaddress3Flashaddress4交換控制碼0x01–0x02–設(shè)換進(jìn)行中狀0x04–設(shè)換完成狀0x08–0x00–已經(jīng)初始化0x01–準(zhǔn)備0x02–進(jìn)行中0x03–進(jìn)行中-已擦除(Update-0x04–完成56當(dāng)前交換塊狀態(tài)0x00–0x0_0000Flash0x010x00000Flash70x00-0x0_0000Flash塊00X010x0_0000程序Flash1必須是短語對齊(Flashaddress2:0]000)CCIF位運行交換控制命令之后,F(xiàn)TFL將會處理基于交換控制代碼的與交換相關(guān)的活動,該代碼有FCCOB4提供,如下所示:·0x01-flashflash塊0flash配置域中以后,flashIFR交換域當(dāng)中,該交換交換使能字將會被編程到地址0x0000。交換使能字已經(jīng)被編程以后,位于程序flash塊0地址的交換指針,將會被編程到0XFF00。0X02-在核實當(dāng)前準(zhǔn)備狀態(tài)是準(zhǔn)備狀態(tài)以及提供的flash地址和在IFR0XFF000x04-在核實當(dāng)前交換狀態(tài)時進(jìn)行中-已擦除以及提供的flash地址與在IFR交換域中的地址相匹配以后,位于當(dāng)前活動狀態(tài)的交換指針將會被編程到ACCERR復(fù)0x08-在核實提供的flash地址和在IFR交換域中的地址相匹配以后,交換FCCO7-交換狀態(tài)決定步驟換系統(tǒng)的問題是否被察覺。位,所以建議用戶把0xFF寫到FCCOB5,F(xiàn)CCOB6,F(xiàn)CCOB7中。flash塊中以及交換系統(tǒng)處于進(jìn)行中和Table28-66.Flash地址不能與IFR124供-828-67.SwapStateReport01Swap1--00022003Update-3004400510162017Update-30184019100-010010110110110111111111210210210210210211211211Update-310Update-310Update-311Update-31128-68.flash1IFR大小0x00–20x02–20x04–程序分區(qū)命程序分區(qū)命令可以將FlexNVM塊配置成數(shù)據(jù)flash、EEPROM備份或者兩者的組合,同時可以初始化FlexRAM。程序分區(qū)命令不能從flash器開始執(zhí)行,因為flash器資源在程序分區(qū)命令執(zhí)行的時候是不可的。給定應(yīng)用程序的生存期都有效。FlexNVM分區(qū)代碼的選擇將影響設(shè)備的耐力和FCCOBFCCOB內(nèi)容012345FlexNVM分區(qū)代碼28-70EEPROMEEP
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030歐洲教育咨詢行業(yè)市場競爭現(xiàn)狀分析投資價值評估規(guī)劃研究分析報告
- 2025-2030歐洲工業(yè)機(jī)器人行業(yè)市場發(fā)展格局及投資評估規(guī)劃報告
- 2025-2030歐洲室內(nèi)裝修行業(yè)市場供需分析及投資評估規(guī)劃分析研究報告
- 2026華西第二醫(yī)院招聘超聲技師招聘10人備考題庫有完整答案詳解
- 2026中國新聞社招聘應(yīng)屆高校畢業(yè)生11人備考題庫及完整答案詳解一套
- 2026廣東中山市民眾街道村(社區(qū))招聘8人備考題庫參考答案詳解
- 2026四川樂山市峨眉山旅游股份有限公司招聘專業(yè)人才4人備考題庫及參考答案詳解
- 2026云南省執(zhí)業(yè)藥師注冊中心招聘1人備考題庫完整答案詳解
- 2025中國農(nóng)業(yè)科學(xué)院油料作物研究所南方大豆遺傳育種創(chuàng)新團(tuán)隊科研助理招聘1人備考題庫及答案詳解(考點梳理)
- 2026上海市姚連生中學(xué)招聘教師備考題庫及1套參考答案詳解
- 第四單元“愛國情懷”(主題閱讀)-五年級語文上冊閱讀理解(統(tǒng)編版)
- 海洋科技課件
- 口腔種植進(jìn)修匯報
- 黨建品牌管理辦法
- 國外退貨管理辦法
- 氧療設(shè)備的安全使用與維護(hù)
- 鄉(xiāng)鎮(zhèn)建筑垃圾管理辦法
- 瓊海市2025年公開招聘事業(yè)單位工作人員和農(nóng)墾移交醫(yī)院工作人員筆試崗位排名及筆試合格分?jǐn)?shù)線筆試歷年典型考題及考點剖析附帶答案詳解
- 油料運輸使用管理辦法
- DB42T 1319-2021 綠色建筑設(shè)計與工程驗收標(biāo)準(zhǔn)
- 2025年第三屆國賽項目江蘇省選拔賽無人機(jī)駕駛員(植保)項目技術(shù)文件
評論
0/150
提交評論