本文來源電子發燒友社區,作者:xiaopeng, 帖子地址:https://bbs.elecfans.com/jishu_2289640_1_1.html
提起MCU性能測試,最著名的就是CoreMark和Dhrystone。
CoreMark以每秒迭代次數作為性能評價,而Dhrystone的DMIPS與Dhrystone標準相關。
本文討論CoreMark,先來看看MCU廠家如何宣傳自家產品性能。
CoreMark是衡量嵌入式系統中微控制器性能的基準。通過包含列表處理(查找和排序)、矩陣處理(常見的矩陣操作)、狀態機(確定輸入流是否包含有效數字)和CRC(循環冗余校驗)等算法的測試給出性能評價。
本文將演示如何將CoreMark移植到中科昊芯勇士DSP開發板上。
移植之前想要準備好一個基礎工程,包括功能:①串口打印; ②定時器功能
因為在上一篇中已經把串口調通了,本次就基于上一篇的工程進行移植。
**CoreMark源碼下載
CoreMark源代碼是免費開源的,可以自己在其官網上進行自由下載:CoreMark官網
**將源代碼添加到準備好的串口工程
**添加頭文件路徑
因為我們新建了CoreMark文件夾,所以需要將其加入的頭文件包含路徑中。
**添加硬件初始化代碼
CoreMark源代碼里面portable_init函數實在main函數里進行調用的,portable_init是用來做一些初始化工作的,所以我們可以把硬件相關的初始代碼直接添加到這行函數的開始。
**修改計時相關的代碼
start_time/ stop_time/ get_time這幾個函數,是coremark程序運行時計算程序運行時間所用。這里使用cputimer0進行計時,cputimer0配置為1ms的中斷間隔。cputimer0中斷函數中更新Tick的值,每進一次中斷加1。所以還需要修改cputimer0的中斷處理函數。
修改后代碼如下:
**設置迭代次數
**設置打印信息
**調整優化等級
貌似我調不調不影響結果
**printf重定向
CoreMark源代碼里使用宏ee_printf進行數據打印,因此我對該宏進行了重新定義:
**將數組stack_memblock變成全局變量【重要】
CoreMark源代碼中,數組tack_memblock是在main函數中進行定義的,大小是2k。但是由于勇士027芯片的stack定義的大小也是2k,所以不改成全局變量,會導致棧溢出,程序無法運行。
**編譯下載運行
我大概與其它mcu做了一下對比,這個分數大概比Cortex-M3強點,比cortex-M4弱點,算是一款入門級的dsp芯片,當然這個跑分還與很多因素有關系,這里僅供參考。
提起MCU性能測試,最著名的就是CoreMark和Dhrystone。
CoreMark以每秒迭代次數作為性能評價,而Dhrystone的DMIPS與Dhrystone標準相關。
本文討論CoreMark,先來看看MCU廠家如何宣傳自家產品性能。

CoreMark是衡量嵌入式系統中微控制器性能的基準。通過包含列表處理(查找和排序)、矩陣處理(常見的矩陣操作)、狀態機(確定輸入流是否包含有效數字)和CRC(循環冗余校驗)等算法的測試給出性能評價。
本文將演示如何將CoreMark移植到中科昊芯勇士DSP開發板上。
移植之前想要準備好一個基礎工程,包括功能:①串口打印; ②定時器功能
因為在上一篇中已經把串口調通了,本次就基于上一篇的工程進行移植。
**CoreMark源碼下載
CoreMark源代碼是免費開源的,可以自己在其官網上進行自由下載:CoreMark官網
**將源代碼添加到準備好的串口工程

**添加頭文件路徑
因為我們新建了CoreMark文件夾,所以需要將其加入的頭文件包含路徑中。

**添加硬件初始化代碼
CoreMark源代碼里面portable_init函數實在main函數里進行調用的,portable_init是用來做一些初始化工作的,所以我們可以把硬件相關的初始代碼直接添加到這行函數的開始。

**修改計時相關的代碼
start_time/ stop_time/ get_time這幾個函數,是coremark程序運行時計算程序運行時間所用。這里使用cputimer0進行計時,cputimer0配置為1ms的中斷間隔。cputimer0中斷函數中更新Tick的值,每進一次中斷加1。所以還需要修改cputimer0的中斷處理函數。
修改后代碼如下:




**設置迭代次數

**設置打印信息

**調整優化等級
貌似我調不調不影響結果
**printf重定向
CoreMark源代碼里使用宏ee_printf進行數據打印,因此我對該宏進行了重新定義:

**將數組stack_memblock變成全局變量【重要】
CoreMark源代碼中,數組tack_memblock是在main函數中進行定義的,大小是2k。但是由于勇士027芯片的stack定義的大小也是2k,所以不改成全局變量,會導致棧溢出,程序無法運行。
**編譯下載運行

我大概與其它mcu做了一下對比,這個分數大概比Cortex-M3強點,比cortex-M4弱點,算是一款入門級的dsp芯片,當然這個跑分還與很多因素有關系,這里僅供參考。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
中科昊芯
+關注
關注
5文章
82瀏覽量
5466 -
開發板試用
+關注
關注
3文章
301瀏覽量
2330
發布評論請先 登錄
相關推薦
熱點推薦
基于RK處理器,創龍TL3562-MiniEVM開發板試用體驗
數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費

性能強悍!合眾HZ-RK3568開發板試用體驗
月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費

有獎丨米爾 NXP i.MX91開發板免費試用來啦
米爾與NXP合作發布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發板發起試用活動您不僅可以免費體

2025電子發燒友開發板評測大賽開啟!三大賽道火力全開,頂級開發板等你來戰!
開發板免費試用https://bbs.elecfans.com/try_CF5010RBT60.html
【RISC-V專題】中科昊芯Cor
發表于 05-15 15:09
中科昊芯DSP產品及公司信息
庫和驅動庫,幫助用戶降低遷移成本,縮短開發周期。同時,公司還推出了多種開發板和核心板,如Core_DSC28027和Start_DSC280
發表于 04-07 09:16
有獎丨米爾 瑞芯微YR3562開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562

【正點原子STM32H7R3開發套件試用體驗】CoreMark跑分測試
一個,自定義了一個,改一下coremark定義main函數,放在自定義函數中調用:
主函數:
下載代碼,運行,查看串口輸出:
實際跑分遠
發表于 12-28 23:13
【敏矽微ME32G070開發板免費體驗】使用coremark測試敏矽微ME32G070 跑分
收到敏矽微ME32G070分開發板有3天了,一直想知道這個MCU的性能怎樣?就像平時買新電腦后,就會用魯大師來測個分數,今天我就使用coremark來測試下敏矽微ME32G070這款MCU的分數能力
發表于 12-19 12:09
【RA-Eco-RA4E2-64PIN-V1.0開發板試用】CoreMark測試RA4E2 單片機CPU性能分數
CoreMark是一個專門用來測試CPU性能的程序。類似電腦上面的魯大師測試電腦跑分多少。
本期測評就是來講解CoreMark移植到瑞薩R
發表于 12-14 12:05
追加名額丨米爾瑞芯微RK3576開發板有獎試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動加碼啦~~米爾追加了2塊價值849元的MYD-LR3576

有獎丨米爾 瑞芯微RK3576開發板免費試用
米爾與瑞芯微合作發布的新品基于瑞芯微RK3576應用處理器的MYD-LR3576開發板免費試用活動來啦~~米爾提供了7塊價值849元的MYD-LR3576

【龍芯2K0300蜂鳥板試用】+5.CoreMark跑分
CC=loongarch64-linux-gnu-gcc link
接下來將編譯的庫傳遞到開發板,傳遞這里直接使用scp遠程上傳就行,添加可執行權限,運行
發表于 08-18 22:06
評論