pub struct RSA { /* private fields */ }
Expand description
RSA (Rivest Shamir Adleman) Accelerator
Implementations§
source§impl RSA
impl RSA
sourcepub const PTR: *const RegisterBlock = {0x6003c000 as *const rsa::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003c000 as *const rsa::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 m_mem_iter(&self) -> impl Iterator<Item = &M_MEM>
pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM>
Iterator for array of: 0x00..0x180 - The memory that stores M
sourcepub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM>
pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM>
Iterator for array of: 0x200..0x380 - The memory that stores Z
sourcepub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM>
pub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM>
Iterator for array of: 0x400..0x580 - The memory that stores Y
sourcepub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM>
pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM>
Iterator for array of: 0x600..0x780 - The memory that stores X
sourcepub fn query_clean(&self) -> &QUERY_CLEAN
pub fn query_clean(&self) -> &QUERY_CLEAN
0x808 - RSA query clean register
sourcepub fn set_start_modexp(&self) -> &SET_START_MODEXP
pub fn set_start_modexp(&self) -> &SET_START_MODEXP
0x80c - RSA modular exponentiation trigger register.
sourcepub fn set_start_modmult(&self) -> &SET_START_MODMULT
pub fn set_start_modmult(&self) -> &SET_START_MODMULT
0x810 - RSA modular multiplication trigger register.
sourcepub fn set_start_mult(&self) -> &SET_START_MULT
pub fn set_start_mult(&self) -> &SET_START_MULT
0x814 - RSA normal multiplication trigger register.
sourcepub fn query_idle(&self) -> &QUERY_IDLE
pub fn query_idle(&self) -> &QUERY_IDLE
0x818 - RSA query idle register
sourcepub fn constant_time(&self) -> &CONSTANT_TIME
pub fn constant_time(&self) -> &CONSTANT_TIME
0x820 - RSA constant time option register
sourcepub fn search_enable(&self) -> &SEARCH_ENABLE
pub fn search_enable(&self) -> &SEARCH_ENABLE
0x824 - RSA search option
sourcepub fn search_pos(&self) -> &SEARCH_POS
pub fn search_pos(&self) -> &SEARCH_POS
0x828 - RSA search position configure register