本文來源電子發燒友社區,作者: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文章
85瀏覽量
5989 -
開發板試用
+關注
關注
3文章
303瀏覽量
2745
發布評論請先 登錄
相關推薦
熱點推薦
【瑞薩RA6E2地奇星開發板試用】+ 5.瑞薩RA6E2地奇星開發板coremark跑分測試313分
瑞薩RA6E2地奇星開發板這款開發板性能很強的,是ARM cortex M33內核,主頻200MHZ,Flash 256KB,40-KB SRAM,這可比STM32的F4都要強不少,因此特別想測試
發表于 12-09 17:18
【獲獎名單】2025開發板評測大賽優秀開發者、最受歡迎開發板公布
各位發燒友們,大家好!2025開發板試用評測大賽已圓滿落幕。經過廠商與發燒友平臺的共同評選,優秀作品及人選名單現已評選完成,共選出24位優秀作品開發者,被評選上的用戶將獲得榮譽證書。各工程師參與完
發表于 11-21 09:31
【作品合集】視美泰M-K1HSE、3568開發板測評
Pi BPI-RV2開發板測評作品合集
第十四期合集 : 玄鐵BPI-CanMV-K230D-Zero開發板測評作品合集
第十五期合集 : 中科昊
發表于 09-22 10:32
【作品精選】2025電子發燒友開發板測評大賽作品合集!
Milk-V Duo S 開發板免費試用
玄鐵Banana Pi BPI-RV2開發板試用
玄鐵Banana Pi BPI-CanMV-K230D-Zero17
發表于 09-03 15:24
【中科昊芯Core_DSC280025C開發板試用體驗】+4. CAN外設調試(含源碼)
前言
大家好,非常感謝電子發燒友與中科昊芯提供的DSC280025C開發板,這是一款DSP的開發板
發表于 08-05 20:46
【GM-3568JHF開發板免費體驗】GM-3568JHF的coremark跑分5007分
coremark進入目錄
輸入make編譯
二、跑分
輸入./coremark.exe
可以看到最終 視美泰GM-3568JHF 最后跑
發表于 07-22 17:32
【中科昊芯Core_DSC280025C開發板試用體驗】+3.DSP基礎外設調試(含源碼)
前言
大家好,非常感謝電子發燒友與中科昊芯提供的DSC280025C開發板,這是一款DSP的開發板
發表于 07-13 16:07
【中科昊芯Core_DSC280025C開發板試用體驗】+2.RAM工程與FLASH工程對比
前言
大家好,非常感謝電子發燒友與中科昊芯提供的DSC280025C開發板,這是一款DSP的開發板
發表于 07-04 10:37
【中科昊芯Core_DSC280025C開發板試用體驗】+1.開箱之浮點計算對比
【中科昊芯Core_DSC280025C開發板試用體驗】+1.開箱之浮點計算對比
前言
大家好,
發表于 06-29 10:01
中科昊芯DSP產品及公司信息
庫和驅動庫,幫助用戶降低遷移成本,縮短開發周期。同時,公司還推出了多種開發板和核心板,如Core_DSC28027和Start_DSC280
發表于 04-07 09:16
【中科昊芯Start_DSC28027勇士開發板試用體驗】CoreMark跑個分
評論