STM8 FLASH寄存器

来自丢石头百科
Admin讨论 | 贡献2019年11月18日 (一) 16:32的版本 (FLASH控制寄存器1(FLASH_CR1)地址偏移值:0x00复位值:0x00位7:4保留位,必须保持为0位3HALT:停机(Halt)模式下掉电该位可由软件来置位或清零。0:当MCU在停机(Halt)模式时FLASH处于掉电模式1:当MCU在停机(Halt)模 ...)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)


FLASH控制寄存器1(FLASH_CR1) 地址偏移值:0x00 复位值:0x00 STM8 P29 1.jpg

<tbody></tbody>
位7:4保留位,必须保持为0
位3HALT:停机(Halt)模式下掉电

该位可由软件来置位或清零。 0:当MCU在停机(Halt)模式时FLASH处于掉电模式

1:当MCU在停机(Halt)模式时FLASH处于运行模式
位2AHALT:活跃停机(Active halt)模式下掉电

0:当MCU在活跃停机模式时FLASH处于掉电模式

1:当MCU在活跃停机模式时FLASH处于运行模式
位1IE:FLASH中断使能

0:中断禁止

1:中断使能。当FLASH_IAPSR寄存器中的EOP或WR_PG_DIS位被置位时产生中断
位0FIX:固定的编程时间

0:当存储器已经被擦除过时,编程时间为标准编程时间的一半(1/2 tprog),否则为标准的编程时间tprog。

1:编程时间固定为标准编程时间tprog。

FLASH控制寄存器2(FLASH_CR2) 地址偏移值:0x01 复位值:0x00 STM8 P30 1.jpg

<tbody></tbody>
位7OPT:对选项字节进行写操作

该位可由软件来置位或清零。 0:对选项字节进行写操作被禁止

1:对选项字节进行写操作被使能
位6WPRG:字编程

当操作完成时,该位由硬件来置位或清零。 0:字编程操作被禁止

1:字编程操作被使能
位5ERASE(1):块擦除

当操作完成时,该位由硬件来置位或清零。 0:块擦除操作被禁止

1:块擦除操作被使能
位4FPRG(1):快速块编程

当操作完成时,该位由硬件来置位或清零。 0:快速块编程操作被禁止

1:快速块编程操作被使能
位3:1保留位
位0PRG:标准块编程

当操作完成时,该位由硬件来置位或清零。 0:标准块编程操作被禁止

1:标准块编程操作被使能

* 当存储器忙时,ERASE和FPRG位被锁住。

FLASH互补控制寄存器2(FLASH_NCR2) 地址偏移值:0x02 复位值:0xFF STM8 P31 1.jpg

<tbody></tbody>
位7NOPT:对选项字节进行写操作

该位可由软件来置位或清零。 0:对选项字节进行写操作被使能

1:对选项字节进行写操作被禁止
位6NWPRG:字编程

当操作完成时,该位由硬件来置位或清零。 0:字编程操作被使能

1:字编程操作被禁止
位5NERASE:块擦除

当操作完成时,该位可由软件来置位或清零。 0:块擦除操作被使能

1:块擦除操作被禁止
位4FPRG(1):快速块编程

当操作完成时,该位由硬件来置位或清零。 0:快速块编程操作被禁止

1:快速块编程操作被使能
位3:1保留位
位0NPRG:标准块编程

当操作完成时,该位可由软件来置位或清零。 0:标准块编程操作被使能

1:标准块编程操作被禁止

FLASH保护寄存器(FLASH_FPR) 地址偏移值:0x03 复位值:0x00 STM8 P32 1.jpg

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

FLASH互补保护寄存器(FLASH_NFPR) 地址偏移值:0x04 复位值:0xFF STM8 P33 1.jpg

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

FLASH程序存储器解保护寄存器(FLASH_PUKR) 地址偏移值:0x08 复位值:0x00 STM8 P34 1.jpg

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

DATA EEPROM解保护寄存器(FLASH_DUKR) 地址偏移值:0x0A 复位值:0x00 STM8 P35 1.jpg

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

FLASH状态寄存器(FLASH_IAPSR) 地址偏移值:0x05 复位值:0x00 STM8 P36 1.jpg

<tbody></tbody>
位7保留位,由硬件保证强迫其为0
位6HVOFF:高压结束标志

0:HV开,开始真正的编程

1:HV关,高压结束
位5:4保留位,由硬件保证强迫其为0
位3DUL:DATA EEPROM区域解锁标志

该位由硬件置位,可由软件向其写入0来清零。 0:DATA EEPROM区域写保护使能

1:DATA EEPROM区域写保护可通过使用MASS密钥来解除
位2EOP:编程结束(写或擦除操作)标志

0:没有EOP事件发生

1:有EOP事件发生。如果FLASH_CR1中的IE为1,将有中断产生
位1PUL:快速程序存储器结束标志

该位由硬件置位,可由软件向其写入0来清零 0:主程序存储器区域写保护使能

1:主程序存储器区域写保护可通过使用MASS密钥来解除
位0WR_PG_DIS:试图向被保护页进行写操作的标志

该位由硬件置位,可由软件通过读该寄存器来清零 0:没有WR_PG_DIS事件发生。

1:试图向被保护页进行写操作事件发生。如果FLASH_CR1中的IE为1,将有中断产生

FLASH寄存器映射和复位值

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

STM8 P37 1.jpg (表6:STM8 FLASH寄存器映射及复位值)