獲取真隨機數
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]);
結果
編譯固件后燒錄,可以看到隨機數輸出。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
驅動器
+關注
關注
52文章
8168瀏覽量
146051 -
環形振蕩器
+關注
關注
1文章
12瀏覽量
8701 -
電源噪聲
+關注
關注
3文章
149瀏覽量
17467 -
隨機數發生器
+關注
關注
0文章
21瀏覽量
11004 -
全志科技
+關注
關注
4文章
102瀏覽量
16079 -
R128
+關注
關注
0文章
41瀏覽量
99
發布評論請先 登錄
相關推薦
全志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
評論