HMAC驱动的结构体
hmac_init_t
HMAC驱动的初始化结构体hmac_init_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
uint32_t mode |
指定计算模式。 |
该参数的取值可以是下列值中的任意一个:
|
uint32_t *p_key |
指定密钥。 |
指向密钥的指针。 |
uint32_t *p_user_hash |
指定自定义初始哈希值。 |
指向初始哈希值的指针。 |
uint32_t dpa_mode |
安全模式使能标志。 |
该参数的取值可以是下列值中的任意一个:
|
| uint32_t key_fetch_type | Key的来源 | 该参数的取值可以是下列值中的任意一个:
|
| uint32_t enable_irq | 是否使能中断模式 | 该参数的取值可以是下列值中的任意一个:
|
| uint32_t enable_dma_mode | 是否使能DMA模式 | 该参数的取值可以是下列值中的任意一个:
|
hmac_handle_t
HMAC驱动的句柄结构体hmac_handle_t的定义如下:
| 数据域 | 域段描述 | 取值 |
|---|---|---|
|
hmac_regs_t * p_instance |
HMAC外设实例。 |
该参数的取值为HMAC。 |
|
hmac_init_t init |
初始化结构体。 |
参考hmac_init_t结构体。 |
|
uint32_t * p_message |
指向待计算的消息缓冲区的指针(无需开发者初始化)。 |
N/A |
|
uint32_t * p_digest |
指向计算结果缓冲区的指针(无需开发者初始化)。 |
N/A |
|
uint32_t block_size |
待计算消息块的大小(无需开发者初始化)。 |
该参数取值范围:1 ~ 512。 |
|
uint32_t block_count |
待计算消息块的计数(无需开发者初始化)。 |
初始化为block_size,计算过程中递减到0。 |
|
uint32_t is_last_trans |
最后计算块标志(无需开发者初始化)。 |
N/A |
|
__IO hal_lock_t lock |
HMAC锁(无需开发者初始化)。 |
N/A |
|
__IO hal_hmac_state_t state |
HMAC运行状态(无需开发者初始化)。 |
该参数的取值可以是下列值中的任意一个:
|
|
__IO uint32_t error_code |
HMAC错误码(无需开发者初始化)。 |
该参数的取值可以是下列值中的任意一个:
|
|
uint32_t timeout |
HMAC计算超时时间(无需开发者初始化)。 |
N/A |
|
uint32_t retention[17] |
保存HAMC寄存器信息(驱动负责管理,无需开发者初始化)。 |
N/A |