7.1 為什么Cortex-M系列處理器容易使用
雖然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)下載到,并被許多工具廠商支持。
7.2 處理器選擇
對(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)化。
7.3 生態(tài)系統(tǒng)
使用ARM Cortex-M系列處理器的關(guān)鍵優(yōu)勢(shì)之一是廣泛的成熟設(shè)備,開(kāi)發(fā)工具鏈和軟件庫(kù)的支持。目前有
- 超過(guò)15家微控制器廠商正在銷售基于ARM Cortex-M系列內(nèi)核的微控制器產(chǎn)品
- 超過(guò)10種開(kāi)發(fā)套件支持ARM Cortex-M系列處理器
- 40多家操作系統(tǒng)廠商的操作系統(tǒng)支持Cortex-M系列處理器
這給了你大量選擇,讓你可以獲得適合目標(biāo)應(yīng)用的最好的設(shè)備,開(kāi)發(fā)工具和中間件組合。
2 總結(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)。
額外的資源
Cortex-M系列處理器產(chǎn)品信息可以查找https://developer.arm.com/products/processors/cortex-m
一系列有用的Cortex-M資源存在下面的網(wǎng)址https://community.arm.com/processors/b/blog/posts/cortex-m-resources
關(guān)于ARMv8-M TrustZone的其他的有用的資源可以查找ARM社區(qū)(community.arm.com)的“TrustZone for ARMv8-M Community”。ARM社區(qū)是為開(kāi)發(fā)者和開(kāi)發(fā)工具廠商,產(chǎn)品方案商之間提供的一個(gè)免費(fèi)的,開(kāi)放的,非正式的交流區(qū)
本文中出現(xiàn)的商標(biāo)是ARM有限公司(或其子公司)在歐盟和/或其他地方注冊(cè)的/或未注冊(cè)的商標(biāo)。保留所有權(quán)利。文中所有其他標(biāo)志可能是其他所有人的商標(biāo)。欲了解更多信息,請(qǐng)?jiān)L問(wèn)arm.com/about/trademarks