stm32-metapac

Crates

git

Versions

stm32u575ag

Flavors

Struct stm32_metapac::flash::regs::Nscr

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

FLASH non-secure control register

Tuple Fields§

§0: u32

Implementations§

§

impl Nscr

pub const fn pg(&self) -> NscrPg

Non-secure programming

pub fn set_pg(&mut self, val: NscrPg)

Non-secure programming

pub const fn per(&self) -> NscrPer

Non-secure page erase

pub fn set_per(&mut self, val: NscrPer)

Non-secure page erase

pub const fn mer1(&self) -> bool

Non-secure bank 1 mass erase This bit triggers the bank 1 non-secure mass erase (all bank 1 user pages) when set.

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

Non-secure bank 1 mass erase This bit triggers the bank 1 non-secure mass erase (all bank 1 user pages) when set.

pub const fn pnb(&self) -> u8

Non-secure page number selection These bits select the page to erase. …

pub fn set_pnb(&mut self, val: u8)

Non-secure page number selection These bits select the page to erase. …

pub const fn bker(&self) -> NscrBker

Non-secure bank selection for page erase

pub fn set_bker(&mut self, val: NscrBker)

Non-secure bank selection for page erase

pub const fn bwr(&self) -> bool

Non-secure burst write programming mode When set, this bit selects the burst write programming mode.

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

Non-secure burst write programming mode When set, this bit selects the burst write programming mode.

pub const fn mer2(&self) -> bool

Non-secure bank 2 mass erase This bit triggers the bank 2 non-secure mass erase (all bank 2 user pages) when set.

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

Non-secure bank 2 mass erase This bit triggers the bank 2 non-secure mass erase (all bank 2 user pages) when set.

pub const fn strt(&self) -> bool

Non-secure start This bit triggers a non-secure erase operation when set. If MER1, MER2 and PER bits are reset and the STRT bit is set, the PGSERR bit in FLASH_NSSR is set (this condition is forbidden). This bit is set only by software and is cleared when the BSY bit is cleared in FLASH_NSSR.

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

Non-secure start This bit triggers a non-secure erase operation when set. If MER1, MER2 and PER bits are reset and the STRT bit is set, the PGSERR bit in FLASH_NSSR is set (this condition is forbidden). This bit is set only by software and is cleared when the BSY bit is cleared in FLASH_NSSR.

pub const fn optstrt(&self) -> bool

Options modification start This bit triggers an options operation when set. It can not be written if OPTLOCK bit is set. This bit is set only by software, and is cleared when the BSY bit is cleared in FLASH_NSSR.

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

Options modification start This bit triggers an options operation when set. It can not be written if OPTLOCK bit is set. This bit is set only by software, and is cleared when the BSY bit is cleared in FLASH_NSSR.

pub const fn eopie(&self) -> NscrEopie

Non-secure end of operation interrupt enable This bit enables the interrupt generation when the EOP bit in the FLASH_NSSR is set to 1.

pub fn set_eopie(&mut self, val: NscrEopie)

Non-secure end of operation interrupt enable This bit enables the interrupt generation when the EOP bit in the FLASH_NSSR is set to 1.

pub const fn errie(&self) -> NscrErrie

Non-secure error interrupt enable This bit enables the interrupt generation when the OPERR bit in the FLASH_NSSR is set to 1.

pub fn set_errie(&mut self, val: NscrErrie)

Non-secure error interrupt enable This bit enables the interrupt generation when the OPERR bit in the FLASH_NSSR is set to 1.

pub const fn obl_launch(&self) -> OblLaunch

Force the option byte loading When set to 1, this bit forces the option byte reloading. This bit is cleared only when the option byte loading is complete. It cannot be written if OPTLOCK is set.

pub fn set_obl_launch(&mut self, val: OblLaunch)

Force the option byte loading When set to 1, this bit forces the option byte reloading. This bit is cleared only when the option byte loading is complete. It cannot be written if OPTLOCK is set.

pub const fn optlock(&self) -> bool

Option lock This bit is set only. When set, all bits concerning user options in FLASH_NSCR register are locked. This bit is cleared by hardware after detecting the unlock sequence. The LOCK bit in the FLASH_NSCR must be cleared before doing the unlock sequence for OPTLOCK bit. In case of an unsuccessful unlock operation, this bit remains set until the next reset.

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

Option lock This bit is set only. When set, all bits concerning user options in FLASH_NSCR register are locked. This bit is cleared by hardware after detecting the unlock sequence. The LOCK bit in the FLASH_NSCR must be cleared before doing the unlock sequence for OPTLOCK bit. In case of an unsuccessful unlock operation, this bit remains set until the next reset.

pub const fn lock(&self) -> bool

Non-secure lock This bit is set only. When set, the FLASH_NSCR register is locked. It is cleared by hardware after detecting the unlock sequence in FLASH_NSKEYR register. In case of an unsuccessful unlock operation, this bit remains set until the next system reset.

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

Non-secure lock This bit is set only. When set, the FLASH_NSCR register is locked. It is cleared by hardware after detecting the unlock sequence in FLASH_NSKEYR register. In case of an unsuccessful unlock operation, this bit remains set until the next system reset.

Trait Implementations§

§

impl Clone for Nscr

§

fn clone(&self) -> Nscr

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 Nscr

§

fn default() -> Nscr

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

impl PartialEq for Nscr

§

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

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

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

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

impl Copy for Nscr

§

impl Eq for Nscr

§

impl StructuralPartialEq for Nscr

Auto Trait Implementations§

§

impl Freeze for Nscr

§

impl RefUnwindSafe for Nscr

§

impl Send for Nscr

§

impl Sync for Nscr

§

impl Unpin for Nscr

§

impl UnwindSafe for Nscr

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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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>,

source§

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>,

source§

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.