芯昇科技CM32M433R-START開箱評測
CM32M433R-START開箱評測
1.概述
中國移動芯昇科技發(fā)布CM32M4xxR,該芯片基于RISC-V內(nèi)核的MCU,性能主要對標(biāo)Cortex-M4。如今RISC-V架構(gòu)的通用MCU在市場上也并不少見,但是該芯片也有其自己的特點,在探索應(yīng)用領(lǐng)域方面也有自己獨特的設(shè)計。
最開始拿到CM32M433R-START這個板子,板子設(shè)計簡單,接口很多,但是板載資源比較少,與前幾年比較熱門的物聯(lián)網(wǎng)開發(fā)板不太一樣,從芯片CM32M4xxR的特點上來說,主頻是144MHz,待機功耗3uA,動態(tài)功耗113uA/MHz。
資源方面,可以查看下面的圖表
特性 | 資源 |
---|---|
內(nèi)核 | 芯來科技N308內(nèi)核(RV32IMACFSPU) |
主頻 | 144MHz |
存儲 | 內(nèi)置512KB Flash、144KB SRAM |
U(S)ART | 3 * USART、4*UART |
SPI | 3 |
QSPI | 1 |
I2C | 4 |
CAN | 2 |
XFMC | 1 |
ADC | 4 |
GPIO | 最多97 |
DMA | 2 |
WWDG | 1 |
IWDG | 1 |
定時器 | 2*高級定時器,4*通用定時器 |
從上面的表格來看,主要值得關(guān)注的是riscv擴展架構(gòu),支持除了一般RISCV都會支持的RV32IMAC,另外還有F(單精度浮點),S(監(jiān)督模式Supervisor Mode),U(用戶模式User Mode),P(DSP)。支持了這些擴展,賦予了該芯片特殊的用途。當(dāng)加入了S與U擴展,可以做TEE,安全加密等用途,而P擴展的加入,賦予了該MCU多媒體計算加速功能。在應(yīng)用領(lǐng)域方面。官方宣傳應(yīng)用領(lǐng)域主要是:智能門鎖、物聯(lián)網(wǎng)網(wǎng)關(guān)、交互面板、測控終端、學(xué)生教育、消費電子相關(guān)領(lǐng)域。
2.上手體驗
CM32M433R-START只需要接上Micro USB與電腦相連,即可實現(xiàn)板子程序下載與串口調(diào)試功能,不需要額外的串口模塊與額外的調(diào)試器。其實是CM32M433R-START板載了調(diào)試芯片,支持了調(diào)試功能。其原始接口支持4-wire JTAG與2-wire JTAG調(diào)試接口。支持J-Link硬件與RV-Link調(diào)試器。
芯片的編程IDE,采用的是NucleiStudio,其IDE底層設(shè)計也是屬于RISC-V MCU中常用的eclipse進行的整體功能的支持。與兆易創(chuàng)新GD32VF103類似,在IDE的引導(dǎo)下,可以一步一步創(chuàng)建一個工程。
該IDE創(chuàng)建工程提供了很多的示例程序支持,這對于芯片的使用與功能的開發(fā)來說,也是非常的重要的。
該芯片例程配合NucleiStudio軟件包管理功能,使用起來還是比較方便的。從上手難度上來看,該芯片上手還是相對比較容易的,例程也比較多。與GD32VF103芯片的 RV-STAR總體上手難度差不多。例程豐富,底層庫基本上都是開源的。但是有一些加密算法庫似乎是通過庫函數(shù)的方式進行提供,目前未看到源代碼實現(xiàn)。
底層驅(qū)動庫,算法庫,以及DSP使用都有著豐富的例程。這些對于芯片使用者來說,還是可以做出一些上層應(yīng)用功能出來。與其他同類型RISC-V MCU類似,都是一種國產(chǎn)芯片的替代方案。
在ARM芯片替代上,可能最大的區(qū)別就是中斷管理,這部分CM32M433R-START采用了與兆易創(chuàng)新GD32VF103一樣的設(shè)計ECLIC,關(guān)于ECLIC的分析可以參考下面的文章:
淺析riscv中的plic與eclic
其他的編程方式應(yīng)該都差不多。做應(yīng)用開發(fā)應(yīng)該沒有太多難度。
3.DSP功能
這芯片相比之前的RISCV MCU,特色之一應(yīng)該就是DSP支持。但是這也需要硬件、工具鏈、庫三者配合才能使用的很好。
因為做底層軟件的研究,所以對這部分我也做了一點研究,從庫和編譯器方面進行簡單的使用體驗。
NucleiStudio自動的編譯器是支持DSP擴展的,也就是可以采用DSP指令進行編程,庫方面,采用的是NMSIS庫提供上層函數(shù),直接支持利用頭文件提供的DSP函數(shù)功能進行編程,這與ARM的CMSIS基本的使用方式上是一樣的。
因為直接手寫DSP匯編,對于上層應(yīng)用開發(fā)者來說還是比較復(fù)雜的。提供頭文件進行編寫也是一種非常好的方式。
因為研究過一段時間的DSP自動向量化,所以也想在該芯片上測試一下。
在優(yōu)化等級中選擇O3優(yōu)化后。
uint32_t example5(const uint8_t *restrict in, const uint8_t *restrict in2)
{
uint32_t sum = 0;
for (int i = 0; i < 32; i++)
{
sum += in[i] * in2[i]; /* => maddr32 */
}
return sum;
}
在函數(shù)中寫一段C語言測試代碼,通過編譯后的elf文件。
可以看到和加運算確實會被dsp自動向量化,關(guān)于dsp自動向量化功能,只能從一定程度上生成對應(yīng)的DSP指令,很多智能化的操作還需要riscv編譯器的不斷支持和完善,這也是編譯工具鏈不斷智能化的一個重要的推進方向。如果需要人為的去操作DSP指令,則借助NMSIS庫也是非常好方式。
4.與其他RISCV MCU比較
之前接觸過類似于兆易創(chuàng)新的GD32VF103,沁恒CH32V103,中科藍訊AB32VG1,樂鑫的ESP32C3等等。
國產(chǎn)RISCV MCU 沁恒CH32V103上手體驗
GD32VF103 RISCV開發(fā)板試用體驗
在資源上CM32M4xxR確實有著一定的優(yōu)勢和競爭力,有著內(nèi)置512KB Flash、144KB SRAM,特別是加入了tee以及DSP擴展,使得其應(yīng)用的領(lǐng)域可以更加廣一些。MCU比起來確實有著一定的進步。但是我覺得還不夠好,既然已經(jīng)有了DSP以及單精度浮點的支持,完全可以在音視頻方面提升一些特點出來。特別是語音編解碼,圖像編解碼以及語音攝像頭采集圖像方面做出一定的設(shè)計。
總體上來說,CM32M4xxR作為通用的MCU,其功能完全可以說是riscv mcu中性能較好的芯片,由于目前還沒有進行coremark的跑分測試數(shù)據(jù),其評測標(biāo)準(zhǔn)無法量化,但是從資源的豐富程度上來說也是優(yōu)秀的芯片了。
5.總結(jié)
對于CM32M4xxR的芯片,外設(shè)資源以及指令支持都還是不錯的,只是作為一款通用的MCU來說,可以更加突出應(yīng)用特點也許會更好。市面上的RISCV MCU越來越多,其易用性,價格,穩(wěn)定性,出貨等等都是重要的評判標(biāo)準(zhǔn)。中國移動芯昇科技是中國移動旗下的子公司,其研發(fā)能力和市場資源還是很不錯的。只是期待CM32M4xxR能夠做出更多的市場應(yīng)用,為推動RISCV MCU生態(tài)發(fā)揮出重要的作用。
如需要了解更多中移物聯(lián)MCU產(chǎn)品,請聯(lián)系中移物聯(lián)核心代理商,穎特新科技,或者掃碼聯(lián)系我們!

編輯:admin 最后修改時間:2022-05-08