Struct esp32s2::SHA

source ·
pub struct SHA { /* private fields */ }
Expand description

SHA (Secure Hash Algorithm) Accelerator

Implementations§

source§

impl SHA

source

pub const PTR: *const RegisterBlock = {0x6003b000 as *const sha::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 mode(&self) -> &MODE

0x00 - Defines the algorithm of SHA accelerator

source

pub fn t_string(&self) -> &T_STRING

0x04 - String content register for calculating initial Hash Value (only effective for SHA-512/t)

source

pub fn t_length(&self) -> &T_LENGTH

0x08 - String length register for calculating initial Hash Value (only effective for SHA-512/t)

source

pub fn dma_block_num(&self) -> &DMA_BLOCK_NUM

0x0c - Block number register (only effective for DMA-SHA)

source

pub fn start(&self) -> &START

0x10 - Starts the SHA accelerator for Typical SHA operation

source

pub fn continue_(&self) -> &CONTINUE

0x14 - Continues SHA operation (only effective in Typical SHA mode)

source

pub fn busy(&self) -> &BUSY

0x18 - Indicates if SHA Accelerator is busy or not

source

pub fn dma_start(&self) -> &DMA_START

0x1c - Starts the SHA accelerator for DMA-SHA operation

source

pub fn dma_continue(&self) -> &DMA_CONTINUE

0x20 - Continues SHA operation (only effective in DMA-SHA mode)

source

pub fn int_clear(&self) -> &INT_CLEAR

0x24 - DMA-SHA interrupt clear register

source

pub fn int_ena(&self) -> &INT_ENA

0x28 - DMA-SHA interrupt enable register

source

pub fn date(&self) -> &DATE

0x2c - Version control register

source

pub fn h_mem(&self, n: usize) -> &H_MEM

0x40..0x80 - Hash value

source

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

Iterator for array of: 0x40..0x80 - Hash value

source

pub fn m_mem(&self, n: usize) -> &M_MEM

0x80..0x100 - Message

source

pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM>

Iterator for array of: 0x80..0x100 - Message

Trait Implementations§

source§

impl Debug for SHA

source§

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

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

impl Deref for SHA

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

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

Dereferences the value.
source§

impl Send for SHA

Auto Trait Implementations§

§

impl RefUnwindSafe for SHA

§

impl !Sync for SHA

§

impl Unpin for SHA

§

impl UnwindSafe for SHA

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.