ARM Cortex M3 學習筆記 6

2021-06-09 06:04:40 字數 1321 閱讀 9913

最近在學arm cortex-m3,找了本號稱很經典的書「an definitive guide to the arm cortex-m3」在看。這個系列學習筆記其實就是在學習這本書的過程中做的讀書筆記。

這一章的內容大體有個了解就行了,後面章節中會對這裡講到的各個部分深入講解。

3級流水線,流水線的3個級分別是:取指,解碼和執行

cortex m3 內部構成可以用下面的這個框圖來說明。

圖 1 cortex-m3內部框圖

各個部件的簡單介紹如下。

nvic:巢狀向量中斷控制器

systick timer:乙個簡易的週期定時器,用於提供時基,亦被作業系統所使用

mpu:儲存器保護單元(可選)

cm3busmatrix:內部的ahb互連

ahb to apb:把ahb轉換為apb的匯流排橋

sw-dp/swj-dp:序列線除錯埠/序列線jtag 除錯埠。通過序列線除錯協議或者是傳統的jtag協議(專用於swj-dp),都可以用於實現與除錯介面的連線

ahb-ap:ahb訪問埠,它把序列線/swj介面的命令轉換成ahb資料傳送

etm:嵌入式跟蹤巨集單元(可選元件),除錯用。用於處理指令跟蹤

dwt:資料觀察點及跟蹤單元,除錯用。這是乙個處理資料觀察點功能的模組

itm:儀器化跟蹤巨集單元

tpiu:跟蹤單元的介面單元。所有跟蹤單元發出的除錯資訊都要先送給它,它再**給外部跟蹤捕獲硬體的。

rom表:乙個小的查詢表,其中儲存了配置資訊。

這裡給出個cortex-m3核心與其他片內外設的連線示例。

圖 2 cortex-m3匯流排連線樣板範例

cortex-m3 核心有三種復位訊號,分別如下:

復位訊號

描述上電復位(nporeset)

在器件上電時需要把復位置為有效(assert),把處理器核心和除錯系統一起復位

系統復位(nsysreset)

只影響處理器核心、nvic(與除錯相關的除外)以及mpu,不復位除錯系統

測試復位(ntrst)

只復位除錯系統

這些復位訊號在晶元內部的流向與作用見下圖。

圖 3 典型的cortex-m3晶元內部復位訊號和其作用範圍示意圖

ARM Cortex M3體系結構

來自 arm cortex m3處理器體系結構.ppt 定位 概況 cortex m3核心 核心流水線分3個階段 取指 解碼和執行。當遇到 分支指令時,解碼階段也包含 的指令取指,這提高了執行的速度。處理器在解碼階段期間自行對分支目的地指令進行取指。在稍後的執行過程中,處理完分支指令後便知道下一條要...

ARM Cortex M3 B x 指令詳解

b指令 b指令的格式為 b 目標位址 b指令是最簡單的跳轉指令。一旦遇到乙個 b 指 令,arm 處理器將立即跳轉到給定的目標位址,從那裡繼續執行。注意儲存在跳轉指令中的實際值是相對當前pc值的乙個偏移量,而不是乙個絕對位址,它的值由彙編器來 計算 參考定址方式中的相對定址 它是 24 位有符號數,...

學習筆記3

第四單元 了解linux檔案系統 1.絕對路徑和相對路徑 a.絕對路徑 無論在系統的任何位置,從系統的頂級目錄 根目錄 一級一級往下排的表示方法 b.相對路徑 如果已經在某乙個目錄下面操作,那麼可以省略從根目錄到當前目錄的表示,若要切到該目錄下的任意位置,直接表示 2.系統中根目錄下子目錄的作用 a...