娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

一、存儲器格式(字對齊):

Arm體系結構將存儲器看做是從零地址開始的字節的線性組合。從零字節到三字節放置第一個存儲的字(32位)數據,從第四個字節到第七個字節放置第二個存儲的字數據,一次排列。作為32位的微處理器,arm體系結構所支持的最大尋址空間為4GB。

 

存儲器格式

        1、大端格式:高字節在低地址,低字節在高地址;

        2、小端格式:高字節在高地址,低字節在低地址;

指令長度:

Arm微處理器的指令長度是32位的,也可以為16位(thumb狀態下)。Arm微處理器中支持字節(8位),半字(16位),字(32位)三種數據類型,其中,字需要4字節對齊,半字需要2字節對齊。

注:所謂的指令長度是一條完整的指令的長度,而不是單純的mov這3個字母長度

二、ARM體系的CPU有兩種工作狀態

   1、ARM狀態:處理器執行32位的字對齊的ARM指令;

         2、Thumb狀態:處理器執行16位的、半字對齊的Thumb指令;

在程序運行的過程中,可以在兩種狀態之間進行相應的轉換。處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。

CPU上電處于ARM狀態

 

三、ARM體系的CPU有以下7種工作模式:

        1、用戶模式(Usr):用于正常執行程序;

        2、快速中斷模式(FIQ):用于高速數據傳輸;

        3、外部中斷模式(IRQ):用于通常的中斷處理;

        4、管理模式(svc):操作系統使用的保護模式;

        5、數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲以及存儲保護;

        6、系統模式(sys):運行具有特權的操作系統任務;

        7、未定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件;

 

Arm的工作模式切換有兩種方法:

被動切換:在arm運行的時候產生一些異?;蛘咧袛鄟碜詣舆M行模式切換

主動切換:通過軟件改變,即軟件設置寄存器來經行arm的模式切換,應為arm的工作模式都是可以通過相應寄存器的賦值來切換的。

Tips:當處理器運行在用戶模式下,某些被保護的系統資源是不能被訪問的。

 

除用戶模式外,其余6種工作模式都屬于特權模式;

特權模式中除了系統模式以外的其余5種模式稱為異常模式;

大多數程序運行于用戶模式;

進入特權模式是為了處理中斷、異常、或者訪問被保護的系統資源;

四、寄存器

ARM有31個通用的32位寄存器,6個程序狀態寄存器,共分為7組,有些寄存器是所有工作模式共用的,還有一些寄存器專屬于每一種工作模式;

R13——棧指針寄存器,用于保存堆棧指針

R14——程序連接寄存器,當執行BL子程序調用指令時,R14中得到R15的備份,而當發生中斷或異常時,R14保存R15的返回值;

R15——程序計數器;

快速中斷模式有7個備份寄存器R8—R14,這使得進入快速中斷模式執行很大部分程序時,甚至不需要保存任何寄存器;

其它特權模式都含有兩個獨立的寄存器副本R13、R14,這樣可以令每個模式都擁有自己的堆棧指針和連接寄存器;

 

五、當前程序狀態寄存器(CPSR)

CPSR中各位意義如下:

T位:1——CPU處于Thumb狀態, 0——CPU處于ARM狀態;

I、F(中斷禁止位): 1——禁止中斷, 0——中斷使能;

工作模式位:可以改變這些位,進行模式切換;

六、程序狀態保存寄存器(SPSR)

當切換進入某一個特權模式時,SPSR保存前一個工作模式的CPSR值,這樣,當返回前一個工作模式時,可以將SPSR的值恢復到CPSR中;

七、模式切換

當異常發生,CPU進入相應的異常模式時,以下工作是由CPU自動完成的:

1、在異常模式的R14中保存前一工作模式的下一條即將執行的指令地址;

2、將CPSR的值復制到異常模式的SPSR中;

3、將CPSR的工作模式設為該異常模式對應的工作模式;

4、令PC值等于這個異常模式在異常向量表中的地址,即跳轉去執行異常向量表中的相應指令;

從異常工作模式退回到之前的工作模式時,需要由軟件來完成以下工作:

1、將異常模式的R14減去一個適當的值(4或8)后賦給PC寄存器;

2、將異常模式SPSR的值賦給CPSR;


====================================================================================

轉載:大端與小端存儲模式的詳解

存儲模式:
小端:較高的有效字節存儲在較高的存儲器地址,較低的有效字節存儲在較低的存儲器地址。
大端:較高的有效字節存儲在較低的存儲器地址,較低的有效字節存儲在較高的存儲器地址。

STM32 屬于小端模式,簡單地說:比如:temp=0X12345678;假設temp的地址為:0X4000 0000
那么,在內存里面,其存儲就變成了:
|       地址   |    HEX   |
|0X4000 0000    |78 56 43 12|

更為簡單一點:
低地址---------->高地址【大端模式】:
0X12|0X34|0X56|0X78|
低地址---------->高地址【小端模式】:
0X78|0X56|0X34|0X12|

大端與小端的優勢
二者無所謂優勢,無所謂劣勢,各自優勢便是對方劣勢
大端模式:符號位的判定固定為第一個字節,容易判斷正負。
小端模式:強制轉換數據不需要調整字節內容,1、2、4字節的存儲方式一樣

數組在大端小端情況下的存儲:
以unsigned int value = 0x12345678為例,
分別看看在兩種字節序下其存儲情況,
我們可以用unsigned char buf[4]來表示value:
Big-Endian: 低地址存放高位,如下:
高地址
       ---------------
       buf[3] (0x78) -- 低位
       buf[2] (0x56)
       buf[1] (0x34)
       buf[0] (0x12) -- 高位
       ---------------
低地址
Little-Endian: 低地址存放低位,如下:
高地址
       ---------------
       buf[3] (0x12) -- 高位
       buf[2] (0x34)
       buf[1] (0x56)
       buf[0] (0x78) -- 低位
       --------------
低地址

為何會出現大小端之分:
這是因為在計算機系統中,我們是以字節為單位的,
每個地址單元都對應著一個字節,一個字節為8bit。
但是在C語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器),
另外,對于位數大于8位的處理器,例如16位或者32位的處理器,
由于寄存器寬度大于一個字節,那么必然存在著一個如果將多個字節安排的問題。
因此就導致了大端存儲模式和小端存儲模式。
例如一個16bit的short型x,在內存中的地址為0x0010,x的值為0x1122,
那么0x11為高字節,0x22為低字節。對于大端模式,就將0x11放在低地址中,即0x0010中,
0x22放在高地址中,即0x0011中。小端模式,剛好相反。
我們常用的X86結構是小端模式,而KEIL C51則為大端模式。
很多的ARM,DSP都為小端模式。有些ARM處理器還可以由硬件來選擇是大端模式還是小端模式。

字節序:【一般操作系統都是小端,而通訊協議是大端的】
常見CPU字節序:
Big Endian : PowerPC、IBM、Sun
Little Endian : x86、DEC
ARM既可以工作在大端模式,也可以工作在小端模式
常見文件的字節序
Adobe PS – Big Endian
BMP – Little Endian
DXF(AutoCAD) – Variable
GIF – Little Endian
JPEG – Big Endian
MacPaint – Big Endian
RTF – Little Endian
另外,Java和所有的網絡通訊協議都是使用Big-Endian的編碼


對于CPU是大端還是小段,可使用代碼來進行測試:
//CPU大小端
//0,小端模式;1,大端模式.
static u8 cpu_endian;
//獲取CPU大小端模式,結果保存在cpu_endian里面
void find_cpu_endian(void)
{
      int x=1;
     if(*(char*)&x==1)cpu_endian=0; //小端模式
      elsecpu_endian=1;    //大端模式 
}
以上測試,在STM32上,你會得到cpu_endian=0,也就是小端模式.


關鍵字:ARM  工作模式  大端小端  存儲模式 引用地址:ARM工作模式和大端小端存儲模式

上一篇:OK6410裸機之中斷處理過程
下一篇:OK6410裸機之異常處理

推薦閱讀

  總部位于北卡羅來納州夏洛特的杜克能源公司(Duke Energy)概述了未來15年將在卡羅來納開展的5億美元能源儲備項目的計劃。杜克能源可再生能源和分布式能源技術總裁羅布?考德威爾(Rob Caldwell)表示:杜克能源在電池儲能領域處于領先地位,隨著我們發現能為客戶帶來好處的項目,我們的投資可能會增加。北卡羅來納和南卡羅來納的電力公司擁有和運...
參考資料:王宏波老師的PPTMSP430F6638用戶手冊王宏波老師實驗教程本章最新更新日期:2018.12.23第二章 UCS寄存器2.1 UCSCTL0上述的兩個區域并不需要設置,在配置FFL的時候直接設置成0即可,FLL配置完成后會自動被設置。2.2 UCSCTL1DCORSEL,DCOCLK的頻率范圍設置參數,通過它來設置DCOCLK的頻率范圍,比如:設置DCOCLK的輸出頻率范圍為0.64~14.0MHz如...
前不久,一加方面正式宣布將于10月15日在北京召開一加8T新品發布會,屆時正式向大家介紹這款新手機。隨后,一加科技的官方推特賬號發文宣布,本次除了發布一加8T手機外,還會為消費者帶來一款新耳機產品。不久后,有爆料稱,一加即將亮相的耳機叫OnePus Buds Z。從目前有關的爆料信息來看,OnePus Buds Z是一款主打低音澎湃體驗的耳機產品。10月9日,...
廣告摘要聲明廣告【文/伍勿武】近日,阿童木機器人宣布獲8000萬元新一輪融資。本輪融資由國中創投、新松投資、天津泰達海河智能制造產業發展基金等共同領投。據了解,本輪融資將用于新產品的開發以及在并聯領域的規?;瘽B透,進一步鞏固阿童木機器人并聯專家品牌的戰略定位。阿童木機器人成立于2013年,致力于成為全球最值得信賴的工業機器人服務商,定位...

史海拾趣

問答坊 | AI 解惑

求助:課程設計 加法計數器

本帖最后由 paulhyde 于 2014-9-15 09:51 編輯 跪求一份 加法計數器 的課程設計! mail:fred1986@tom.com  …

查看全部問答∨

求高手們幫忙看看這個射頻可調衰減器

求高手們幫忙看看這個射頻可調衰減器中Q1是用什么管的。型號是多?。。。。。≡瓉砩厦嬗玫氖沁@個3個腳的管子 …

查看全部問答∨

通過DM9000C無法下載NK

平臺 6410+CE6.0 用DM9000A網絡可以正常NK,用DM9000C不可以,提示如下信息: DM9000 ID is 0x90000a46 INFO: Probe: DM9000 is detected. DM9000: MAC Address: 0:11:22:33:44:55 System ready! Preparing for download... INFO: *** Devic ...…

查看全部問答∨

wince 5.0最新版本 dublin

聽說wince5.0出了最新版本,wince5.0_dublin,有沒有哪位仁兄知道哪里可以下載呢? 據說這個版本對藍牙有了比較全面的支持,不知道它目前都支持了哪些bluetooth profile?…

查看全部問答∨

adoce3.1對數據庫操作

if(FAILED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))                 return FALSE;                 HRESULT hr;         CLSI ...…

查看全部問答∨

wince 6.0下gprs掉線問題

請問有什么辦法可以不讓拔通的GPRS隨時都在線呢,我現在用dup方式連接了gprs的DNS服務器,連接也是成功的,最后往它發一些數據,(沒有數據返回)但我也不要求有返回的數據,只是想讓信道上有定時的有些數據流量,以此來保持狀態.但是過45分鐘后,GPRS還是斷 ...…

查看全部問答∨

請問smdk6400開機停在starting kernel...地問題

各位大大好 小弟想請教一下個問題 我在complier完load進smdk6400主板 但系統一開機執行到Starting kernel... 就當掉哩~~~ 有什麼方向可以去追緃嗎 謝謝~~~…

查看全部問答∨

EVC4.0中,提示'TextOut' : is not a member of 'CClientDC'

代碼如下:         char buff[10];         CClientDC dc(this);         sprintf(buff,\"[%o3d,%03d]\",point.x,point.y);             dc.Tex ...…

查看全部問答∨

請教mlwang_km

應該可以做,SVPWM是空間矢量方法,有具體的算法,看懂了也不難。…

查看全部問答∨

電源類資料匯總

本帖最后由 paulhyde 于 2014-9-15 03:56 編輯  …

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 青海省| 曲沃县| 西畴县| 门源| 林口县| 乐东| 重庆市| 南和县| 左贡县| 巩留县| 平陆县| 滨海县| 巴林右旗| 黎川县| 开封市| 红原县| 晋宁县| 什邡市| 乐业县| 江山市| 阳春市| 临泉县| 江源县| 巴楚县| 自治县| 遂平县| 平昌县| 龙州县| 儋州市| 泸定县| 巴塘县| 恩平市| 洛宁县| 连江县| 灌云县| 兴隆县| 漠河县| 武强县| 张北县| 商洛市| 永州市|