Flash control register (FLASH_CR)

Регистр управления flash-памятью

Смещение (Address offset): 0x10

Reset value: 0x0000'0080

3130292827262524
Reserved
------------------------
00000000
2322212019181716
Reserved
------------------------
00000000


15141312111098
Reserved EOPIE Reserved ERRIE OPTWRE Reserved
---------rw---rwrw---
00000000
76543210
LOCK STRT OPTER OPTPG Reserved MER PER PG
rwrwrwrw--rwrwrw
10000000


Bits 31:13
Reserved
Must be kept at cleared
Зарезервировано. Должно быть всегда установлено в 0
Bit 12
EOPIE
End of operation interrupt enable
Разрешает прерывание по факту окончания операции.

Разрешает прерывание, когда завершается операция перепрошивки (записи или стирания) и устанавливается бит EOP в регистре FLASH_SR.

 0 :  прерывание запрещено

 1 :  прерывание разрешено

Bit 11
Reserved
Must be kept at cleared
Зарезервировано. Должно быть всегда установлено в 0
Bit 10
ERRIE
Error interrupt enable
Разрешает прерывание при ошибки записи во flash-память

Разрешает прерывание при ошибке контроллера flash-памяти, когда установливается бит PGERR или WRPRTERR в регистре FLASH_SR: при попытке записи по адресу флэш-памяти, защищенного от записи, или при ошибке записи.

 0 :  прерывание запрещено

 1 :  прерывание разрешено

Bit 9
OPTWRE
Option bytes write enable
Разрешает программировать байты параметров

Устанавливается аппаратно при записи правильных ключей в регистр FLASH_OPTKEYR. Когда бит установлен - можно программировать байты параметров. Сбрасывается программно.

Bit 8
Reserved
Must be kept at cleared
Зарезервировано. Должно быть всегда установлено в 0
Bit 7
LOCK
Lock
Блокировка flash-памяти

Сбрасывается аппаратно при записи правильных ключей в регистр FLASH_KEYR. При неудачной разблокировке контроллера flash-памяти остаётся установленым до окончания следующей попытки.

По завершении операции перепрошивки (записи или стирания) контроллер flash-памяти необходимо заблокировать программно записью "1".

Bit 6
STRT
Start
Запуск операции стирания

Устанавливается только программно и запускает операцию стирания flash-памяти. Сбрасывается аппаратно при начале операции и установке бита BSY в регистре FLASH_SR.

Bit 5
OPTER
Option byte erase
Стирание байтов параметров

Устанавливается программно и запускает операцию стирания байтов параметров.

Bit 4
OPTPG
Option byte programming
Программирование байтов параметров

Устанавливается программно и запускает операцию программирования байтов параметров.

Bit 3
Reserved
Must be kept at cleared
Зарезервировано. Должно быть всегда установлено в 0
Bit 2
MER
Mass erase
Массовое стирание

Стирает все выбранные пользователем страницы.

Bit 1
PER
Page erase
Стирание страницы

Стирает выбранную пользователем страницу.

Bit 0
PG
Programming
программирование

Запускает программирование flash-памяти



//- stm32F10x.h

/*******************  Bit definition for FLASH_CR register  *******************/

#define  FLASH_CR_PG         ((uint16_t)0x0001)       /* Programming */
#define  FLASH_CR_PER        ((uint16_t)0x0002)       /* Page Erase */
#define  FLASH_CR_MER        ((uint16_t)0x0004)       /* Mass Erase */
#define  FLASH_CR_OPTPG      ((uint16_t)0x0010)       /* Option Byte Programming */
#define  FLASH_CR_OPTER      ((uint16_t)0x0020)       /* Option Byte Erase */
#define  FLASH_CR_STRT       ((uint16_t)0x0040)       /* Start */
#define  FLASH_CR_LOCK       ((uint16_t)0x0080)       /* Lock */
#define  FLASH_CR_OPTWRE     ((uint16_t)0x0200)       /* Option Bytes Write Enable */
#define  FLASH_CR_ERRIE      ((uint16_t)0x0400)       /* Error Interrupt Enable */
#define  FLASH_CR_EOPIE      ((uint16_t)0x1000)       /* End of operation interrupt enable */