你好,
如何调用trng_acquire.功能吧?
我不知道我在哪里得到地址uint8_t * sram_puf。
是否有任何演示申请或参考实施?
/ ** **************************************************************************************** * @brief Acquires 128 random bits using uninitialized RAM data. * * @param[out] trng_bits_ptr Pointer to the buffer where random data will be stored. * @note Its address must be aligned to 32 bits. * @param[in] sram_puf Pointer to the base address of the uninitialized SRAM area. * @note Its address must be aligned to 32 bits. * @param[in] sram_puf_blocks Number of 16byte blocks to use (28 minimum). * @return Status code **************************************************************************************** */ uint8_t trng_acquire(uint8_t *trng_bits_ptr, uint8_t *sram_puf, const uint16_t sram_puf_blocks);
关键词:
设备:
嗨Firefox2005.
请检查调用trng_acquire()的init_rand_seed_from_trng()。没有任何示例,但是为什么不使用init_rand_seed_from_trng()以使用从TRNG获取的随机位初始化随机数生成器种子?trng_aquire()的目的是为随机函数进行种子。
谢谢,PM_DIALOG.
你好,
所以我错过了这个功能......
在这种情况下,我只需要init_rand_seed_from_trng();并使用生成的随机值初始化例如。这srand(trng_state_val);功能和调查某些随机数兰德();
但如果我重新启动相同的固件构建,我确实会在又一次地始终出现相同的随机数。我不认为这是正确的。
我什么时候必须重新初始化init_rand_seed_from_trng();再次?
为什么是trng_aquire(...)功能不是静态,如果我不必在trng.c中使用它?
谢谢你到目前为止
你好呀,
你得到的随机数是多少?Coudl你可以分享结果吗?
谢谢,PM_DIALOG.
如果我重新加载并启动固件,我总是得到相同的输出。这不应该在我看来。
代码:
控制台输出:
你好呀,
谢谢你的意见。让我查看提供的代码片段,我会恢复潮流。
谢谢,PM_DIALOG.
你好呀,
我为混乱道歉。如果在da1458x_config_advanced.h中定义了cfg_trng宏,则SDK将自动调用init_rand_seed_from_trng()。请在ARCH_SYSTEM.C文件中检查第1324行。这意味着SDK将自动初始化随机数生成器种子。如果要生成随机数,则只需使用RAND()函数即可。
谢谢,PM_DIALOG.