首頁(yè) > 評(píng)測(cè) > 【NUCLEO-STM32C0測(cè)評(píng)】+STM32C0之CoreMark跑分

【NUCLEO-STM32C0測(cè)評(píng)】+STM32C0之CoreMark跑分

  
  • 作者:
  • 來(lái)源:
  • [導(dǎo)讀]
  • 本帖最后由 yangjiaxu 于 2023-4-1 21:52 編輯 #申請(qǐng)?jiān)瓌?chuàng)# @21小跑堂 @21ic小管家 今天拿到意法半導(dǎo)體新發(fā)布的STM32C0了,非常開(kāi)心,所以,在這里給大家分享一下新開(kāi)發(fā)板的開(kāi)發(fā)流程吧。首先打開(kāi)cubemx,現(xiàn)

本帖最后由 yangjiaxu 于 2023-4-1 21:52 編輯
#申請(qǐng)?jiān)瓌?chuàng)# @21小跑堂 @21ic小管家


今天拿到意法半導(dǎo)體新發(fā)布的STM32C0了,非常開(kāi)心,所以,在這里給大家分享一下新開(kāi)發(fā)板的開(kāi)發(fā)流程吧。

首先打開(kāi)cubemx,現(xiàn)在新發(fā)布的ST的MCU基本上都不提供標(biāo)準(zhǔn)庫(kù)了,都是以hal或者是LL庫(kù)來(lái)實(shí)現(xiàn)開(kāi)發(fā)的,好在ST在這方面考慮周到,為廣大用戶提供了cubemx來(lái)實(shí)現(xiàn)hal的基礎(chǔ)配置,讓大家專心開(kāi)發(fā)應(yīng)用方面的業(yè)務(wù)就好了。
1 創(chuàng)建一個(gè)工程
在篩選處輸入想要?jiǎng)?chuàng)建的MCU的工程,軟件就可以很容易的做出響應(yīng)的配置。
2 搜索STM32C0
搜索選中之后,就可以按步驟操作了,就可以了,由于我第一次使用C0,所以需要安裝與C0相關(guān)的一些配置工具,在這里選擇安裝即可。稍等片刻就可以安裝成功。
3 安裝STM32C0插件
當(dāng)安裝成功之后,就可以進(jìn)行創(chuàng)建工程和一些外設(shè)配置了,本次以CoreMark跑分為例,進(jìn)行工程創(chuàng)建移植講解。創(chuàng)建好的工程打開(kāi)之后,就如圖4所示。
4 STM32C0工程樣式
打開(kāi)工程之后,其實(shí)coremark主要應(yīng)用就是時(shí)鐘與串口,所以在這里配置好串口就行,然后就是配置時(shí)鐘,為了時(shí)跑分可以得到最大數(shù)據(jù),在這里需要將主頻設(shè)置為最高,官方介紹C0最高主頻為48MHz,所以將時(shí)鐘配置為48MHz即可。
5 STM32C0時(shí)鐘配置
配置完成之后,其實(shí)基本就可以生成工程了,本次使用的是keil進(jìn)行開(kāi)發(fā),所以這里選擇使用keil的即可,在編譯鏈(Toolchain/IDE)選擇MDK-ARM。然后其他先可以不設(shè)置,直接創(chuàng)建工程就可以了。
6 STM32C0輸出配置
創(chuàng)建成功的界面如圖7所示,其實(shí)就是創(chuàng)建完成之后提示你是否要打開(kāi)文件,這就跟隨自己的習(xí)慣就可以了。至此,基礎(chǔ)的串口輸出工程就配置好了。
接下來(lái)就是將coremark移植到C0的工程之中了。
移植可以參考一下香水城大佬的帖子,https://bbs.21ic.com/icview-1570578-1-20.html寫的已經(jīng)比較細(xì)致了,所以我就不在這里過(guò)多贅述了,主要講講遇到的問(wèn)題以及解決方法吧。
問(wèn)題1
MCU編譯成功沒(méi)有錯(cuò)誤沒(méi)有警告,但是仿真是進(jìn)入到硬件中斷的問(wèn)題。
答:這個(gè)問(wèn)題比較有意思,為什么會(huì)進(jìn)入到硬件中斷呢,一般情況是因?yàn)槎褩TO(shè)置不合理導(dǎo)致的,這里如果想詳細(xì)了解就需要多看看書了,因?yàn)槲乙矝](méi)弄很懂,解決方法就是在.s啟動(dòng)文件之中,修改堆棧的大小即可。
7 STM32C0進(jìn)入到硬件中斷的解決方法之一
問(wèn)題2
仿真都可以通過(guò)了,也能輸出數(shù)據(jù),但是為什么串口沒(méi)有接收到呢?
答:其實(shí)這個(gè)就有點(diǎn)意思了,這個(gè)跟硬件有點(diǎn)關(guān)系,STlink是可以虛擬出來(lái)一個(gè)串口的,但是這個(gè)串口默認(rèn)接在了串口2上,如圖8和圖9所示。所以想要用串口輸出展現(xiàn)出來(lái)就需要修改串口通信的底層函數(shù)或者是再用一個(gè)串口工具連接串口1的端口上即可。在這里我選擇的是第二種方式,也就是用另個(gè)串口模塊接在了PB6PB7上,就可以正常接收串口數(shù)據(jù)了。
8 STM32C0串口硬件接線方式(1
9 STM32C0串口硬件接線方式(2
至此,針對(duì)CoreMark的移植基本就結(jié)束了,接下來(lái)可以看看跑分情況,通過(guò)圖10可以看到跑分結(jié)果為49.836647,我重復(fù)測(cè)試了3次,結(jié)果都與這個(gè)數(shù)據(jù)相近,所以就取一個(gè)中間值吧,48MHz的主頻,M0+的內(nèi)核,其實(shí)看跑分的情況來(lái)說(shuō),數(shù)據(jù)還是很好的,MCU的性能完全可以,針對(duì)電機(jī)控制和一些小家電方面的產(chǎn)品完全可以勝任。
10 STM32C0CoreMark的跑分情況

 

從以上測(cè)試結(jié)果來(lái)看,C0真的可以,就是不知道現(xiàn)在的批量含稅價(jià)格如何,如果價(jià)格也很有優(yōu)勢(shì)的話,真的就極具性價(jià)比了。最后感謝ST贈(zèng)送的C0開(kāi)發(fā)板,感謝21ic這個(gè)優(yōu)質(zhì)平臺(tái),感謝給力的管理員。最后分享一下CoreMark的工程,歡迎大家來(lái)玩哦。 STM32C0_CoreMark.rar (1.08 MB)





  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開(kāi)放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+