98 lines
1.8 KiB
C
98 lines
1.8 KiB
C
/** @file flash_regs.h
|
|
* Module defining flash memory interface registers.
|
|
*
|
|
* Mainly made to be used by the rcc module. It is recommanded to go through
|
|
* the functions provided by that module instead of directly using the registers
|
|
* defined here.
|
|
*/
|
|
|
|
#ifndef _FLASH_REGS_H_
|
|
#define _FLASH_REGS_H_
|
|
|
|
//--includes--------------------------------------------------------------------
|
|
|
|
#include "stdint.h"
|
|
|
|
|
|
//--type definitions------------------------------------------------------------
|
|
|
|
#define FLASH_BASE_ADDRESS 0x40022000
|
|
|
|
union FLASH_ACR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t LATENCY:3;
|
|
uint32_t HLFCYA:1;
|
|
uint32_t PRFTBE:1;
|
|
uint32_t PRFTBS:1;
|
|
uint32_t reserved1:26;
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_KEYR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_OPTKEYR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_SR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_CR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_AR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_OBR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
union FLASH_WRPR {
|
|
struct __attribute__((packed)) {
|
|
uint32_t reserved1; //TODO
|
|
};
|
|
uint32_t word;
|
|
};
|
|
|
|
struct __attribute__((packed)) FLASH {
|
|
union FLASH_ACR ACR;
|
|
union FLASH_KEYR KEYR;
|
|
union FLASH_OPTKEYR OPTKEYR;
|
|
union FLASH_SR SR;
|
|
union FLASH_CR CR;
|
|
union FLASH_AR AR;
|
|
uint32_t reserved1;
|
|
union FLASH_OBR OBR;
|
|
union FLASH_WRPR WRPR;
|
|
};
|
|
|
|
|
|
//--functions-------------------------------------------------------------------
|
|
|
|
#endif //_FLASH_REGS_H_
|
|
|