www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]嵌入式-ARM寄存器基本概念

無論是學(xué)習(xí)哪一種處理器,首先需要明確的就是這種處理器的寄存器以及工作模式。

ARM有37個寄存器,其中31個通用寄存器,6個狀態(tài)寄存器。

這里尤其要注意區(qū)別的是ARM自身寄存器和它的一些外設(shè)的寄存器的區(qū)別。

ARM自身是統(tǒng)一架構(gòu)的,也就意味著37個寄存器無論在哪個公司的芯片里面都會出現(xiàn)。但是各家公司會對ARM進(jìn)行外設(shè)的擴(kuò)展,所以就出現(xiàn)了好多外設(shè)寄存器,一定要與這37個寄存器區(qū)別開來!!!

1、備份寄存器(R8-R14)

對于R8-R12來說,除在快速中斷模式下,每個模式對應(yīng)相同物理寄存器,所以在FIQ模式下可不必保護(hù)和恢復(fù)中斷現(xiàn)場。

對于R13-R14來說,每個寄存器對應(yīng)6個不同的物理寄存器,其中一個是用戶模式和系統(tǒng)模式共用的。

寄存器R13常用做棧指針SP,除用戶和系統(tǒng)模式外,其他模式在使用時的名字構(gòu)成為R13_。

寄存器R14又被稱

2、不分組寄存器(R0-R7)

不分組也就是說說,在所有的處理器模式下指的都時同一物理寄存器。在異常中斷造成處理器模式切換時,由于不同的處理器模式使用一個名字相同的物理寄存器,就是使用的同一個寄存器,這樣可能造成寄存器中數(shù)據(jù)被破壞,所以在進(jìn)行模式切換時必須加以保護(hù)。

為連接寄存器(LR),除用戶和系統(tǒng)模式外,其他模式在使用時的名字構(gòu)成為 R14_

有下面兩種特殊用途:

A、每個處理器模式自己的物理R14中存放在當(dāng)前子程序的返回地址。當(dāng)通過BL或BLX指令調(diào)用子程序時,R14被設(shè)置成該子程序的返回地址。

B、當(dāng)異常中斷發(fā)生時,該異常模式下的R14被設(shè)置成保存該模式基于PC的返回地址,對于有些異常模式,R14的值有可能與將返回的地址有個常數(shù)的偏移量,不同模式偏移量還有所不同(在ARM 的異常處理里有詳細(xì)介紹)。

3、程序計數(shù)器R15

對于用戶來說,盡量避免使用STR/STM指令來保存R15的值。當(dāng)成功向R15寫入一個地址數(shù)值時,程序?qū)⑻D(zhuǎn)到該地址執(zhí)行。

在ARM狀態(tài)下指令總是字對齊的,所以PC的PC[1:0]位恒為零,在想PC寫入地址時一定要注意將PC[1:0]設(shè)為零。

ARM采用的是3級流水線結(jié)構(gòu),所以PC指向的是當(dāng)前執(zhí)行指令的下兩條指令,PC-8為當(dāng)前指令地址。

4、程序狀態(tài)寄存器

CPSR(當(dāng)前程序狀態(tài)寄存器)可以在任何處理器模式下被訪問。同時除了用戶和系統(tǒng)模式以外,每中處理器模式下都有一個專用的物理狀態(tài)寄存器,稱為 SPSR(備份程序狀態(tài)寄存器)。當(dāng)特定的異常中斷發(fā)生時,這個寄存器用于存放當(dāng)前程序狀態(tài)寄存器的內(nèi)容。當(dāng)在用戶模式和系統(tǒng)模式中訪問SPSR,將會產(chǎn)生不可預(yù)知的結(jié)果。

CPSR和SPSR的格式相同,如下:

0:M0

1:M1

2:M2

3:M3

4:M4

5:T(=1 Thumb執(zhí)行)

6:F(=1是禁止)

7:I(=1是禁止)

注意:M0~M4并不是所有的組合都定義了有效的處理模式,如果錯誤設(shè)置,將會引起無法預(yù)料的錯誤。

27:Q 在ARM V5的E系列處理器中,CPSR的bit[27]稱為q標(biāo)識位,主要用于指示增強(qiáng)的dsp指令是否發(fā)生了溢出。同樣的spsr的bit[27]位也稱為q 標(biāo)識位,用于在異常中斷發(fā)生時保存和恢復(fù)CPSR中的Q標(biāo)識位。

在ARM V5以前的版本及ARM V5的非E系列的處理器中,Q標(biāo)識位沒有被定義

28:V 對于加減運算指令,當(dāng)操作數(shù)和運算結(jié)果為二進(jìn)制的補(bǔ)碼表示的帶符號數(shù)時,V=1表示符號為溢出;通常其他指令不影響V位。

對于其他指令,V統(tǒng)常不發(fā)生變化。

29:C 下面分四種情況討論C的設(shè)置方法:

在加法指令中(包括比較指令CMN),當(dāng)結(jié)果產(chǎn)生了進(jìn)位,則C=1,表示無符號運算發(fā)生上溢出;其他情況C=0。

在減法指令中(包括減法指令CMP),當(dāng)運算中發(fā)生借位,則C=0,表示無符號運算數(shù)發(fā)生下溢出;其他情況下C=1。

對于包含移位操作的非加減運算指令,C中包含最后一次移出位的數(shù)值。

對于其他非加減運算指令,C位的值通常不受影響。

30:Z z="1表示運算的結(jié)果為零";z=0表示運算的結(jié)果不為零。對于CMP指令,Z=1表示進(jìn)行比較的兩個數(shù)大小相等。

31:N 當(dāng)兩個表示的有符號整數(shù)運算時,n=1表示運算結(jié)果為負(fù)數(shù),n=0表示結(jié)果為正書或零。

MRS:狀態(tài)寄存器到通用寄存器的傳送指令。

MSR:通用寄存器到狀態(tài)寄存器的傳送指令

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉