linux驅動必備硬體知識–ARM筆記

來源:互聯網
上載者:User

**瞭解ARM
採用 RISC 架構的 ARM 微處理器一般具有如下特點:
1 、體積小、低功耗、低成本、高效能;
2 、支援 Thumb ( 16 位) /ARM ( 32 位)雙指令集,能很好的相容 8 位 /16 位器件;
3 、大量使用寄存器,指令執行速度更快;
4 、大多數資料操作都在寄存器中完成;
5 、定址方式靈活簡單,執行效率高;
6 、指令長度固定;

**瞭解ADS開發工具
全稱:ARM Developer Suite.
ADS由命令列開發工具/GUI開發環境(Code Warrior和AXD/支援軟體組成)
Code Warrior IDE開發c/C++/ARM彙編代碼
AXD 用於對程式進行調試

**瞭解ARM工作模式
--工作狀態(ARM狀態--32位/字對齊  Thumb狀態--16位/半字對齊)
--ARM體繫結構兩種方法儲存資料
*大端格式--高位元組儲存在低地址
*小端格式--相反
--7種工作模式
1.使用者模式Usr 2.快速中斷FIQ 3.外部中斷IRQ 4.管理員模式svc 5.資料訪問終止模式 6.系統模式 7.未定義指令中止模式
*運行模式可以通過軟體改變,也可通過外部中斷或異常處理進行改變。

**瞭解寄存器
ARM微處理器有37個32位寄存器,31個為通用寄存器,6個為狀態寄存器。

--通用寄存器(R0~R15,R13_svc/R14_svc,R13_abt/R14_abt,R13_und/R14_und,R13_irq/R14_irq,R8_fiq~R14_fiq)

*不分組寄存器 R0-R7
*分組寄存器 R8-R14(R13通常作為堆棧指標sp/R14用作子程式連結寄存器LR,指向函數返回地址)
*程式計數器PC R15

--狀態寄存器(CPSR,SPSR_svc,SPSR_abt,SPSR_und,SPSR_irq,SPSR_fiq)

**瞭解定址方式
它是指處理器根據指令中給出的地址資訊來尋找物理地址的方式
--立即定址(#1)運算元本身就在指令給出
--寄存器定址 利用寄存器中的數值作為運算元 ADD R0,R1,R2;R0<-R1+R2
--寄存器間接定址 以寄存器中的值作為運算元的地址 ADD R0,R1, [R2] ; R0<-R1+[R2]
--基址變址定址 將寄存器的內容與指令中給出的地址位移量相加,從而得到一個運算元的有效地址 LDR R0, [R1,#4]
--多寄存器定址 一條指令可以完成多個寄存器值的傳送 LDMIA R0,{R1,R2,R3,R4}
--相對定址 以程式計數器PC的當前值為基地址,指令中的地址標號作為位移量,將兩者相加就可以得到有效地址
--堆棧定址 遞增/遞減堆棧

**瞭解指令
跳轉指令:
B{條件} 目標地址
BL{條件} 目標地址
BLX 目標地址
BX{條件} 目標地址

資料處理指令:
MOV{條件}{S} 目的寄存器 源運算元
MVN{條件}{S} 目的寄存器 源運算元
*S決定指令的操作是否影響CPSR中的條件標誌位的值
CMP{條件} 運算元1 運算元2 --比較,會更新GPSR標誌位
TST{條件} 運算元1 運算元2 --位與,
ADD{條件}{S} 目的寄存器 運算元1 運算元2 --相加
SUB{條件}{S} 目的寄存器 運算元1 運算元2 --相減
AND{條件}{S} 目的寄存器 運算元1 運算元2 --與
ORR{條件}{S} 目的寄存器 運算元1 運算元2 --或
BIC{cond}{S} Rd,Rn,operand2 BIC R0,R0,#%1101
MUL{條件}{S} 目的寄存器 運算元1 運算元2 --乘法

程式狀態訪問指令:
MRS{條件} 通用寄存器,程式狀態寄存器(cpsr/spsr) --傳送狀態
MSR{條件} 程式狀態寄存器(cpsr/spsr)_<域>,通用寄存器

載入/儲存指令:
LDR{條件}目的寄存器, <儲存空間地址> --將記憶體資料傳送到寄存器
STR{條件}源寄存器, <儲存空間地址>

批量載入/儲存指令:
LDM 批量資料載入指令
STM 批量資料存放區指令
SWP 資料交換

移位指令:
LSL/LSR(邏輯) ASL/ASR(算術) ROR(迴圈右移動)

異常產生指令:
SWI 軟體中斷指令
BKPT 斷點中斷指令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.