




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦昆明理工大學(xué)嵌入式技術(shù)及應(yīng)用實驗一昆明理工高校信息工程與自動化學(xué)院同學(xué)試驗報告
(2022—2022學(xué)年第1學(xué)期)
課程名稱:嵌入式技術(shù)應(yīng)用基礎(chǔ)開課試驗室:4422022年04月24日
一、試驗?zāi)康?/p>
初步學(xué)會使用EmbestIDEforARM開發(fā)環(huán)境及ARM軟件模擬器;
通過試驗把握容易ARM匯編指令的使用辦法。
二、試驗原理及基本技術(shù)路線圖(方框原理圖)
ARM處理器共有37個寄存器:
31個通用寄存器,包括程序計數(shù)器(PC)。這些寄存器都是32位。
6個狀態(tài)寄存器。這些寄存器也是32位,但只使用了其中的12位。
1.ARM通用寄存器
通用寄存器(R0~R15)可分為3類。
1)不分組寄存器R0~R7
R0~R7是不分組寄存器。在全部處理器模式下,它們都能被拜訪。它們是真正的通用寄存器,沒有體系結(jié)構(gòu)所隱含的特別用途。
2)分組寄存器R8~R14
R8~R14是分組寄存器。被拜訪的物理寄存器取決于當前的處理器模式。若要拜訪特定的物理寄存器而不依靠當前的處理器模式,則要使用規(guī)定的名字。
寄存器R8~R12各有兩組物理寄存器:一組為FIQ模式,另一組為除了FIQ模式以外的全部模式。R8~R12沒有任何指定的特別用途。只是使用R8~R12來容易地處理中斷。寄存器R13和寄存器R14各有6個分組的物理寄存器,1個用于用戶模式和系統(tǒng)模式,其他5個分離用于5種異樣模式。R13通常用作堆棧指針,稱作SP。每種異樣模式都有自己的R13。R14用作子程序鏈接寄存器,也稱作LR。
3)程序計數(shù)器R15
寄存器R15用作程序計數(shù)器(PC)。
本試驗中,ARM核工作在用戶模式,R0~R15可用。
2.存儲器格式
ARM體系結(jié)構(gòu)可以用兩種辦法存儲字數(shù)據(jù),分離稱為大端格式和小端格式。
1)大端格式
在這種格式中,字數(shù)據(jù)的高位字節(jié)存儲在低地址中,而字數(shù)據(jù)的低位字節(jié)存
放在高地址中,如下所示:
高地址3123221615870字地址
低地址2)小端格式
在這種格式中,字數(shù)據(jù)的高位字節(jié)存儲在高地址中,而字數(shù)據(jù)的低位字節(jié)存放在低地址中,如下所示:
高地址3123221615870字地址
低地址
3.GNU基礎(chǔ)學(xué)問
EmbestIDE集成了GNU匯編器as、編譯器gcc和鏈接器ld。因此,編寫程序要符合GNU的語法和規(guī)章。這里容易介紹幾點基本學(xué)問:
●程序默認入口點為“_start”,代碼段默認起始地址為0x8000●常用偽操作符1).equ
為數(shù)字常量、基于寄存器的值和程序標號定義一個字符名稱。2).global及.globl
聲明一個符號可以被其他文件引用,相當于聲明白一個全局變量。3).text
840
840
將操作符開頭的代碼編譯到代碼段或代碼段子段(Subsection)。
4).end
標記匯編文件的結(jié)束行。
試驗內(nèi)容
●認識開發(fā)環(huán)境的使用并使用ldr/str,mov等指令拜訪寄存器或存儲單元。
●使用add/sub/lsl/lsr/and/orr等指令,完成基本數(shù)學(xué)/規(guī)律運算。
●運行EmbestIDE集成開發(fā)環(huán)境,將下面兩段參考程序分離編輯輸入,生成目標代碼,
設(shè)置調(diào)試模塊,下載目標代碼到軟件仿真器。
三、所用儀器、材料(設(shè)備名稱、型號、規(guī)格等)
EmbestIDE集成開發(fā)環(huán)境
四、試驗辦法、步驟
1.打開memory窗口,觀看地址0x8000~0x801f與地址0x1000的內(nèi)容。
2.單步執(zhí)行程序并觀看和記錄寄存器與memory的值變化。
3.結(jié)合試驗內(nèi)容和相關(guān)資料,觀看程序運行,通過試驗加深理解ARM指令的使用。
試驗參考程序
1.試驗A參考程序:
.equx,45/*定義變量x,并賦值為45*/
.equy,64/*定義變量y,并賦值為64*/
.equstack_top,0x1000/*定義棧頂0x1000*/
.global_start
.text
_start:/*程序代碼開頭標志*/
MOVsp,#stack_top
MOVr0,#x/*x的值放入R0*/
STRr0,[sp]/*R0的值保存到堆棧*/
MOVr0,#y/*y的值放入R0*/
LDRr1,[sp]/*取堆棧中的數(shù)到R1*/
ADDr0,r0,r1
STRr0,[sp]
stop:
Bstop/*程序結(jié)束,進入死循環(huán)*/
.end
2.試驗B參考程序:
.equx,45/*定義變量x,并賦值為45*/
.equy,64/*定義變量y,并賦值為64*/
.equz,87/*定義變量z,并賦值為87*/
equstack_top,0x1000/*定義棧頂0x1000*/
.global_start
.text
_start:/*程序代碼開頭標志*/
MOVr0,#x/*x的值放入R0*/
MOVr0,r0,lsl#8/*R0的值乘以2的8次方*/
MOVr1,#y/*y的值放入R1*/
ADDr2,r0,r1,lsr#1/*R1的值除以2加上R0的值放入R2*/MOVsp,#0x1000
STRr2,[sp]
MOVr0,#z/*z的值放入R0*/
ANDr0,r0,#0xFF/*取R0的低八位*/
MOVr1,#y/*y的值放入R1*/
ADDr2,r0,r1,lsr#1/*R1的值除以2加上R0的值放入R2*/LDRr0,[sp]/*y的值放入R1*/
MOVr1,#0x01
ORRr0,r0,r1
MOVr1,R2/*y的值放入R1*/
ADDr2,r0,r1,lsr#1/*R1的值除以2加上R0的值放入R2*/stop:
Bstop/*程序結(jié)束,進入死循環(huán)*/
.end
四、試驗過程原始記錄(數(shù)據(jù)、圖表、計算等)
A程序截圖
B程序截圖
五、試驗結(jié)果、分析和結(jié)論(誤差分析與數(shù)據(jù)處理、成績總結(jié)等。其中,繪制曲
線圖時必需用計算紙)注:報告內(nèi)容按試驗須知中六點
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年工廠車間安全培訓(xùn)考試試題帶答案(基礎(chǔ)題)
- 2025管理人員安全培訓(xùn)考試試題含答案(研優(yōu)卷)
- 25年公司管理人員安全培訓(xùn)考試試題能力提升
- 2025年個體土地承包經(jīng)營合同范本
- 2025辦公設(shè)備租賃合同范本 辦公設(shè)備租賃合同模板
- 2025試論《中華人民共和國國際貨物銷售合同公約》中的價格條款
- 2025建筑改建合同樣本
- 2025無需抵押個人借款合同范本【標準】
- 2025年度物料供應(yīng)合同
- 2025林地樹木栽培與銷售承包合同
- (2024年)面神經(jīng)炎課件完整版
- 減鹽減油健康教育教案反思
- 特斯拉國產(chǎn)供應(yīng)鏈研究報告
- 如何進行醫(yī)療垃圾的安全運輸
- 公共停車場建設(shè)項目可行性研究報告
- 保安服務(wù)標準及工作流程
- 2024年中考數(shù)學(xué)幾何模型歸納(全國通用):18 全等與相似模型之十字模型(學(xué)生版)
- 外科疾病分級目錄
- 國家級教學(xué)成果的培育提煉與申報
- 海南師范大學(xué)《高等數(shù)學(xué)》2020-2021期末試卷B
- 2023年09月黑龍江省大興安嶺地區(qū)“黑龍江人才周”校園引才活動引進90名人員筆試歷年難易錯點考題薈萃附帶答案詳解
評論
0/150
提交評論