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

RNG驱动的结构体

rng_init_t

RNG驱动的初始化结构体rng_init_t的定义如下:

表 478 rng_init_t结构体
数据域 域段描述 取值

uint32_t seed_mode

指定LFSR的种子方式

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

  • RNG_SEED_FR0_S0(LFSR种子来自开关振荡器s0)
  • RNG_SEED_USER(LFSR种子由用户配置)

uint32_t lfsr_mode

LFSR配置模式

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

  • RNG_LFSR_MODE_59BIT(59bit LFSR)
  • RNG_LFSR_MODE_128BIT(128bit LFSR)

uint32_t out_mode

随机数输出模式

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

  • RNG_OUTPUT_FR0_S0(数字RNG直接输出)
  • RNG_OUTPUT_CYCLIC_PARITY(LFSR和RNG循环采样和奇偶校验生成)
  • RNG_OUTPUT_CYCLIC(LFSR和RNG循环采样)
  • RNG_OUTPUT_LFSR_RNG(LFSR ⊕ RNG)
  • RNG_OUTPUT_LFSR(LFSR直接输出)
说明:

当seed_mode选择为RNG_SEED_USER时,out_mode不能选择为RNG_OUTPUT_FR0_S0。

uint32_t post_mode

后处理模式

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

  • RNG_POST_PRO_NOT(不进行处理)
  • RNG_POST_PRO_SKIPPING(跳位处理)
  • RNG_OUTPUT_CYCLIC(位计数处理)
  • RNG_OUTPUT_LFSR_RNG(冯纽曼处理)

rng_handle_t

RNG驱动的句柄结构体rng_handle_t的定义如下:

表 479 rng_handle_t结构体
数据域 域段描述 取值

rng_regs_t *p_instance

RNG外设实例

该参数的取值可以是RNG。

rng_init_t init

初始化结构体

参考rng_init_t结构体

__IO hal_lock_t lock

RNG锁(无需开发者初始化)

N/A

__IO hal_rng_state_t g_state

RNG运行状态(无需开发者初始化)

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

  • HAL_RNG_STATE_RESET(未初始化)
  • HAL_RNG_STATE_READY(已初始化且空闲)
  • HAL_RNG_STATE_BUSY(忙)
  • HAL_RNG_STATE_TIMEOUT(超时)
  • HAL_RNG_STATE_ERROR(错误)

uint32_t random_number

最后生成的随机数

取值范围:0x00000000 ~ 0xFFFFFFFF。

uint32_t retention[1]

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

N/A

扫描关注

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