走近Cortex M3 3 暫存器知識

2021-08-26 14:31:52 字數 2085 閱讀 9428

前兩周,我們相繼介紹了cortex-m3的發展近況,也了解了其相關技術背景。而作為一名初學者,在arm的學習中,會遇到大量的或熟悉或陌生的名詞縮寫,有效的理解並記憶它們十分有利於我們的學習。下面,是我們大致做的一些總結:

ahb先進高效能匯流排

ahb‐ap ahb訪問埠

amba先進微控制器匯流排架構

apb先進外設匯流排

arm armarm架構參考手冊

asic行業領域專用積體電路

atb先進跟蹤匯流排

be8位元組不變式大端模式

cpi每條指令的週期數

cpu**處理單元

dap除錯訪問埠

dsp數字訊號處理器/數字訊號處理

dwt資料觀察點及跟蹤

etm嵌入式跟蹤巨集單元

fpb快閃儲存器位址過載及斷點

fs***ult狀態暫存器

htmcoresight ahb跟蹤巨集單元

ide整合開發環境

irq中斷請求(通常是指外部中斷的請求)

isa指令系統架構

isr中斷服務例程

itm指令跟蹤巨集單元

jtag鏈結點測試行動組(乙個關於測試和除錯介面的標準)

jtag‐dp jtag除錯埠

lr連線暫存器

lsb最低有效位

lsu載入/儲存單元

mcu微控制器單元(俗稱微控制器)

mmu儲存器管理單元

mpu儲存器保護單元

msb最高有效位

msp主堆疊指標

nmi不可遮蔽中斷

nvic巢狀向量中斷控制器

os作業系統

pc程式計數器

psp程序堆疊指標

ppb私有外設匯流排

接下來,請隨我來了解一下cortex-m3的暫存器組

cortex‐m3處理器擁有r0‐r15的暫存器組。其中r13作為堆疊指標sp。sp有兩個,但在同一時刻只能有乙個可以看到,這也就是所謂的「banked」暫存器。

1. r0-r12:通用暫存器

r0‐r12都是32位通用暫存器,用於資料操作。但是注意:絕大多數16位thumb指令只能訪問r0‐r7,而32位thumb‐2指令可以訪問所有暫存器。

2. banked r13: 兩個堆疊指標

cortex‐m3擁有兩個堆疊指標,然而它們是banked,因此任一時刻只能使用其中的乙個。主堆疊指標(msp):復位後預設使用的堆疊指標,用於作業系統核心以及異常處理例程(包括中斷服務例程)程序堆疊指標(psp):由使用者的應用程式**使用。堆疊指標的最低兩位永遠是0,這意味著堆疊總是4位元組對齊的。

在arm程式設計領域中,凡是打斷程式順序執行的事件,都被稱為異常(exception)。除了外部中斷外,當有指令執行了「非法操作」,或者訪問被禁的記憶體區間,因各種錯誤產生的fault,以及不可遮蔽中斷發生時,都會打斷程式的執行,這些情況統稱為異常。在不嚴格的上下文中,異常與中斷也可以混用。另外,程式**也可以主動請求進入異常狀態的(常用於系統呼叫)。

3. r14:連線暫存器

當呼叫乙個子程式時,由r14儲存返回位址 不像大多數其它處理器,arm為了減少訪問記憶體的次數(訪問記憶體的操作往往要3個以上指令週期,帶mmu和cache的就更加不確定了),把返回位址直接儲存在暫存器中。這樣足以使很多只有1級子程式呼叫的**無需訪問記憶體(堆疊記憶體),從而提高了子程式呼叫的效率。如果多於1級,則需要把前一級的r14值壓到堆疊裡。在arm上程式設計時,應盡量只使用暫存器儲存中間結果,迫不得以時才訪問記憶體。在risc處理器中,為了強調訪內操作越過了處理器的界線,並且帶來了對效能的不利影響,給它取了乙個專業的術語:濺出。

4. r15:程式計數暫存器

指向當前的程式位址。如果修改它的值,就能改變程式的執行流(很多高階技巧就在這裡面——譯註)。

5. 特殊功能暫存器

cortex‐m3還在核心水平上搭載了若干特殊功能暫存器,包括

程式狀態字暫存器組(psrs)

中斷遮蔽暫存器組(primask,faultmask, basepri)

控制暫存器(control)

您帶來幫助,謝謝。

走近中關村

昨天下午去中關村了,這地方其實和我們報紙聯絡還挺緊密的,不過我很少來,因為不負責這塊兒。其實是去參加乙個攝影大賽的頒獎典禮的,攝影大賽的主題就是 中關村 等待會議開始的時間,我四處轉了轉,用手機拍了一些 有些我覺得還挺適合作為報紙的配圖呢 可惜解析度不高。以上3張都跟遊戲有關,如此嘈雜的賣場,也只有...

走近IBM,感受生活

生活中到處充滿挑戰和機遇,這是我這段生活的乙個真實寫照。現在在學習 ibm旗下的 file net 產品,這次就是乙個挑戰,用蹩腳的英語來學習近千頁的英文文件,並且還要用虛擬的英語思維去組織和圓潤拼湊那讀起來略有苦澀的文字。呼呼 ibm的這些英文資料讀懂個大概。學習形式上的改變,我們用思維優勢來找齊...

走近富蘭克林 《富蘭克林自傳》

最近在讀富蘭克林先生的自傳,感觸頗多,這個出身平凡,依靠個人努力和獨特的人格魅力走向人生巔峰的傳奇先生。又怎樣不平凡的人生,又是什麼因素促使他實現自己的不平凡。富蘭克林對自己品格的要求很高,他認為乙個人的習慣決定了品質,而品質決定了人生的意義。為此,它特意為自己做了乙個專門用於培養自己品格的 裡面列...