做星座網(wǎng)站網(wǎng)站測試的內(nèi)容有哪些
文章目錄
- 一、裸機開發(fā)(21個)
- 二、嵌入式Linux驅(qū)動例程
- 三、匯編
- 3.1 處理器內(nèi)部數(shù)據(jù)傳輸指令
- 3.2 存儲器訪問指令
- 3.3 壓棧和出棧指令
- 3.4 跳轉(zhuǎn)指令
- 3.5 算術(shù)運算指令
- 3.6 邏輯運算指令
一、裸機開發(fā)(21個)
二、嵌入式Linux驅(qū)動例程
三、匯編
我們在進行嵌入式 Linux 開發(fā)的時候是絕對要掌握基本的 ARM 匯編,因為 Cortex-A 芯片一上電 SP 指針還沒初始化,C 環(huán)境還沒準備好,所以肯定不能運行 C 代碼,必須先用匯編語言設(shè)置好 C 環(huán)境,比如初始化 DDR、設(shè)置 SP指針等等,當匯編把 C 環(huán)境設(shè)置好了以后才可以運行 C 代碼。
3.1 處理器內(nèi)部數(shù)據(jù)傳輸指令
Rx(0~12):普通寄存器
CPSR:特殊寄存器
用法,就是把后一個傳到前一個
3.2 存儲器訪問指令
LDR,相當于給一個地址命名,LDR 是從存儲器讀取數(shù)據(jù),STR 就是將數(shù)據(jù)寫入到存儲器中
3.3 壓棧和出棧指令
首先就是這是向下增長,也就是說,棧頂是R12,出棧先是LR再之后依次出棧。
主要是為了,中斷保存數(shù)據(jù)
3.4 跳轉(zhuǎn)指令
主要是,B和BL,
如果調(diào)用這個函數(shù),不會再返回此處,可以用B
對于BL,是可以保存之前的位置標號,執(zhí)行完再回來