|
雖然Cortex-M系列處理器有非常多的特性,但是很容易使用,差不多所有的開(kāi)發(fā)都可以用像C語(yǔ)言這樣的高級(jí)編程語(yǔ)言。
雖然基于Cortex-M系列處理器產(chǎn)品都大不相同(例如,有不同大小的內(nèi)存,不同的外設(shè),性能和封裝等等),架構(gòu)的一致性讓開(kāi)發(fā)者一旦對(duì)他們其中的一塊有開(kāi)發(fā)經(jīng)驗(yàn),就很容易開(kāi)始使用新的Cortex-M處理器。
為了實(shí)現(xiàn)更容易的軟件開(kāi)發(fā),更好的軟件重用性和可移植性,ARM開(kāi)發(fā)了CMSIS-CORE,CMSIS即為Cortex-Microcontroller Software Interface Standard,CMSIS-CORE通過(guò)一組APIs為處理器的各種特性像終端管理控制提供了一個(gè)標(biāo)準(zhǔn)的硬件抽象層(HAL), CMSIS-CORE集成在各種微處理器廠商提供的設(shè)備驅(qū)動(dòng)程序庫(kù)里,被各種開(kāi)發(fā)工具套件支持。
除了CMSIS-CORE, CMSIS還包含一個(gè)DSP軟件庫(kù)(CMSIS-DSP)。這個(gè)庫(kù)提供了為Cortex-M4 和 Cortex-M7優(yōu)化過(guò)的各種DSP函數(shù),當(dāng)然也支持其他的Cortex-M系列處理器。CMSIS-CORE 和 CMSIS-DSP庫(kù)都是免費(fèi)的,可以從GitHub (CMSIS 4, CMSIS 5)下載到,并被許多工具廠商支持。
處理器選擇
對(duì)大多數(shù)微控制器用戶來(lái)說(shuō),微控制器設(shè)備的選擇標(biāo)準(zhǔn)主要取決于成本和外設(shè)的支持情況。但是,很多人可能是為下個(gè)芯片產(chǎn)品選擇處理器核心芯片的設(shè)計(jì)者,這種情況下,處理器本身會(huì)是考慮的焦點(diǎn)。
明顯的,在這樣的情況下,性能,芯片面積,功耗和成本會(huì)是至關(guān)重要的因素。同時(shí),還有各種其他的因素需要考慮。例如,如果在開(kāi)發(fā)一款互聯(lián)網(wǎng)連接產(chǎn)品,也許需要選擇有TrustZone安全擴(kuò)展和MPU的處理器,這樣可以用TrustZone保護(hù)關(guān)鍵的安全特性數(shù)據(jù),運(yùn)行某些任務(wù)在非特權(quán)級(jí)別并用MPU來(lái)保護(hù)內(nèi)存空間。此外,如果需要在某些方面認(rèn)證你的產(chǎn)品,Cortex-M23, Cortex-M33, Cortex-M3, Cortex-M4 和 Cortex-M7支持的ETM生成的指令跟蹤會(huì)對(duì)代碼覆蓋率認(rèn)證非常有幫助。
在其他的芯片設(shè)計(jì)領(lǐng)域,如果你正在設(shè)計(jì)可以運(yùn)行在能量采集設(shè)備供電的小傳感器,那么Cortex-M23 和 Cortex-M0+會(huì)是最好的選擇,因?yàn)樗鼈兎浅P〔⑶易隽俗钕冗M(jìn)的功耗優(yōu)化。
生態(tài)系統(tǒng)
使用ARM Cortex-M系列處理器的關(guān)鍵優(yōu)勢(shì)之一是廣泛的成熟設(shè)備、開(kāi)發(fā)工具鏈和軟件庫(kù)的支持。目前有:
? 超過(guò)15家微控制器廠商正在銷(xiāo)售基于ARM Cortex-M系列內(nèi)核的微控制器產(chǎn)品;
? 超過(guò)10種開(kāi)發(fā)套件支持ARM Cortex-M系列處理器;
? 40多家操作系統(tǒng)廠商的操作系統(tǒng)支持Cortex-M系列處理器;
這給了開(kāi)發(fā)者大量選擇,可以獲得適合目標(biāo)應(yīng)用的最好的設(shè)備、開(kāi)發(fā)工具和中間件組合。
總結(jié)
性能,特性和芯片面積,功耗之間總是需要平衡。為此,ARM開(kāi)發(fā)了各種Cortex-M處理器,擁有不同級(jí)別的指令集特性,性能,系統(tǒng)和調(diào)試特性。
Cortex-M處理器家族雖然存在這差別,但架構(gòu)的一致性和CMSIS-CORE標(biāo)準(zhǔn)化的APIs都讓Cortex-M系列處理器軟件有更好的移植性和可重用性。同時(shí),Cortex-M系列處理器非常方便使用。因此,Cortex-M系列處理器很快成為微控制器市場(chǎng)的最受歡迎的32位處理器架構(gòu)。以下課程可免費(fèi)試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽(tīng)課了宋工QQ3524659088 Tel/Vx17317951908
|
|