- 基于ARM Cortex-M0+的CW32嵌入式開發實戰
- 許弟建主編
- 1068字
- 2025-03-13 17:04:47
1.1.2 Cortex-M0+內核介紹
ARM Cortex-M0+是2012年3月14日ARM公司發布的一款低功耗、高能效的ARM處理器,可用于存在設計約束的嵌入式應用。它具有極小的硅面積和極少的代碼量,處理器的低門數使其能夠部署在需要簡單功能的應用中。
作為ARM Cortex-M處理器系列的最新成員,32位Cortex-M0+處理器采用了低成本90nm低功耗(Low Power,LP)工藝,功耗僅9μA/MHz,約為主流8位或16位處理器的1/3,卻能提供更高的性能。這種低功耗和高性能的結合為仍在使用8位或16位架構的用戶提供了一個轉型開發32位器件的理想機會,從而可在不犧牲功耗和面積的情況下,提高日常設備的智能化程度。該款經過優化的Cortex-M0+處理器可針對家用電器、醫療監控、電子測量、照明設備以及汽車控制器件等各種廣泛應用的智能傳感器與智能控制系統,提供超低功耗、低成本微控制器。
Cortex-M0+集成了存儲器保護單元(Memory Protection Unit,MPU)、單周期I/O接口和微跟蹤緩存(Micro Trace Buffer,MTB)。ARM Cortex-M0+框圖如圖1-1所示。

圖1-1
ARM Cortex-M0+內核具有以下關鍵特征。
● 采用ARMv6-M架構。
● AHB-Lite總線接口,馮·諾依曼總線架構,帶可選單周期I/O接口。
● Thumb/Thumb-2子集指令支持。
● 兩段流水線。
● 可選8區域MPU,帶子區域和背景區域。
● 不可屏蔽中斷和1~32個物理中斷。
● 喚醒中斷控制器。
● 硬件單周期(32×32)乘法。
● 多種休眠模式,帶集成式等待中斷(Wait for Interrupt,WFI)、等待事件(Wait for Event,WFE)以及退出時休眠功能、休眠和深度休眠功能。
● 根據實現方式提供多種保留模式。
● 聯合測試工作組(Joint Test Action Group,JTAG)和串行線調試(Serial Wire Debug,SWD)接口,具有多達4個斷點和兩個觀察點。
● 可選MTB。
ARM Cortex-M0+ MCU的關鍵優勢如下。
● 小尺寸內核使其能夠用作小設備中的單核心,或在需要特定硬件隔離或任務劃分時,用作額外的嵌入式配套內核。
● Cortex-M0+內核不會影響基于I/O、模擬和非易失性存儲器的典型MCU的各元件之間的取舍。因此在劃分MCU產品組合時,總線位寬(8位、16位或32位)不再相關。
● M0+微控制器在入門級應用中得到廣泛使用,并帶來了巨大優勢。它們能滿足計算性能要求,其基本架構允許M0+ MCU在開關門數量較少的應用中達到超低功耗性能。Cortex-M0內核可減少噪聲發射,并滿足使用最佳時鐘速度的性能要求。
● 內核的動態功率為5~50μW/MHz,這取決于所采用的技術。但是,內核功耗并不能代表設備的整體功耗,并且不是要考慮的唯一因素。
● Thumb指令集是Cortex-M系列所采用指令集的子集。它可以重復使用任何經驗證的Cortex-M產品軟件塊,從而可以簡化產品組合,提高可擴展性。
● MPU管理CPU對存儲器的訪問,確保任務不會意外破壞其他激活任務所使用的存儲器或資源。MPU通常由實時操作系統(Real-Time Operating System,RTOS)控制。若程序訪問的存儲器位置被MPU禁止,則RTOS可檢測到它并采取行動。內核可基于執行的進程,動態更新MPU區的設置。