Skip to main content

AesEcbRegistersManager

Struct AesEcbRegistersManager 

pub struct AesEcbRegistersManager {
    pub registers: StaticRef<AesEcbRegisters>,
    /* private fields */
}
Expand description

Wrapper for managing MMIO for the AES ECB peripheral.

Fields§

§registers: StaticRef<AesEcbRegisters>

MMIO registers for the AES ECB peripheral.

Implementations§

§

impl AesEcbRegistersManager

pub unsafe fn new(regs: StaticRef<AesEcbRegisters>) -> AesEcbRegistersManager

Create a new AES registers manager.

§Safety

This controls DMA hardware. As such, it must be unique. This requires:

  • This constructor must be called at most once.
  • There must not be any other code that accesses the DMA buffer and length registers.

pub fn start_ecb_dma(&self, buf: &'static mut [u8]) -> Result<(), ()>

Start an ECB encryption with DMA.

The buffer must cover the full 48-byte ECB data block: bytes 0–15 = key, bytes 16–31 = plaintext/counter, bytes 32–47 = ciphertext output.

§Return

Ok(()) on successfully starting the DMA operation. Err(()) if DMA is already busy.

pub fn finish_ecb_dma(&self) -> Option<&'static mut [u8]>

pub fn dma_pending(&self) -> bool

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

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.