STM8 FLASH寄存器

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

FLASH控制寄存器1(FLASH_CR1)

地址偏移值:0x00
复位值:0x00

STM8_FLASH控制寄存器1(FLASH_CR1)

位7:4 保留位,必须保持为0
位3 HALT:停机(Halt)模式下掉电
该位可由软件来置位或清零。
0:当MCU在停机(Halt)模式时FLASH处于掉电模式
1:当MCU在停机(Halt)模式时FLASH处于运行模式
位2 AHALT:活跃停机(Active halt)模式下掉电
0:当MCU在活跃停机模式时FLASH处于掉电模式
1:当MCU在活跃停机模式时FLASH处于运行模式
位1 IE:FLASH中断使能
0:中断禁止
1:中断使能。当FLASH_IAPSR寄存器中的EOP或WR_PG_DIS位被置位时产生中断
位0 FIX:固定的编程时间
0:当存储器已经被擦除过时,编程时间为标准编程时间的一半(1/2 tprog),否则为标准的编程时间tprog。
1:编程时间固定为标准编程时间tprog。

FLASH控制寄存器2(FLASH_CR2)

地址偏移值:0x01
复位值:0x00

STM8_FLASH控制寄存器2(FLASH_CR2)

位7 OPT:对选项字节进行写操作
该位可由软件来置位或清零。
0:对选项字节进行写操作被禁止
1:对选项字节进行写操作被使能
位6 WPRG:字编程
当操作完成时,该位由硬件来置位或清零。
0:字编程操作被禁止
1:字编程操作被使能
位5 ERASE(1):块擦除
当操作完成时,该位由硬件来置位或清零。
0:块擦除操作被禁止
1:块擦除操作被使能
位4 FPRG(1):快速块编程
当操作完成时,该位由硬件来置位或清零。
0:快速块编程操作被禁止
1:快速块编程操作被使能
位3:1 保留位
位0 PRG:标准块编程
当操作完成时,该位由硬件来置位或清零。
0:标准块编程操作被禁止
1:标准块编程操作被使能
      • 当存储器忙时,ERASE和FPRG位被锁住。

FLASH互补控制寄存器2(FLASH_NCR2)

地址偏移值:0x02
复位值:0xFF

STM8_FLASH互补控制寄存器2(FLASH_NCR2)

位7 NOPT:对选项字节进行写操作
该位可由软件来置位或清零。
0:对选项字节进行写操作被使能
1:对选项字节进行写操作被禁止
位6 NWPRG:字编程
当操作完成时,该位由硬件来置位或清零。
0:字编程操作被使能
1:字编程操作被禁止
位5 NERASE:块擦除
当操作完成时,该位可由软件来置位或清零。
0:块擦除操作被使能
1:块擦除操作被禁止
位4 FPRG(1):快速块编程
当操作完成时,该位由硬件来置位或清零。
0:快速块编程操作被禁止
1:快速块编程操作被使能
位3:1 保留位
位0 NPRG:标准块编程
当操作完成时,该位可由软件来置位或清零。
0:标准块编程操作被使能
1:标准块编程操作被禁止

FLASH保护寄存器(FLASH_FPR)

地址偏移值:0x03
复位值:0x00

STM8_FLASH保护寄存器(FLASH_FPR)

位7:6 保留位,必须保持为'0'
位5:0 WPB[5:0]:用户启动代码保护位。
这些位指示用户启动代码的大小,其值在启动时从UBC选项字节装载。请参考数据手册来了解关于保护页部分的细节。

FLASH互补保护寄存器(FLASH_NFPR)

地址偏移值:0x04
复位值:0xFF

STM8_FLASH互补保护寄存器(FLASH_NFPR)

位7:6 保留位,必须保持为'1'
位5:0 NWPB[5:0]:用户启动代码保护位。
这些位指示用户启动代码的大小,其值在启动时从NUBC选项字节装载。请参考数据手册来了解关于保护页部分的细节。

FLASH程序存储器解保护寄存器(FLASH_PUKR)

地址偏移值:0x08
复位值:0x00

STM8_FLASH程序存储器解保护寄存器(FLASH_PUKR)

位7:0 PUK[7:0]:主程序存储器解锁密钥
该位可由软件来进行写操作(在任何模式下)。当读该寄存器时,返回值为0x00。请参考对主程序区域的写操作来了解主程序区域解除写保护机制的更多细节。

DATA EEPROM解保护寄存器(FLASH_DUKR)

地址偏移值:0x0A
复位值:0x00

STM8_DATA EEPROM解保护寄存器(FLASH_DUKR)

位7:0 DUK[7:0]:DATA EEPROM解锁密钥
该位可由软件来进行写操作(在任何模式下)。当读该寄存器时,返回值为00h。请参考对DATA区域的写操作来了解数据区域解除写保护机制的更多细节。

FLASH状态寄存器(FLASH_IAPSR)

地址偏移值:0x05
复位值:0x00

STM8_FLASH状态寄存器(FLASH_IAPSR)

位7 保留位,由硬件保证强迫其为0
位6 HVOFF:高压结束标志
0:HV开,开始真正的编程
1:HV关,高压结束
位5:4 保留位,由硬件保证强迫其为0
位3 DUL:DATA EEPROM区域解锁标志
该位由硬件置位,可由软件向其写入0来清零。
0:DATA EEPROM区域写保护使能
1:DATA EEPROM区域写保护可通过使用MASS密钥来解除
位2 EOP:编程结束(写或擦除操作)标志
0:没有EOP事件发生
1:有EOP事件发生。如果FLASH_CR1中的IE为1,将有中断产生
位1 PUL:快速程序存储器结束标志
该位由硬件置位,可由软件向其写入0来清零
0:主程序存储器区域写保护使能
1:主程序存储器区域写保护可通过使用MASS密钥来解除
位0 WR_PG_DIS:试图向被保护页进行写操作的标志
该位由硬件置位,可由软件通过读该寄存器来清零
0:没有WR_PG_DIS事件发生。
1:试图向被保护页进行写操作事件发生。如果FLASH_CR1中的IE为1,将有中断产生

FLASH寄存器映射和复位值

要了解更多STM8的寄存器边界地址,请参考数据手册中通用硬件寄存器映射部分。

STM8_FLASH寄存器映射及复位值
(表6:STM8 FLASH寄存器映射及复位值)

 

STM8 FLASH寄存器

——