AES ECB encryption HAL

nRF5 SDK v16.0.0

Hardware access layer (HAL) for managing the Advanced Encryption Standard (AES) Electronic Codebook (ECB) peripheral. More...

Enumerations

enum nrf_ecb_task_t {
NRF_ECB_TASK_STARTECB = offsetof(NRF_ECB_Type, TASKS_STARTECB),
NRF_ECB_TASK_STOPECB = offsetof(NRF_ECB_Type, TASKS_STOPECB)
}
ECB tasks. More...
enum nrf_ecb_event_t {
NRF_ECB_EVENT_ENDECB = offsetof(NRF_ECB_Type, EVENTS_ENDECB),
NRF_ECB_EVENT_ERRORECB = offsetof(NRF_ECB_Type, EVENTS_ERRORECB)
}
ECB events. More...
enum nrf_ecb_int_mask_t {
NRF_ECB_INT_ENDECB_MASK = ECB_INTENSET_ENDECB_Msk,
NRF_ECB_INT_ERRORECB_MASK = ECB_INTENSET_ERRORECB_Msk
}
ECB interrupts. More...

Functions

__STATIC_INLINE void nrf_ecb_task_trigger (NRF_ECB_Type *p_reg, nrf_ecb_task_t task)
Function for activating the specified ECB task. More...
__STATIC_INLINE uint32_t nrf_ecb_task_address_get (NRF_ECB_Type const *p_reg, nrf_ecb_task_t task)
Function for getting the address of the specified ECB task register. More...
__STATIC_INLINE void nrf_ecb_event_clear (NRF_ECB_Type *p_reg, nrf_ecb_event_t event)
Function for clearing the specified ECB event. More...
__STATIC_INLINE bool nrf_ecb_event_check (NRF_ECB_Type const *p_reg, nrf_ecb_event_t event)
Function for retrieving the state of the ECB event. More...
__STATIC_INLINE uint32_t nrf_ecb_event_address_get (NRF_ECB_Type const *p_reg, nrf_ecb_event_t event)
Function for getting the address of the specified ECB event register. More...
__STATIC_INLINE void nrf_ecb_int_enable (NRF_ECB_Type *p_reg, uint32_t mask)
Function for enabling the specified interrupts. More...
__STATIC_INLINE void nrf_ecb_int_disable (NRF_ECB_Type *p_reg, uint32_t mask)
Function for disabling the specified interrupts. More...
__STATIC_INLINE bool nrf_ecb_int_enable_check (NRF_ECB_Type const *p_reg, nrf_ecb_int_mask_t ecb_int)
Function for retrieving the state of a given interrupt. More...
__STATIC_INLINE void nrf_ecb_data_pointer_set (NRF_ECB_Type *p_reg, void const *p_buffer)
Function for setting the pointer to the ECB data buffer. More...
__STATIC_INLINE void * nrf_ecb_data_pointer_get (NRF_ECB_Type const *p_reg)
Function for getting the pointer to the ECB data buffer. More...

Detailed Description

Hardware access layer (HAL) for managing the Advanced Encryption Standard (AES) Electronic Codebook (ECB) peripheral.

Enumeration Type Documentation

ECB events.

Enumerator
NRF_ECB_EVENT_ENDECB

ECB block encrypt complete.

NRF_ECB_EVENT_ERRORECB

ECB block encrypt aborted because of a STOPECB task or due to an error.

ECB interrupts.

Enumerator
NRF_ECB_INT_ENDECB_MASK

Interrupt on ENDECB event.

NRF_ECB_INT_ERRORECB_MASK

Interrupt on ERRORECB event.

ECB tasks.

Enumerator
NRF_ECB_TASK_STARTECB

Task for starting the ECB block encryption.

NRF_ECB_TASK_STOPECB

Task for stopping the ECB block encryption.

Function Documentation

__STATIC_INLINE void* nrf_ecb_data_pointer_get ( NRF_ECB_Type const * p_reg )

Function for getting the pointer to the ECB data buffer.

Parameters
[in] p_reg Pointer to the peripheral register structure.
Returns
Pointer to the ECB data buffer.
__STATIC_INLINE void nrf_ecb_data_pointer_set ( NRF_ECB_Type * p_reg ,
void const * p_buffer
)

Function for setting the pointer to the ECB data buffer.

Note
The buffer has to be placed in the Data RAM region. For description of the data structure in this buffer, see the Product Specification.
Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] p_buffer Pointer to the ECB data buffer.
__STATIC_INLINE uint32_t nrf_ecb_event_address_get ( NRF_ECB_Type const * p_reg ,
nrf_ecb_event_t event
)

Function for getting the address of the specified ECB event register.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] event Requested event.
Returns
Address of the specified event register.
__STATIC_INLINE bool nrf_ecb_event_check ( NRF_ECB_Type const * p_reg ,
nrf_ecb_event_t event
)

Function for retrieving the state of the ECB event.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] event Event to be checked.
Return values
true The event has been generated.
false The event has not been generated.
__STATIC_INLINE void nrf_ecb_event_clear ( NRF_ECB_Type * p_reg ,
nrf_ecb_event_t event
)

Function for clearing the specified ECB event.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] event Event to clear.
__STATIC_INLINE void nrf_ecb_int_disable ( NRF_ECB_Type * p_reg ,
uint32_t mask
)

Function for disabling the specified interrupts.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] mask Interrupts to be disabled.
__STATIC_INLINE void nrf_ecb_int_enable ( NRF_ECB_Type * p_reg ,
uint32_t mask
)

Function for enabling the specified interrupts.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] mask Interrupts to be enabled.
__STATIC_INLINE bool nrf_ecb_int_enable_check ( NRF_ECB_Type const * p_reg ,
nrf_ecb_int_mask_t ecb_int
)

Function for retrieving the state of a given interrupt.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] ecb_int Interrupt to be checked.
Return values
true The interrupt is enabled.
false The interrupt is not enabled.
__STATIC_INLINE uint32_t nrf_ecb_task_address_get ( NRF_ECB_Type const * p_reg ,
nrf_ecb_task_t task
)

Function for getting the address of the specified ECB task register.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] task Requested task.
Returns
Address of the specified task register.
__STATIC_INLINE void nrf_ecb_task_trigger ( NRF_ECB_Type * p_reg ,
nrf_ecb_task_t task
)

Function for activating the specified ECB task.

Parameters
[in] p_reg Pointer to the peripheral register structure.
[in] task Task to be activated.