pub struct HMAC { /* private fields */ }
Expand description
HMAC (Hash-based Message Authentication Code) Accelerator
Implementations§
source§impl HMAC
impl HMAC
sourcepub const PTR: *const RegisterBlock = {0x6003e000 as *const hmac::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003e000 as *const hmac::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
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>§
sourcepub fn set_para_purpose(&self) -> &SET_PARA_PURPOSE
pub fn set_para_purpose(&self) -> &SET_PARA_PURPOSE
0x44 - Configure purpose.
sourcepub fn set_para_key(&self) -> &SET_PARA_KEY
pub fn set_para_key(&self) -> &SET_PARA_KEY
0x48 - Configure key.
sourcepub fn set_para_finish(&self) -> &SET_PARA_FINISH
pub fn set_para_finish(&self) -> &SET_PARA_FINISH
0x4c - Finish initial configuration.
sourcepub fn set_message_one(&self) -> &SET_MESSAGE_ONE
pub fn set_message_one(&self) -> &SET_MESSAGE_ONE
0x50 - Process control register 1.
sourcepub fn set_message_ing(&self) -> &SET_MESSAGE_ING
pub fn set_message_ing(&self) -> &SET_MESSAGE_ING
0x54 - Process control register 2.
sourcepub fn set_message_end(&self) -> &SET_MESSAGE_END
pub fn set_message_end(&self) -> &SET_MESSAGE_END
0x58 - Process control register 3.
sourcepub fn set_result_finish(&self) -> &SET_RESULT_FINISH
pub fn set_result_finish(&self) -> &SET_RESULT_FINISH
0x5c - Process control register 4.
sourcepub fn set_invalidate_jtag(&self) -> &SET_INVALIDATE_JTAG
pub fn set_invalidate_jtag(&self) -> &SET_INVALIDATE_JTAG
0x60 - Invalidate register 0.
sourcepub fn set_invalidate_ds(&self) -> &SET_INVALIDATE_DS
pub fn set_invalidate_ds(&self) -> &SET_INVALIDATE_DS
0x64 - Invalidate register 1.
sourcepub fn query_error(&self) -> &QUERY_ERROR
pub fn query_error(&self) -> &QUERY_ERROR
0x68 - Error register.
sourcepub fn query_busy(&self) -> &QUERY_BUSY
pub fn query_busy(&self) -> &QUERY_BUSY
0x6c - Busy register.
sourcepub fn wr_message_mem(&self, n: usize) -> &WR_MESSAGE_MEM
pub fn wr_message_mem(&self, n: usize) -> &WR_MESSAGE_MEM
0x80..0xc0 - Message block memory.
sourcepub fn wr_message_mem_iter(&self) -> impl Iterator<Item = &WR_MESSAGE_MEM>
pub fn wr_message_mem_iter(&self) -> impl Iterator<Item = &WR_MESSAGE_MEM>
Iterator for array of: 0x80..0xc0 - Message block memory.
sourcepub fn rd_result_mem(&self, n: usize) -> &RD_RESULT_MEM
pub fn rd_result_mem(&self, n: usize) -> &RD_RESULT_MEM
0xc0..0xe0 - Result from upstream.
sourcepub fn rd_result_mem_iter(&self) -> impl Iterator<Item = &RD_RESULT_MEM>
pub fn rd_result_mem_iter(&self) -> impl Iterator<Item = &RD_RESULT_MEM>
Iterator for array of: 0xc0..0xe0 - Result from upstream.
sourcepub fn set_message_pad(&self) -> &SET_MESSAGE_PAD
pub fn set_message_pad(&self) -> &SET_MESSAGE_PAD
0xf0 - Process control register 5.
sourcepub fn soft_jtag_ctrl(&self) -> &SOFT_JTAG_CTRL
pub fn soft_jtag_ctrl(&self) -> &SOFT_JTAG_CTRL
0xf8 - Jtag register 0.