Struct AES

Source
pub struct AES { /* private fields */ }
Expand description

Advanced encryption standard hardware accelerator 1

See peripheral structure

Implementations§

Source§

impl AES

Source

pub const PTR: *const RegisterBlock = {0x40026000 as *const stm32g081::aes::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn cr(&self) -> &CR

0x00 - control register

Source

pub fn sr(&self) -> &SR

0x04 - status register

Source

pub fn dinr(&self) -> &DINR

0x08 - data input register

Source

pub fn doutr(&self) -> &DOUTR

0x0c - data output register

Source

pub fn keyr0(&self) -> &KEYR0

0x10 - key register 0

Source

pub fn keyr1(&self) -> &KEYR1

0x14 - key register 1

Source

pub fn keyr2(&self) -> &KEYR2

0x18 - key register 2

Source

pub fn keyr3(&self) -> &KEYR3

0x1c - key register 3

Source

pub fn ivr0(&self) -> &IVR0

0x20 - initialization vector register 0

Source

pub fn ivr1(&self) -> &IVR1

0x24 - initialization vector register 1

Source

pub fn ivr2(&self) -> &IVR2

0x28 - initialization vector register 2

Source

pub fn ivr3(&self) -> &IVR3

0x2c - initialization vector register 3

Source

pub fn keyr4(&self) -> &KEYR4

0x30 - key register 4

Source

pub fn keyr5(&self) -> &KEYR5

0x34 - key register 5

Source

pub fn keyr6(&self) -> &KEYR6

0x38 - key register 6

Source

pub fn keyr7(&self) -> &KEYR7

0x3c - key register 7

Source

pub fn susp0r(&self) -> &SUSP0R

0x40 - AES suspend register 0

Source

pub fn susp1r(&self) -> &SUSP1R

0x44 - AES suspend register 1

Source

pub fn susp2r(&self) -> &SUSP2R

0x48 - AES suspend register 2

Source

pub fn susp3r(&self) -> &SUSP3R

0x4c - AES suspend register 3

Source

pub fn susp4r(&self) -> &SUSP4R

0x50 - AES suspend register 4

Source

pub fn susp5r(&self) -> &SUSP5R

0x54 - AES suspend register 5

Source

pub fn susp6r(&self) -> &SUSP6R

0x58 - AES suspend register 6

Source

pub fn susp7r(&self) -> &SUSP7R

0x5c - AES suspend register 7

Source

pub fn hwcfr(&self) -> &HWCFR

0x3f0 - AES hardware configuration register

Source

pub fn verr(&self) -> &VERR

0x3f4 - AES version register

Source

pub fn ipidr(&self) -> &IPIDR

0x3f8 - AES identification register

Source

pub fn sidr(&self) -> &SIDR

0x3fc - AES size ID register

Trait Implementations§

Source§

impl Debug for AES

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for AES

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for AES

Auto Trait Implementations§

§

impl Freeze for AES

§

impl RefUnwindSafe for AES

§

impl !Sync for AES

§

impl Unpin for AES

§

impl UnwindSafe for AES

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.