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