新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM體系架構(gòu)學(xué)習(xí) -uboot分析之start.S

ARM體系架構(gòu)學(xué)習(xí) -uboot分析之start.S

作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
通過分析start.S代碼,學(xué)習(xí)ARM體系結(jié)構(gòu)是一種很好的方法。

start.S是u-boot的關(guān)鍵部分,CPU上電后最先開始執(zhí)行的代碼,和ARM體系結(jié)構(gòu)息息相關(guān)。

本文引用地址:http://m.butianyuan.cn/article/201611/317815.htm

通過查閱代碼中遇到的各種指令,來進(jìn)一步了解ARM體系結(jié)構(gòu)中各個(gè)知識(shí)點(diǎn)。

/*
* the actual start code
*/
start_code:
/*
* set the cpu to SVC32 mode
*/
mrs r0,cpsr
bic r0,r0,#0x1f
orr r0,r0,#0xd3
msr cpsr,r0

紅色字體是要查閱的

MRS:MRS是要將CPSR寄存器中的內(nèi)容保存到通用寄存器中,在這里是r0,就是說CPSR(當(dāng)前程序狀態(tài)寄存器)必須使用MRS這條指令才能讀取
CPSR:當(dāng)前程序狀態(tài)寄存器,保存了CPU當(dāng)前的各種狀態(tài),另外還有一個(gè)SPSR(保存的程序狀態(tài)寄存器),是在異常處理前對(duì)CPSR的保存。

CPSR的用途-改變CPSR的值通常出于幾個(gè)目的:

  1. 改變condition code標(biāo)志
  2. 使能/禁止中斷
  3. 改變處理器模式
  4. 改變load或store操作的字節(jié)序
  5. 改變處理器狀態(tài)(J and T)

待續(xù)。。。。。。



關(guān)鍵詞: ARM體系架構(gòu)uboo

評(píng)論


技術(shù)專區(qū)

關(guān)閉