本應(yīng)用筆記介紹了 ARM Cortex-M3 處理器的主要特性,并描述了為其開發(fā)軟件的不同方面。它還涵蓋了現(xiàn)有 ARM 項(xiàng)目到 Cortex-M3 平臺(tái)的遷移。
Cortex-M3
ARM Cortex-M3 是一種高性能、低成本和低功耗的 32 位 RISC 處理器。Cortex-M3 處理器只執(zhí)行 Thumb-2 指令。它不支持 ARM 指令集。Cortex-M3 處理器基于 ARM 架構(gòu) v7-M,擁有高效的哈佛 3 級(jí)流水線內(nèi)核。它還具有硬件劃分和低延遲中斷服務(wù)程序 (ISR) 進(jìn)入和退出。
除了 CPU 內(nèi)核外,Cortex-M3 處理器還包括許多其他組件。其中包括嵌套向量中斷控制器 (NVIC)、可選的內(nèi)存保護(hù)單元 (MPU)、定時(shí)器、調(diào)試訪問端口 (DAP) 和可選的嵌入式跟蹤宏單元 (ETM)。Cortex-M3 也有一個(gè)固定的內(nèi)存映射。
嵌套向量中斷控制器 (NVIC)
根據(jù)芯片制造商使用的實(shí)現(xiàn)方式,NVIC 可以支持多達(dá) 240 個(gè)外部中斷,具有多達(dá) 256 個(gè)不同的優(yōu)先級(jí),可以動(dòng)態(tài)重新確定優(yōu)先級(jí)。它同時(shí)支持電平和脈沖中斷源。處理器狀態(tài)在中斷進(jìn)入時(shí)由硬件自動(dòng)保存,并在中斷退出時(shí)恢復(fù)。NVIC 還支持中斷的尾鏈。
在 Cortex-M3 中使用 NVIC 意味著 Cortex-M3 的向量表與以前的 ARM 內(nèi)核非常不同。Cortex-M3 向量表包含異常處理程序和 ISR 的地址,而不是像大多數(shù)其他 ARM 內(nèi)核那樣包含指令。初始堆棧指針和復(fù)位處理程序的地址必須分別位于 0x0 和 0x4。這些值然后在復(fù)位時(shí)加載到適當(dāng)?shù)?CPU 寄存器中。
內(nèi)存保護(hù)單元 (MPU)
MPU 是 Cortex-M3 的可選組件。如果包含在內(nèi),它會(huì)通過強(qiáng)制執(zhí)行特權(quán)和訪問規(guī)則來支持保護(hù)內(nèi)存區(qū)域。它最多支持八個(gè)不同的區(qū)域,每個(gè)區(qū)域可以再分成八個(gè)相同大小的子區(qū)域。
調(diào)試訪問端口 (DAP)
DAP 使用 AHB-AP 接口與處理器和其他外設(shè)進(jìn)行通信。調(diào)試端口有兩種不同的支持實(shí)現(xiàn),串行線 JTAG 調(diào)試端口 (SWJ-DP) 和串行線調(diào)試端口 (SW-DP)。您的 Cortex-M3 實(shí)現(xiàn)可能包含其中之一,具體取決于您的芯片制造商使用的實(shí)現(xiàn)。
內(nèi)存映射
與大多數(shù)以前的 ARM 內(nèi)核不同,基于 Cortex-M3 的設(shè)備的內(nèi)存映射的整體布局是固定的。這允許在基于 Cortex-M3 的不同系統(tǒng)之間輕松移植軟件。地址空間被分成許多不同的部分。這在下面的圖 2 中顯示。
編輯:hfy
-
cpu
+關(guān)注
關(guān)注
68文章
10870瀏覽量
211876 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3250瀏覽量
114865 -
中斷控制器
+關(guān)注
關(guān)注
0文章
59瀏覽量
9458
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論