Embassy
stm32-metapac

Crates

git

Versions

stm32h563vg

Flavors

#[repr(transparent)]
pub struct Eccdetr(pub u32);
Expand description

FLASH ECC detection register

Tuple Fields§

§0: u32

Implementations§

§

impl Eccdetr

pub const fn addr_ecc(&self) -> u16

ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area).

pub fn set_addr_ecc(&mut self, val: u16)

ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area).

pub const fn obk_ecc(&self) -> bool

ECC fail double ECC error in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error.

pub fn set_obk_ecc(&mut self, val: bool)

ECC fail double ECC error in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error.

pub const fn edata_ecc(&self) -> bool

ECC fail double ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error.

pub fn set_edata_ecc(&mut self, val: bool)

ECC fail double ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error.

pub const fn bk_ecc(&self) -> bool

ECC fail bank for double ECC error It indicates which bank is concerned by ECC error

pub fn set_bk_ecc(&mut self, val: bool)

ECC fail bank for double ECC error It indicates which bank is concerned by ECC error

pub const fn sysf_ecc(&self) -> bool

ECC fail for double ECC error in system flash memory It indicates if system flash memory is concerned by ECC error.

pub fn set_sysf_ecc(&mut self, val: bool)

ECC fail for double ECC error in system flash memory It indicates if system flash memory is concerned by ECC error.

pub const fn otp_ecc(&self) -> bool

OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield.

pub fn set_otp_ecc(&mut self, val: bool)

OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield.

pub const fn eccd(&self) -> bool

ECC detection Set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors.

pub fn set_eccd(&mut self, val: bool)

ECC detection Set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors.

Trait Implementations§

§

impl Clone for Eccdetr

§

fn clone(&self) -> Eccdetr

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Default for Eccdetr

§

fn default() -> Eccdetr

Returns the “default value” for a type. Read more
§

impl PartialEq for Eccdetr

§

fn eq(&self, other: &Eccdetr) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Copy for Eccdetr

§

impl Eq for Eccdetr

§

impl StructuralEq for Eccdetr

§

impl StructuralPartialEq for Eccdetr

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.