獲取真隨機數(shù)
R128 內置了TRNG,一個真隨機數(shù)發(fā)生器,隨機源是 8 路獨立的環(huán)形振蕩器,由模擬器件電源噪聲產生頻率抖動,用低頻始終重采樣,然后進行彈性抽取和熵提取處理,最終輸出128bit真隨機數(shù)。
載入方案
我們使用的開發(fā)板是 R128-Devkit,需要開發(fā) 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 讀取數(shù)據(jù)模塊
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]);
結果
編譯固件后燒錄,可以看到隨機數(shù)輸出。
-
驅動器
+關注
關注
54文章
9003瀏覽量
153180 -
環(huán)形振蕩器
+關注
關注
1文章
12瀏覽量
8882 -
電源噪聲
+關注
關注
3文章
169瀏覽量
18046 -
隨機數(shù)發(fā)生器
+關注
關注
0文章
23瀏覽量
11230 -
全志科技
+關注
關注
4文章
133瀏覽量
17305 -
R128
+關注
關注
0文章
41瀏覽量
389
發(fā)布評論請先 登錄

全志R128應用開發(fā)案例—獲取真隨機數(shù)






評論