嵌入式Linux之ARM A7處理器架構

2021-10-03 12:12:27 字數 1085 閱讀 7409

user、 fiq、 irq、 supervisor(svc)、 abort、 undef和 system,其中 user 是非特權模式,其餘 6 中都是特權模式。

arm 架構提供了 16 個 32 位的通用暫存器(r0~r15)供軟體使用,前 15 個(r0~r14)可以用作通用的資料儲存,r13(sp)是堆疊指標,r14(lr)是鏈結暫存器,r15 是程式計數器 pc,用來儲存將要執行的指令。 arm 還提供了乙個當前程式狀態暫存器 cpsr和乙個備份程式狀態暫存器 spsr, spsr 暫存器就是 cpsr 暫存器的備份。

①、 34 個通用暫存器,包括 r15 程式計數器(pc),這些暫存器都是 32 位的。

②、 8 個狀態暫存器,包括 cpsr 和 spsr。

③、 hyp 模式下獨有乙個 elr_hyp 暫存器

r0~r15 就是通用暫存器,通用暫存器可以分為以下三類:

①、 未備份暫存器,即 r0~r7。

②、 備份暫存器,即 r8~r14。

③、 程式計數器 pc,即 r15。

未備份暫存器

所有的處理器模式下這 r0~r7這8 個暫存器都是同乙個物理暫存器

備份暫存器

備份暫存器的部分暫存器在不同模式下對應不同的物理暫存器,便於儲存和保護現場。通過壓棧和出棧來保護現場。

程式計數器r15

程式計數器 r15 也叫做 pc, r15 儲存著當前執行的指令位址值加 8 個位元組,這是因為 arm

的流水線機制導致的。 arm 處理器 3 級流水線:取指->解碼->執行。

r15 (pc)值 = 當前執行的程式位置 + 8 個位元組。

程式狀態暫存器

所有的處理器模式都共用乙個 cpsr 物理暫存器,因此 cpsr 可以在任何模式下被訪問。

cpsr 是當前程式狀態暫存器,該暫存器包含了條件標誌位、中斷禁止位、當預處理器模式標誌

等一些狀態位以及一些控制位。

2,嵌入式Linux之GPIO

2,嵌入式linux之gpio 1,點燈 1 看懂你所用的開發板的原理圖 產看led和gpio管腳是怎麼接線的如圖 2 通過s3c2440晶元控制暫存器配置gpf4 gpf5 gpf6為輸入引腳 來點亮 上圖的led燈 檢視s3c2440晶元手冊 3 配置gpio 使得gpf4 gpf5 gpf6 ...

嵌入式linux之NOR FLASH驅動

flash 儲存器介面還有兩個標準 cfi和jedec。cfi為公共flash介面 common flash inte ce 用來幫助程式從flash晶元中獲取操作方式資訊,而不用在程式中硬編碼flash的id。jedec用來幫助程式讀取flash的製造商id和裝置id,以確定flash的大小和演算...

嵌入式課後總結(7)

1.程序是動態的,程式是靜態的 程式是有序 的集合 程序是程式的執行。通常程序不可再計算器之間遷移 而程式通常對應著檔案 靜態和可以複製。2.程序是暫時的,程式是長久的 程序是乙個狀態變化的過程,程式可以長久儲存。3.程序和程式組成不同 程序的組成包括程式 資料和程序控制塊 即程序狀態資訊 4.程序...