FLASH的頁擦除
FLASH由一系列的頁組成,每頁512字節(jié)。FLASHCON寄存器設(shè)置為0x20,F(xiàn)LASHDAT寄存器設(shè)置為0xA5,F(xiàn)LASHADR寄存器可以設(shè)置為要擦除的頁內(nèi)的任何一個地址。
如果FLASHADR被設(shè)置為鎖定字節(jié)地址中的任何一個(0x7DFE或0x7DFF),則該擦除操作將擦除整個FLASH存儲器,位于0x7E00和0x7FFF之間的保留區(qū)除外。
與讀和寫操作不同,在擦除操作完成后FLASHADR并不自動加1。
FLASH的字節(jié)寫
FLASH的字節(jié)讀
間接讀
讀操作啟動一次從由DRAdress選擇的寄存器中讀取數(shù)據(jù)的過程。該過程可以通過向間接寄存器移入兩位來啟動。在讀操作被啟動后,可以通過查詢Busy位來確定操作何時完成和何時可以讀取數(shù)據(jù)。
間接寫
寫操作啟動一次向由DRAddress選擇的寄存器內(nèi)寫數(shù)據(jù)的過程??梢詫戦L度不大于18位的任意長度的寄存器。如果待寫寄存器的長度小于18位,寫數(shù)據(jù)(WriteData)應(yīng)左對齊(MSB占據(jù)位17)。在啟動一個寫操作之后,應(yīng)查詢“Busy”位來確定該操作何時完成。
FLASH寄存器
FLASHSCL
FLASHSCL是一個8位寄存器,用它設(shè)置FLASH操作時序所需要的預(yù)分頻值。當(dāng)使用內(nèi)部的2MHz系統(tǒng)時鐘時,該寄存器應(yīng)配置如下:
FLASHCON
FLASHCON是一個8位寄存器,它控制FLASH邏輯如何響應(yīng)對FLASHDAT寄存器的讀和寫操作。FLASHCON寄存器包含一個讀方式設(shè)置和一個寫方式設(shè)置。
FLASHDAT
FLASHDAT是一個10位的寄存器,它包含8位數(shù)據(jù),一個FLFail位和一個FLBusy位,如圖所示:
寫FLASHDAT只需要8位,因為最后一個被鎖存的位處于MSB位置。
讀FLASHDAT只需要11個DR_SHIFT周期(8個用于FLData,一個用于FLFail,一個用于FLBusy)。
查詢FLBusy至少需要2個DR_SHIFT周期,一個用于FLBusy,一個用于Busy。
FLASHADR
FLASHADR是一個16位寄存器,它包含待讀或待寫的FLASH字節(jié)的地址。
注意點
在對FLASH進(jìn)行燒錄之前,需要對器件復(fù)位并禁止看門狗。否則,看門狗定時器可能在FLASH操作期間啟動系統(tǒng)復(fù)位,導(dǎo)致預(yù)想不到的后果!
-
寄存器
+關(guān)注
關(guān)注
31文章
5435瀏覽量
124611 -
JTAG
+關(guān)注
關(guān)注
6文章
404瀏覽量
73351 -
鎖存器
+關(guān)注
關(guān)注
8文章
926瀏覽量
42414 -
Flash存儲器
+關(guān)注
關(guān)注
3文章
105瀏覽量
26437 -
系統(tǒng)時鐘
+關(guān)注
關(guān)注
1文章
31瀏覽量
9632
發(fā)布評論請先 登錄
C8051單片機(jī),Silicon labs 產(chǎn)品
C8051的C語言的徹底應(yīng)用.pdf
《C8051的C語言的徹底應(yīng)用》書籍
C8051與SRAM的高速接口

C8051單片機(jī)在交流變頻調(diào)速系統(tǒng)中的應(yīng)用(收集)
基于C8051單片機(jī)的電子凸輪實現(xiàn)

評論