pub struct AES { /* private fields */ }

Implementations§

source§

impl AES

source

pub unsafe fn steal() -> AES

Unsafely create an instance of this peripheral out of thin air.

§Safety

You must ensure that you’re only using one instance of this type at a time.

source

pub const PTR: *const <AES as Deref>::Target = {0x6003a000 as *const <esp32s3::AES as core::ops::Deref>::Target}

Pointer to the register block

source

pub const fn ptr() -> *const <AES as Deref>::Target

Return the pointer to the register block

Methods from Deref<Target = RegisterBlock>§

source

pub fn key(&self, n: usize) -> &Reg<KEY_SPEC>

0x00..0x20 - AES key register %s

source

pub fn key_iter(&self) -> impl Iterator<Item = &Reg<KEY_SPEC>>

Iterator for array of: 0x00..0x20 - AES key register %s

source

pub fn text_in(&self, n: usize) -> &Reg<TEXT_IN_SPEC>

0x20..0x30 - Source data register %s

source

pub fn text_in_iter(&self) -> impl Iterator<Item = &Reg<TEXT_IN_SPEC>>

Iterator for array of: 0x20..0x30 - Source data register %s

source

pub fn text_out(&self, n: usize) -> &Reg<TEXT_OUT_SPEC>

0x30..0x40 - Result data register %s

source

pub fn text_out_iter(&self) -> impl Iterator<Item = &Reg<TEXT_OUT_SPEC>>

Iterator for array of: 0x30..0x40 - Result data register %s

source

pub fn mode(&self) -> &Reg<MODE_SPEC>

0x40 - AES Mode register

source

pub fn trigger(&self) -> &Reg<TRIGGER_SPEC>

0x48 - AES trigger register

source

pub fn state(&self) -> &Reg<STATE_SPEC>

0x4c - AES state register

source

pub fn iv_mem(&self, n: usize) -> &Reg<IV_MEM_SPEC>

0x50..0x60 - The memory that stores initialization vector

source

pub fn iv_mem_iter(&self) -> impl Iterator<Item = &Reg<IV_MEM_SPEC>>

Iterator for array of: 0x50..0x60 - The memory that stores initialization vector

source

pub fn h_mem(&self, n: usize) -> &Reg<H_MEM_SPEC>

0x60..0x70 - The memory that stores GCM hash subkey

source

pub fn h_mem_iter(&self) -> impl Iterator<Item = &Reg<H_MEM_SPEC>>

Iterator for array of: 0x60..0x70 - The memory that stores GCM hash subkey

source

pub fn j0_mem(&self, n: usize) -> &Reg<J0_MEM_SPEC>

0x70..0x80 - The memory that stores J0

source

pub fn j0_mem_iter(&self) -> impl Iterator<Item = &Reg<J0_MEM_SPEC>>

Iterator for array of: 0x70..0x80 - The memory that stores J0

source

pub fn t0_mem(&self, n: usize) -> &Reg<T0_MEM_SPEC>

0x80..0x90 - The memory that stores T0

source

pub fn t0_mem_iter(&self) -> impl Iterator<Item = &Reg<T0_MEM_SPEC>>

Iterator for array of: 0x80..0x90 - The memory that stores T0

source

pub fn dma_enable(&self) -> &Reg<DMA_ENABLE_SPEC>

0x90 - AES accelerator working mode register

source

pub fn block_mode(&self) -> &Reg<BLOCK_MODE_SPEC>

0x94 - AES cipher block mode register

source

pub fn block_num(&self) -> &Reg<BLOCK_NUM_SPEC>

0x98 - AES block number register

source

pub fn inc_sel(&self) -> &Reg<INC_SEL_SPEC>

0x9c - Standard incrementing function configure register

source

pub fn aad_block_num(&self) -> &Reg<AAD_BLOCK_NUM_SPEC>

0xa0 - Additional Authential Data block number register

source

pub fn remainder_bit_num(&self) -> &Reg<REMAINDER_BIT_NUM_SPEC>

0xa4 - AES remainder bit number register

source

pub fn continue_(&self) -> &Reg<CONTINUE_SPEC>

0xa8 - AES continue register

source

pub fn int_clr(&self) -> &Reg<INT_CLR_SPEC>

0xac - AES Interrupt clear register

source

pub fn int_ena(&self) -> &Reg<INT_ENA_SPEC>

0xb0 - DMA-AES Interrupt enable register

source

pub fn date(&self) -> &Reg<DATE_SPEC>

0xb4 - AES version control register

source

pub fn dma_exit(&self) -> &Reg<DMA_EXIT_SPEC>

0xb8 - AES-DMA exit config

Trait Implementations§

source§

impl Debug for AES

source§

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

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

impl Deref for AES

§

type Target = <AES as Deref>::Target

The resulting type after dereferencing.
source§

fn deref(&self) -> &<AES as Deref>::Target

Dereferences the value.
source§

impl DerefMut for AES

source§

fn deref_mut(&mut self) -> &mut <AES as Deref>::Target

Mutably dereferences the value.
source§

impl Peripheral for AES

§

type P = AES

Peripheral singleton type
source§

unsafe fn clone_unchecked(&mut self) -> <AES as Peripheral>::P

Unsafely clone (duplicate) a peripheral singleton. Read more
source§

fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>
where Self: 'a,

Convert a value into a PeripheralRef. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for AES

§

impl Send 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<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.