pub struct AES { /* private fields */ }
Expand description
AES (Advanced Encryption Standard) Accelerator
Implementations§
source§impl AES
impl AES
sourcepub const PTR: *const RegisterBlock = {0x6003a000 as *const aes::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003a000 as *const aes::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 key_iter(&self) -> impl Iterator<Item = &KEY>
pub fn key_iter(&self) -> impl Iterator<Item = &KEY>
Iterator for array of: 0x00..0x20 - AES key register %s
sourcepub fn text_in_iter(&self) -> impl Iterator<Item = &TEXT_IN>
pub fn text_in_iter(&self) -> impl Iterator<Item = &TEXT_IN>
Iterator for array of: 0x20..0x30 - Source data register %s
sourcepub fn text_out_iter(&self) -> impl Iterator<Item = &TEXT_OUT>
pub fn text_out_iter(&self) -> impl Iterator<Item = &TEXT_OUT>
Iterator for array of: 0x30..0x40 - Result data register %s
sourcepub fn iv__iter(&self) -> impl Iterator<Item = &IV_>
pub fn iv__iter(&self) -> impl Iterator<Item = &IV_>
Iterator for array of: 0x50..0x60 - initialization vector
sourcepub fn h__iter(&self) -> impl Iterator<Item = &H_>
pub fn h__iter(&self) -> impl Iterator<Item = &H_>
Iterator for array of: 0x60..0x70 - GCM hash subkey
sourcepub fn dma_enable(&self) -> &DMA_ENABLE
pub fn dma_enable(&self) -> &DMA_ENABLE
0x90 - DMA enable register
sourcepub fn block_mode(&self) -> &BLOCK_MODE
pub fn block_mode(&self) -> &BLOCK_MODE
0x94 - Block operation type register
sourcepub fn aad_block_num(&self) -> &AAD_BLOCK_NUM
pub fn aad_block_num(&self) -> &AAD_BLOCK_NUM
0xa0 - AAD block number configuration register
sourcepub fn remainder_bit_num(&self) -> &REMAINDER_BIT_NUM
pub fn remainder_bit_num(&self) -> &REMAINDER_BIT_NUM
0xa4 - Remainder bit number of plaintext/ciphertext
sourcepub fn continue_op(&self) -> &CONTINUE_OP
pub fn continue_op(&self) -> &CONTINUE_OP
0xa8 - Operation continue controlling register