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