首頁 > 評測 > 又一款IoT開發(fā)板-ADICUP3029開發(fā)板評測
又一款IoT開發(fā)板-ADICUP3029開發(fā)板評測
- [導讀]
- 最近在深圳的嵌入式展上,MOUSER攜手ADI等廠牌推出現(xiàn)場免費送開發(fā)板的活動,筆者也去薅了一把羊毛。ADI的板子,平常大家應該接觸的不多,從ADICUP3029來管窺一豹吧。
評測方面代碼移植沒有什么可講的, 因為屬于標準代碼.這里只把結果貼出來:
Without Microlib:
Microseconds for one run through Dhrystone[30-4730]: 15.7
Dhrystones per Second: 63829.8
With Microlib:
Microseconds for one run through Dhrystone[29-6509]: 21.6
Dhrystones per Second: 46296.3
這個結果符合一般Cortex M3內核的性能,至于與其他處理器對比,就留給讀者自己去進行了.另外作者還做了Coremark的評測移植,限于篇幅這里贅述.感興趣的讀者可以去文末的Git頁面中下載相關代碼進一步研究.
Demo3:硬件SHA計算例子評測
隨著IoT應用逐漸展開,還有最近比特幣的瘋狂走勢,相信很多程序員開始更深入研究加密算法與Hash算法.SHA256屬SHA2的一種,簡單來講是計算Hash值的一種算法.特點是結果與原數(shù)據(jù)相關極小,且原始數(shù)據(jù)的些微變動能引起結果的巨大改變.比如看下面的例子:
SHA256("The quick brown fox jumps over the lazy dog")
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
SHA256 ("The quick brown fox jumps over the lazy dog.")
ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c
這些特點使得SHA算法廣泛應用在當今的加密通信中.很多人下載大文件之后會比較其sha或者md5值來驗證是否下載完整或者未被改動的文件,這是sha算法的一種簡單應用.
如果用軟件實現(xiàn)SHA256算法,對于嵌入式平臺來講最大問題是性能.在加密通信過程中,SHA算法往往要反復執(zhí)行.所以ADuCM3029這個芯片內置了硬件加速模塊,這里看看如何使用這個模塊來計算SHA256值. 首先準備三個測試用例,后面用以驗證計算結果:
具體使用硬件加速器的簡要步驟:
/* Open the crypto device */
eResult = adi_crypto_Open(CRYPTO_DEV_NUM, DeviceMemory, sizeof(DeviceMemory), &hDevice);
…
/* Register Callback */
eResult = adi_crypto_RegisterCallback (hDevice, CryptoCallback, NULL);
…
/* Format SHA message 1 */
SHA_FormatInput(
Sha1_Message ,
sizeof(Sha1_Message)*8u,
Sha1_FormattedMessage,
sizeof(Sha1_FormattedMessage)*8u
);
這里為什么要對輸入進行格式化呢,因為ADuCM302x的SHA硬件加速器需要的數(shù)據(jù)的字序與輸入的數(shù)據(jù)字序不同且不能在線調整字序,導致需要重新排列一下子.后來的產(chǎn)品改進了這點,使用起來更方便.這個可以說是ADuCM302x的一個小bug.
/* Submit the buffer for SHA hashing */
eResult = adi_crypto_SubmitBuffer (hDevice, &Buffer1);
/* Enable the device */
eResult = adi_crypto_Enable (hDevice, true);
/* retrieve the submitted buffer from the driver */
eResult = adi_crypto_GetBuffer (hDevice, &pGottenBuffer);
/* Disable the device */
eResult = adi_crypto_Enable (hDevice, false);
簡單來講,就是把數(shù)據(jù)格式化為加速器所需要的格式,提交給它,再等輸出即可.
與前面的代碼一樣,請到文末的連接中下載此例程的完整工程代碼.
Cross Core Embedded Studio篇
這個工具是ADI公司自己推出的開發(fā)工具,目的是兼容ADI所有器件的開發(fā).風格上來說是Eclipse的,所以界面操作也不需要再次熟悉的過程.唯一有點小問題的是正式版本要花錢買,對于自己DIY或者預算有限的微小公司,價格不能算便宜.好在ADI公司考慮到了這一點,在這個開發(fā)板中附帶了一個有限版本License.用這個License就可以使用Studio來開發(fā)ADICUP3029.
圖 開發(fā)板專用License
下載安裝不用說了,第一次運行需要輸入License:
圖 輸入License
一路next下來就可以了.但是安裝注冊成功現(xiàn)在還不能開發(fā)這個芯片,因為它的支持包還沒有被安裝.這個支持包跟Keil MDK的是一樣子的,理論上直接導入MDK的支持包即可.但是為了便于描述,還是通過Studio這個工具來下載.
圖 這個菜單很隱晦
圖 連圖標也跟Keil MDK中的一樣的CMSIS Package Manager
打開這個界面,安裝什么就跟Keil MDK的操作一樣了.感到有點奇怪的是,其他公司的支持包也列在上面了,如果安裝了其他公司的支持包是否也能用這個工具來開發(fā)相應芯片呢?限于篇幅原因,作者這里不節(jié)外生枝了.
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設計
預算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預算:¥5000023小時前
- PLC項目調試修改
預算:¥100001天前
- 起動電機控制器開發(fā)
預算:¥1100001天前