東芝基礎講堂 – MCU Arm Cortex M3 內核 (上)

關鍵字 :TOSHIBAMCUARM M3

在MCU中,內核是關鍵單元,要應用好必須要先瞭解該系列所基於的Arm® Cortex®-M3內核。本篇內容開始將分上下兩集,向大家介紹Arm® Cortex®-M3內核的特點和各基本單元。

東芝的TX03 MCU 系列是基於Arm® Cortex®-M3內核設計的MCU,讓我們先來一起認識Arm® Cortex®-M3處理器的基本功能,方框圖如下圖所示。
它由一個主核模組、一個控制中斷的NVIC(內嵌向量中斷控制器)模組、一個支援調試的功能模組和一個與週邊電路進行外部連接的介面模組組成。

                                                                                                            
                                                            (圖片來源:作者 東芝半導體,網址:https://mp.weixin.qq.com/s/asVwM5ymWqa4-OKzVlVJAg)

根據上圖可知,Cortex®-M3主核採用三段式流水線配置。[Fe]是讀數階段,讀取PC(程式計數器)指示的記憶體位址的指令;[De]作為解碼階段,對指令進行解碼,並確定執行階段的執行控制;
[Ex]是執行階段,通過Shift和ALU(算數邏輯單位)執行四則運算、邏輯運算、乘法和除法等運算,並執行載入和存儲,寄存器在此階段更新;最後[MUL/DIV]代表乘法/除法。

 

針對Arm處理器中斷回應的問題,Cortex®-M3在內核上集成了NVIC(嵌套向量中斷控制器)。NVIC模組可掛起正在主核上運行的計算處理,並控制切換到優先處理。
它支援系統異常和中斷的發生,如果在異常處理過程中需要有一個高優先順序的異常中斷,NVIC塊將:

1、暫停正在處理的異常

2、啟動高優先順序的異常處理

3、完成高優先順序的異常處理

4、恢復中斷的異常處理

它可以控制嵌套,即異常中斷處理。此外,它還包括調試控制功能和SysTickTimer,即作業系統(OS)進行任務管理的硬體計時器。
Cortex®-M3處理器具有R0至R15寄存器。R0至R12是通用寄存器。R13是可配置區域的寄存器,可以在兩種堆疊指標之間切換。R14是連結寄存器,R15是程式計數器。
此外,還有控制Cortex®-M3處理器特殊功能的特殊寄存器。寄存器分配如下圖所示。

                                                                        
                                                               (圖片來源:作者 東芝半導體,網址:https://mp.weixin.qq.com/s/asVwM5ymWqa4-OKzVlVJAg)



圖片上藍色部分寄存器均為通用寄存器,用於輸入算術單元(ALU)的資料,輸出計算結果,傳輸記憶體中儲存資料的操作等。寄存器R15(PC)和R14(LR)用於控制程式執行順序,
而寄存器R13則用於堆疊指標。特別要注意的是,Arm® Cortex®-M3內核在異常/中斷處理常式的開始和結束時會自動執行入棧和出棧功能。可自動執行入棧和出棧的寄存器有8個,
分別是R0、R1、R2、R3、R12、R14、R15和xPSR。

我們來看看如下圖所示的在發生異常/中斷事件時,程式流程示例中的入棧和出棧操作。

                                                                        
                                                                   (圖片來源:作者 東芝半導體,網址:https://mp.weixin.qq.com/s/asVwM5ymWqa4-OKzVlVJAg)

 此外,Arm® Cortex®-M3還在內核水準上搭載了若干特殊功能寄存器,主要可分為三組:狀態字寄存器(三合一)、中斷遮罩寄存器、控制寄存器。具體功能及描述可看下圖。

                                                                                                 
                                                                      (圖片來源:作者 東芝半導體,網址:https://mp.weixin.qq.com/s/asVwM5ymWqa4-OKzVlVJAg)

透過此篇的分享,我們帶大家從內核的基本結構入手,不僅學習了流水線的基本流程,還瞭解了該內核的寄存器相關知識和分配的規則。
在下集中,我們將會繼續跟大家一起學習Arm® Cortex®-M3內核的操作模式和其他功能單元,並請大家持續關注東芝半導體,別錯過功能齊全的MCU產品介紹哦!

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源

TOSHIBA: https://mp.weixin.qq.com/s/asVwM5ymWqa4-OKzVlVJAg