获取真随机数
R128 内置了TRNG,一个真随机数发生器,随机源是 8 路独立的环形振荡器,由interwetten与威廉的赔率体系 器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出128bit真随机数。
载入方案
我们使用的开发板是 R128-Devkit,需要开发 C906 核心的应用程序,所以载入方案选择r128s2_module_c906
$ source envsetup.sh
$ lunch_rtos 1
设置 TRNG驱动
运行 mrtos_menuconfig
进入配置页面。前往下列地址找到 TRNG Devices
Drivers Options --- >
soc related device drivers --- >
TRNG Devices --- >
-*- enable trng driver
编写程序
打开你喜欢的编辑器,修改文件:lichee/rtos/projects/r128s2/module_c906/src/main.c
引入头文件
#include < sunxi_hal_trng.h >
初始化 TRNG 读取数据模块
uint32_t random[4] = {0};
HAL_TRNG_Extract(0, random); // 读取 CRC 模式
printf("trng CRC result: 0x%08x 0x%08x 0x%08x 0x%08xn", random[0], random[1], random[2], random[3]);
HAL_TRNG_Extract(1, random); // 读取 XOR 模式
printf("trng XOR result: 0x%08x 0x%08x 0x%08x 0x%08xn", random[0], random[1], random[2], random[3]);
结果
编译固件后烧录,可以看到随机数输出。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
驱动器
+关注
关注
52文章
8227浏览量
146258 -
环形振荡器
+关注
关注
1文章
12浏览量
8703 -
电源噪声
+关注
关注
3文章
151浏览量
17474 -
随机数发生器
+关注
关注
0文章
21浏览量
11008 -
全志科技
+关注
关注
4文章
104浏览量
16094 -
R128
+关注
关注
0文章
41浏览量
105
发布评论请先 登录
相关推荐
全志R128 Devkit开发板原理图模块介绍及使用说明
:CH341SER.EXE
购买链接
百问科技淘宝店 - 全志R128 DevKit
原理图模块介绍R128 模组R128 模组使用 SMT
发表于 01-17 09:45
全志R128 SDK HAL 模块开发指南之 TRNG
TRNG
TRNG是真随机数发生器,随机源是8 路独立的环形振荡器,由模拟器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出128bit
发表于 04-24 09:42
关于STM32真随机数算法的问题
rand是伪随机数,真随机数配合定时器time()计算产生随机数,但是如果我想上电初始化的时候要产生一个随机数怎么做,单片机每次上电时间都是
发表于 11-13 10:12
想要在STM32每次上电初始化时产生真随机数,该如何设置?
rand是伪随机数,真随机数配合定时器time()计算产生随机数,但是如果我想上电初始化的时候要产生一个随机数怎么做,单片机每次上电时间都是
发表于 11-28 15:24
全志R128芯片应用开发案例——按键输入
;);
}
}
结果
按下按键,串口会输出 Key Pressed!
原贴链接:https://bbs.aw-ol.com/topic/4358/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www
发表于 10-10 14:34
评论