獲取真隨機數
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]);
結果
編譯固件后燒錄,可以看到隨機數輸出。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
驅動器
+關注
關注
54文章
9067瀏覽量
154935 -
環形振蕩器
+關注
關注
1文章
12瀏覽量
8900 -
電源噪聲
+關注
關注
3文章
169瀏覽量
18118 -
隨機數發生器
+關注
關注
0文章
23瀏覽量
11253 -
全志科技
+關注
關注
4文章
136瀏覽量
17586 -
R128
+關注
關注
0文章
41瀏覽量
409
發布評論請先 登錄
相關推薦
熱點推薦
如何在LTspice仿真中實現偽隨機數和真隨機數的生成
本文討論如何在LTspice仿真中利用flat()、gauss()和mc()函數來實現偽隨機數和真隨機數的生成,并介紹如何使用設置面板的Hacks部分中的 Use the clock
全志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
全志R128芯片應用開發案例——按鍵輸入
;);
}
}
結果
按下按鍵,串口會輸出 Key Pressed!
原貼鏈接:https://bbs.aw-ol.com/topic/4358/
資源獲取、問題討論可以到全志在線開發者社區進行:https://www
發表于 10-10 14:34
全志R128應用開發案例—獲取真隨機數






評論