上一期的芝識課堂,我們帶大家一起認識了東芝應用廣泛的TX03系列微控制器,并且重點介紹了TX03系列中部分產品組的主要特點和應用領域。在MCU中,內核是關鍵單元,要應用好TX03系列MCU必須要先了解該系列所基于的Arm Cortex-M3內核。本期內容開始,芝子將向大家介紹Arm Cortex-M3內核的特點和各基本單元。
東芝的TX03系列是基于Arm Cortex-M3內核設計的MCU,讓我們先來一起認識Arm Cortex-M3處理器的基本功能,方框圖如圖1所示。它由一個主核模塊、一個控制中斷的NVIC(內嵌向量中斷控制器)模塊、一個支持調試的功能模塊和一個與外圍電路進行外部連接的接口模塊組成。
圖1 內核結構方框圖
根據圖1可知,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處理器特殊功能的特殊寄存器。寄存器分配如圖2所示。
圖2 寄存器分配示意圖
圖片上藍色部分寄存器均為通用寄存器,用于輸入算術單元(ALU)的數據,輸出計算結果,傳輸存儲器中儲存數據的操作等。寄存器R15(PC)和R14(LR)用于控制程序執行順序,而寄存器R13則用于堆棧指針。
特別要注意的是,Arm Cortex-M3內核在異常/中斷處理程序的開始和結束時會自動執行入棧和出棧功能。可自動執行入棧和出棧的寄存器有8個,分別是R0、R1、R2、R3、R12、R14、R15和xPSR。
我們來看看如圖3所示的在發生異常/中斷事件時,程序流程示例中的入棧和出棧操作。
圖3 異常/中斷事件時,程序流程的入棧和出棧操作圖
此外,Arm Cortex-M3還在內核水平上搭載了若干特殊功能寄存器,主要可分為三組:狀態字寄存器(三合一)、中斷屏蔽寄存器、控制寄存器。具體功能及描述可看圖4。
圖4 Arm Cortex-M3內核特殊寄存器功能概述
通過今天的芝識課堂,我們帶大家從內核的基本結構入手,不僅學習了流水線的基本流程,還了解了該內核的寄存器相關知識和分配的規則。在隨后的芝識課堂中,我們將會繼續跟大家一起學習Arm Cortex-M3內核的操作模式和其他功能單元,請大家持續關注芝識課堂,別錯過最詳盡的MCU基礎功能介紹哦!
點擊“閱讀原文”,了解更多東芝產品信息!
點擊前往了解更多信息
東芝微站
關于東芝電子元件及存儲裝置株式會社
東芝電子元件及存儲裝置株式會社是先進的半導體和存儲解決方案的領先供應商,公司累積了半個多世紀的經驗和創新,為客戶和合作伙伴提供分立半導體、系統LSI和HDD領域的杰出解決方案。
公司22,200名員工遍布世界各地,致力于實現產品價值的最大化,東芝電子元件及存儲裝置株式會社十分注重與客戶的密切協作,旨在促進價值共創,共同開拓新市場,公司現已擁有超過8,598億日元(62億美元)的年銷售額,期待為世界各地的人們建設更美好的未來并做出貢獻。
如需了解有關東芝電子元件及存儲裝置株式會社的更多信息,請點擊以下鏈接進行訪問:https://toshiba-semicon-storage.com
“贊”和“在看”點這里
原文標題:芝識課堂【TX03微控制器】—強大的Arm? Cortex?-M3內核(上)
文章出處:【微信公眾號:東芝半導體】歡迎添加關注!文章轉載請注明出處。
-
東芝半導體
+關注
關注
1文章
102瀏覽量
14533
原文標題:芝識課堂【TX03微控制器】—強大的Arm? Cortex?-M3內核(上)
文章出處:【微信號:toshiba_semicon,微信公眾號:東芝半導體】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論