Flash memory - Flash-память микроконтроллера


Offset: 0x00
Flash access control register
Регистр управления доступом к flash-памяти
Offset: 0x04
FPEC key register
Регистр ключей разблокировки контроллера flash-памяти
Offset: 0x08
Flash OPTKEY register
Регистр ключей разблокировки байтов параметров
Offset: 0x0C
Flash status register
Регистр состояния flash-памяти
Offset: 0x10
Flash control register
Регистр управления flash-памятью
Offset: 0x14
Flash address register
Регистр адреса flash-памяти
Offset: 0x1С
Option byte register
Регистр пользовательских настроек
Offset: 0x20
Write protection register
Регистр защиты пользовательских настроек от изменения



#define PERIPH_BASE         ((uint32_t)0x40000000)      /* Peripheral base address in the alias region */
#define AHBPERIPH_BASE      (PERIPH_BASE + 0x20000)
#define FLASH_R_BASE        (AHBPERIPH_BASE + 0x2000)   /* Flash registers base address */
#define FLASH               ((FLASH_TypeDef *) FLASH_R_BASE)


typedef struct
{
  __IO uint32_t ACR;
  __IO uint32_t KEYR;
  __IO uint32_t OPTKEYR;
  __IO uint32_t SR;
  __IO uint32_t CR;
  __IO uint32_t AR;
  __IO uint32_t RESERVED;
  __IO uint32_t OBR;
  __IO uint32_t WRPR;
       uint32_t RESERVED1[8];   //- STM32F10X_XL
  __IO uint32_t KEYR2;          //- STM32F10X_XL
       uint32_t RESERVED2;      //- STM32F10X_XL
  __IO uint32_t SR2;            //- STM32F10X_XL
  __IO uint32_t CR2;            //- STM32F10X_XL
  __IO uint32_t AR2;            //- STM32F10X_XL
} FLASH_TypeDef;


FLASH_IRQn      = 4,      /* FLASH global Interrupt    */