#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - Access control register"]
pub acr: ACR,
#[doc = "0x04 - FLASH key register for bank 1"]
pub keyr1: KEYR1,
#[doc = "0x08 - FLASH option key register"]
pub optkeyr: OPTKEYR,
#[doc = "0x0c - FLASH control register for bank 1"]
pub cr1: CR1,
#[doc = "0x10 - FLASH status register for bank 1"]
pub sr1: SR1,
#[doc = "0x14 - FLASH clear control register for bank 1"]
pub ccr1: CCR1,
#[doc = "0x18 - FLASH option control register"]
pub optcr: OPTCR,
#[doc = "0x1c - FLASH option status register"]
pub optsr_cur: OPTSR_CUR,
#[doc = "0x20 - FLASH option status register"]
pub optsr_prg: OPTSR_PRG,
#[doc = "0x24 - FLASH option clear control register"]
pub optccr: OPTCCR,
#[doc = "0x28 - FLASH protection address for bank 1"]
pub prar_cur1: PRAR_CUR1,
#[doc = "0x2c - FLASH protection address for bank 1"]
pub prar_prg1: PRAR_PRG1,
#[doc = "0x30 - FLASH secure address for bank 1"]
pub scar_cur1: SCAR_CUR1,
#[doc = "0x34 - FLASH secure address for bank 1"]
pub scar_prg1: SCAR_PRG1,
#[doc = "0x38 - FLASH write sector protection for bank 1"]
pub wpsn_cur1r: WPSN_CUR1R,
#[doc = "0x3c - FLASH write sector protection for bank 1"]
pub wpsn_prg1r: WPSN_PRG1R,
#[doc = "0x40 - FLASH register with boot address"]
pub boot_curr: BOOT_CURR,
#[doc = "0x44 - FLASH register with boot address"]
pub boot_prgr: BOOT_PRGR,
_reserved0: [u8; 8usize],
#[doc = "0x50 - FLASH CRC control register for bank 1"]
pub crccr1: CRCCR1,
#[doc = "0x54 - FLASH CRC start address register for bank 1"]
pub crcsadd1r: CRCSADD1R,
#[doc = "0x58 - FLASH CRC end address register for bank 1"]
pub crceadd1r: CRCEADD1R,
#[doc = "0x5c - FLASH CRC data register"]
pub crcdatar: CRCDATAR,
#[doc = "0x60 - FLASH ECC fail address for bank 1"]
pub ecc_fa1r: ECC_FA1R,
_reserved1: [u8; 156usize],
#[doc = "0x100 - Access control register"]
pub acr_: ACR_,
#[doc = "0x104 - FLASH key register for bank 2"]
pub keyr2: KEYR2,
#[doc = "0x108 - FLASH option key register"]
pub optkeyr_: OPTKEYR_,
#[doc = "0x10c - FLASH control register for bank 2"]
pub cr2: CR2,
#[doc = "0x110 - FLASH status register for bank 2"]
pub sr2: SR2,
#[doc = "0x114 - FLASH clear control register for bank 2"]
pub ccr2: CCR2,
#[doc = "0x118 - FLASH option control register"]
pub optcr_: OPTCR_,
#[doc = "0x11c - FLASH option status register"]
pub optsr_cur_: OPTSR_CUR_,
#[doc = "0x120 - FLASH option status register"]
pub optsr_prg_: OPTSR_PRG_,
#[doc = "0x124 - FLASH option clear control register"]
pub optccr_: OPTCCR_,
#[doc = "0x128 - FLASH protection address for bank 1"]
pub prar_cur2: PRAR_CUR2,
#[doc = "0x12c - FLASH protection address for bank 2"]
pub prar_prg2: PRAR_PRG2,
#[doc = "0x130 - FLASH secure address for bank 2"]
pub scar_cur2: SCAR_CUR2,
#[doc = "0x134 - FLASH secure address for bank 2"]
pub scar_prg2: SCAR_PRG2,
#[doc = "0x138 - FLASH write sector protection for bank 2"]
pub wpsn_cur2r: WPSN_CUR2R,
#[doc = "0x13c - FLASH write sector protection for bank 2"]
pub wpsn_prg2r: WPSN_PRG2R,
_reserved2: [u8; 16usize],
#[doc = "0x150 - FLASH CRC control register for bank 1"]
pub crccr2: CRCCR2,
#[doc = "0x154 - FLASH CRC start address register for bank 2"]
pub crcsadd2r: CRCSADD2R,
#[doc = "0x158 - FLASH CRC end address register for bank 2"]
pub crceadd2r: CRCEADD2R,
_reserved3: [u8; 4usize],
#[doc = "0x160 - FLASH ECC fail address for bank 2"]
pub ecc_fa2r: ECC_FA2R,
}
#[doc = "Access control register"]
pub struct ACR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Access control register"]
pub mod acr;
#[doc = "Access control register"]
pub struct ACR_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "Access control register"]
pub mod acr_;
#[doc = "FLASH key register for bank 1"]
pub struct KEYR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH key register for bank 1"]
pub mod keyr1;
#[doc = "FLASH option key register"]
pub struct OPTKEYR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option key register"]
pub mod optkeyr;
#[doc = "FLASH option key register"]
pub struct OPTKEYR_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option key register"]
pub mod optkeyr_;
#[doc = "FLASH control register for bank 1"]
pub struct CR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH control register for bank 1"]
pub mod cr1;
#[doc = "FLASH status register for bank 1"]
pub struct SR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH status register for bank 1"]
pub mod sr1;
#[doc = "FLASH clear control register for bank 1"]
pub struct CCR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH clear control register for bank 1"]
pub mod ccr1;
#[doc = "FLASH option control register"]
pub struct OPTCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option control register"]
pub mod optcr;
#[doc = "FLASH option control register"]
pub struct OPTCR_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option control register"]
pub mod optcr_;
#[doc = "FLASH option status register"]
pub struct OPTSR_CUR_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option status register"]
pub mod optsr_cur_;
#[doc = "FLASH option status register"]
pub struct OPTSR_CUR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option status register"]
pub mod optsr_cur;
#[doc = "FLASH option status register"]
pub struct OPTSR_PRG {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option status register"]
pub mod optsr_prg;
#[doc = "FLASH option status register"]
pub struct OPTSR_PRG_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option status register"]
pub mod optsr_prg_;
#[doc = "FLASH option clear control register"]
pub struct OPTCCR_ {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option clear control register"]
pub mod optccr_;
#[doc = "FLASH option clear control register"]
pub struct OPTCCR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH option clear control register"]
pub mod optccr;
#[doc = "FLASH protection address for bank 1"]
pub struct PRAR_CUR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH protection address for bank 1"]
pub mod prar_cur1;
#[doc = "FLASH protection address for bank 1"]
pub struct PRAR_PRG1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH protection address for bank 1"]
pub mod prar_prg1;
#[doc = "FLASH secure address for bank 1"]
pub struct SCAR_CUR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH secure address for bank 1"]
pub mod scar_cur1;
#[doc = "FLASH secure address for bank 1"]
pub struct SCAR_PRG1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH secure address for bank 1"]
pub mod scar_prg1;
#[doc = "FLASH write sector protection for bank 1"]
pub struct WPSN_CUR1R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH write sector protection for bank 1"]
pub mod wpsn_cur1r;
#[doc = "FLASH write sector protection for bank 1"]
pub struct WPSN_PRG1R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH write sector protection for bank 1"]
pub mod wpsn_prg1r;
#[doc = "FLASH register with boot address"]
pub struct BOOT_CURR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH register with boot address"]
pub mod boot_curr;
#[doc = "FLASH register with boot address"]
pub struct BOOT_PRGR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH register with boot address"]
pub mod boot_prgr;
#[doc = "FLASH CRC control register for bank 1"]
pub struct CRCCR1 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC control register for bank 1"]
pub mod crccr1;
#[doc = "FLASH CRC start address register for bank 1"]
pub struct CRCSADD1R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC start address register for bank 1"]
pub mod crcsadd1r;
#[doc = "FLASH CRC end address register for bank 1"]
pub struct CRCEADD1R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC end address register for bank 1"]
pub mod crceadd1r;
#[doc = "FLASH CRC data register"]
pub struct CRCDATAR {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC data register"]
pub mod crcdatar;
#[doc = "FLASH ECC fail address for bank 1"]
pub struct ECC_FA1R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH ECC fail address for bank 1"]
pub mod ecc_fa1r;
#[doc = "FLASH key register for bank 2"]
pub struct KEYR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH key register for bank 2"]
pub mod keyr2;
#[doc = "FLASH control register for bank 2"]
pub struct CR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH control register for bank 2"]
pub mod cr2;
#[doc = "FLASH status register for bank 2"]
pub struct SR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH status register for bank 2"]
pub mod sr2;
#[doc = "FLASH clear control register for bank 2"]
pub struct CCR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH clear control register for bank 2"]
pub mod ccr2;
#[doc = "FLASH protection address for bank 1"]
pub struct PRAR_CUR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH protection address for bank 1"]
pub mod prar_cur2;
#[doc = "FLASH protection address for bank 2"]
pub struct PRAR_PRG2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH protection address for bank 2"]
pub mod prar_prg2;
#[doc = "FLASH secure address for bank 2"]
pub struct SCAR_CUR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH secure address for bank 2"]
pub mod scar_cur2;
#[doc = "FLASH secure address for bank 2"]
pub struct SCAR_PRG2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH secure address for bank 2"]
pub mod scar_prg2;
#[doc = "FLASH write sector protection for bank 2"]
pub struct WPSN_CUR2R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH write sector protection for bank 2"]
pub mod wpsn_cur2r;
#[doc = "FLASH write sector protection for bank 2"]
pub struct WPSN_PRG2R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH write sector protection for bank 2"]
pub mod wpsn_prg2r;
#[doc = "FLASH CRC control register for bank 1"]
pub struct CRCCR2 {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC control register for bank 1"]
pub mod crccr2;
#[doc = "FLASH CRC start address register for bank 2"]
pub struct CRCSADD2R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC start address register for bank 2"]
pub mod crcsadd2r;
#[doc = "FLASH CRC end address register for bank 2"]
pub struct CRCEADD2R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH CRC end address register for bank 2"]
pub mod crceadd2r;
#[doc = "FLASH ECC fail address for bank 2"]
pub struct ECC_FA2R {
register: ::vcell::VolatileCell<u32>,
}
#[doc = "FLASH ECC fail address for bank 2"]
pub mod ecc_fa2r;