获取真随机数
R128 内置了TRNG,一个真随机数发生器,随机源是 8 路独立的环形振荡器,由模拟器件电源噪声产生频率抖动,用低频始终重采样,然后进行弹性抽取和熵提取处理,最终输出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]);
结果
编译固件后烧录,可以看到随机数输出。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
驱动器
+关注
关注
51文章
7308浏览量
142942 -
环形振荡器
+关注
关注
1文章
11浏览量
8650 -
电源噪声
+关注
关注
3文章
140浏览量
17345 -
随机数发生器
+关注
关注
0文章
20浏览量
10944 -
全志科技
+关注
关注
4文章
90浏览量
15858 -
R128
+关注
关注
0文章
41浏览量
28
发布评论请先 登录
相关推荐
全志R128 DSP开发工具安装教程
下的 dsp_raw.bin 拷贝到 R128 根SDK 下的 board/r128s/xxx/bin/ 下,并重命名为rtos_dsp_sun20iw2p1.fex。
R128 SDK 下重新打包烧录,即可
发表于 12-28 17:21
全志R128硬件设计指南①
硬件系统框图R128是一颗专为“音视频解码”而打造的全新高集成度 SoC,主要应用于智能物联和专用语音交互处理解决方案。
单片集成 MCU+RISCV+DSP+CODEC+WIFI/BT+PMU
发表于 01-04 09:23
全志R128 SDK架构与目录结构
R128 S2 是全志提供的一款 M33(ARM)+C906(RISCV-64)+HIFI5(Xtensa) 三核异构 SoC,同时芯片内部 SIP 有 1M SRAM、8M LSPSRAM、8M
发表于 01-05 10:05
全志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
【LinkIt 7687试用体验】8.加密算法中真随机数的产生方法
的事情。Linkit自带真随机数的产生方法,该方法是通过硬件层面进行的随机数产生,而不像是使用软件进行运算,这样得到的随机数更具有不确定性,我们给每一个加密的数据用不一样的序列解密,更
发表于 12-17 11:11
关于STM32真随机数算法的问题
rand是伪随机数,真随机数配合定时器time()计算产生随机数,但是如果我想上电初始化的时候要产生一个随机数怎么做,单片机每次上电时间都是
发表于 11-13 10:12
想要在STM32每次上电初始化时产生真随机数,该如何设置?
rand是伪随机数,真随机数配合定时器time()计算产生随机数,但是如果我想上电初始化的时候要产生一个随机数怎么做,单片机每次上电时间都是
发表于 11-28 15:24
Arm真随机数发生器(TRNG)表征应用说明
本章概述ARM®真随机数生成器(TRNG)及其特性。
ARM®真随机数生成器(TRNG)从物理熵源收集熵,物理熵源是能够生成不可预测或随机输
发表于 08-29 07:19
全志R128芯片应用开发案例——驱动 WS2812 流水灯
灯
原贴链接:https://bbs.aw-ol.com/topic/4368/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全
发表于 10-10 14:08
全志R128芯片应用开发案例——按键输入
;);
}
}
结果
按下按键,串口会输出 Key Pressed!
原贴链接:https://bbs.aw-ol.com/topic/4358/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www
发表于 10-10 14:34
评论