CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

HMAC驱动的结构体

hmac_init_t

HMAC驱动的初始化结构体hmac_init_t的定义如下:

表 180 hmac_init_t结构体
数据域 域段描述 取值

uint32_t mode

指定计算模式。

该参数的取值可以是下列值中的任意一个:

  • HMAC_MODE_SHA(SHA模式)
  • HMAC_MODE_HMAC(HMAC模式)

uint32_t *p_key

指定密钥。

指向密钥的指针。

uint32_t *p_user_hash

指定自定义初始哈希值。

指向初始哈希值的指针。

uint32_t dpa_mode

安全模式使能标志。

该参数的取值可以是下列值中的任意一个:

  • ENABLE(使能)
  • DISABLE(禁能)
uint32_t key_fetch_type Key的来源 该参数的取值可以是下列值中的任意一个:
  • HAL_HMAC_KEYTYPE_MCU(MCU配置)
  • HAL_HMAC_KEYTYPE_AHB(来自AHB)
  • HAL_HMAC_KEYTYPE_KRAM(来自KERAM)
uint32_t enable_irq 是否使能中断模式 该参数的取值可以是下列值中的任意一个:
  • HAL_HMAC_ENABLE_IRQ(使能IRQ)
  • HAL_HMAC_DISABLE_IRQ(禁能IRQ)
uint32_t enable_dma_mode 是否使能DMA模式 该参数的取值可以是下列值中的任意一个:
  • HAL_HMAC_ENABLE_DMA(使能DMA)
  • HAL_HMAC_DISABLE_DMA(禁能DMA)

hmac_handle_t

HMAC驱动的句柄结构体hmac_handle_t的定义如下:

表 181 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运行状态(无需开发者初始化)。

该参数的取值可以是下列值中的任意一个:

  • HAL_HMAC_STATE_RESET(未初始化)
  • HAL_HMAC_STATE_READY(已初始化且空闲)
  • HAL_HMAC_STATE_BUSY(忙)
  • HAL_HMAC_STATE_ERROR(错误)
  • HAL_HMAC_STATE_TIMEOUT(超时)
  • HAL_HMAC_STATE_SUSPENDED(已挂起)

__IO uint32_t error_code

HMAC错误码(无需开发者初始化)。

该参数的取值可以是下列值中的任意一个:

  • HAL_HMAC_ERROR_NONE(无错误)
  • HAL_HMAC_ERROR_TIMEOUT(超时)
  • HAL_HMAC_ERROR_TRANSFER(传输错误
  • HAL_HMAC_ERROR_INVALID_PARAM(非法参数)

uint32_t timeout

HMAC计算超时时间(无需开发者初始化)。

N/A

uint32_t retention[17]

保存HAMC寄存器信息(驱动负责管理,无需开发者初始化)。

N/A

扫描关注

打开微信,使用“扫一扫”即可关注。