




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
CENTRALSOUTHUNIVERSITY
實驗報告
課程名稱:嵌入式系統(tǒng)開發(fā)
姓名:
任課教師:
學院:信息科學與工程學院
專業(yè)班級:物聯(lián)網(wǎng)工程
2016年12月
目錄
實驗一ARM匯編指令...........................................1
1.實驗目的.................................................1
2.實驗設備................................................1
3.實驗內容................................................1
1)實驗A——完成運算x+y,把結果存入堆棧寄存器(R13)中1
2)實驗A運行截圖......................................1
3)實驗B一一完成運算8x+y/201Tox01+(zand0xFF+y/2)/2,將
結果保存在R2中............................................6
4)實驗B運行截圖......................................6
實驗二ARM處理器工作模式......................................13
1實驗目的................................................13
2實驗設備................................................13
3實驗內容.................................................13
4實驗截圖................................................14
1)進入系統(tǒng)模式.......................................17
2)初始化系統(tǒng)模式下的R0-R14寄存器....................18
3)切換到FIQ模式.....................................19
4)初始化FIQ模式下特有的寄存器R8-R14................................19
5)切換到中止模式.......................................20
7)切換到管理模式.......................................22
8)初始化管理模式下特有的寄存器R13-R14.............................22
9)切換到IRQ模式......................................23
10)初始化IRQ模式下的R13-R14..............................................23
11)J進入未定義模式....................................24
12)初始化未定義模式下的寄存器R13-R14.................................24
5實驗心得................................................25
實驗三C語言程序(一)........................................26
1實驗目的................................................26
2實驗設備................................................26
3實驗內容................................................26
4實驗截圖................................................26
實驗四c語言程序實驗(二)....................................35
1實驗目的................................................35
2實驗設備................................................35
3實驗內容................................................35
4實驗截圖................................................35
5實驗心得................................................45
實驗五匯編和C語言的相互調用實驗..............................45
1實驗目的................................................45
2實驗設備................................................45
3實驗內容................................................46
4實驗截圖................................................46
5實驗心得................................................56
實驗六綜合編程實驗............................................57
1實驗目的................................................57
2實驗設備................................................57
3實驗內容................................................57
4實驗截圖................................................57
5實驗心得................................................66
11
實驗一ARM匯編指令
1.實驗目的
(1)初步學會使用ADS1.2集成開發(fā)環(huán)境及ARM軟件模擬器;
(2)通過實驗掌握簡單ARM匯編指令的使用
2.實驗設備
(1)硬件:PC機
(2)軟件:ADS1.2集成開發(fā)環(huán)境,Windows98/2000/NT/XP
3.實驗內容
(1)熟悉ADS開發(fā)環(huán)境,并使用LDR/STR和MOV等指令訪問寄存器或
存儲單元;
(2)使用ADD/SUB/LSL/LSR/AND/ORR/等指令完成基本數(shù)學邏輯運算。
1)實驗A——完成運算x+y,把結果存入堆棧寄存器(R13)中
在該實驗中主要是通過MOV/STR/LDR/ADD等指令來完成基本的加操作運
算。
2)實驗A運行截圖
-r20x000000005ENTRY
-r30x00000000?6MOVSP,Istack-top
0x000000007MOVR0,以
8SIRR0,(SP]
-r50x00000000
9MOVR0#y
,,r60x00000000r
10LDRRI,[SP]
0x00000000
?-r7ADDR0,R0,RI
-r80x0000000012SIRR0,[SP]
??r90x0000000013stop
-rlC0x0000000014Bstop
1rli0x0000000015END
16
--rl20x00000000
-rl30x00000000
令對應的代碼
一1140x00000000V
11
getImageFiles3
17TDMI-MemoryStartiddr<[Ox££O
?Hex-Noprefix|Tab2-Hex-b3-Hx-NoT
dress
IOOOCFFOE7FF0010E800E8E7JF0010E80CE00
?0001000E7FF0010E800EZ00EJFF0010E80CE00
17TDMI-MemorySt,§ddr帆4
-Hex-Noprefix|/ab2-Hex?人。prefix|Tab3-He-No
dress08
IOOOEOOOE3A0DD40E3A0002DE58DOOOO£3AC0040
iQOOeOlOE59D1000E0800001E58DOOOOEAFFFFFE
2
4AREAstartrCODE,READONLY
5ENTRY
0X0000002DL
6MOVSP.#scack_top
0x00000000otvoeoao[0xe3a0dd40]movr13,*0x1000
0x000000007**MOVR0,.x
0x000000000C008004[0xe3a0002d]movrO,*0x2d
0x000000008STRR0,[SP]
0x000000000C008008|;0xe58d0000]strrO,(rl3,*0]
0x000000009MOVR0,,y
0x000000000C00800C[0xe3a00040)movr0,?0x40
ICLDRRI,[SP]
0x00000000
0C008010(0xeS9dl000]Idrrl,(rl3,#C]
0x0000000011ADDR0,R0,RI
0x000000000C008014(0xe0800001)addrO,rO,rl
0x0000000012STRR0,[SP]
0x000000000C008018(0xe58d0000)strrO,(rl3,#0]
0x0000100013stop
0x0000000014Bscop
stop(Oxeafffffe)bstop
0x00008008
ISEND
nzcvqIFt__SV^1€
nzcvqift_Re.
PC指向下一條指令的地址
rgetImageFiles
S7TDMI-MemoryStartftddr^Ox^FO-H
S7TDMI?MemoryStartiddr4OxSOdO±l
b1-Hex-Noprefix|Tab2?Hex-Nc^prefix^Tab3-Hex-Noprefix|Tab4-Hex-Noprefi
idreas|______048|c—|_______________________________
30308000E3A0DD40E3A0002DE58D0000E3A00040
30308010E59D1000E0800001E58D0000EAFFFFFE
ste?Registers
④ARM7TDMI?E:\ads1.2\projec\test\asm1_a.s
egisterValue
5ENTRY
K7TIWI-Registers6J40VSP,#stack_top
/00008000[0xe3a0dd40]movr13,#0x1000
egiater|Valu.|A/7MOVR0,?x
|-r50x00000000?800008004[0xe3a0002d]movrO,10x2d
|-r70x000000007STRR0,[SP||
prB0x00000000/00008008[0xe58d0000]strIO,(r13r#0)
j-r)0x00000000/9HOVROr#y
brio0x00000000/0000800c[Oxe3aOOO4O]movzO,10x40
10LDRRl,[SP|
F-rLl0x0000000000008010[Oxe59dlOOO]Idrrl,[rl3,10]
prL20x00000^00/IllADDRO,RO,R1
j-rL30x00001000/
00008014[0xe0800001]addrOfrO,rl
;rL40x00000000^
12STRR0r[SP|
卜p:0x00008004r00008018[0xe58d0000]strrO,[rl3,<0]
hcosrnzcvqIFt_SVt13stop
14Bscop
Lsoarnzcvqift_Re;
stop[Oxeafffffe]bstop
User/System{...}v15END
3
J
—<■??
ICurrent{...)5ENTRY
pxO0x0000004I6MOVSP,#3tack_top
pxl
0x00000000^x00008000[0xe3a0dd40]movrl3r#0x1000
卜r20x000000007MOVR0,#x
|-i30x00000000"9Q008004[0xe3a0002d]movr0,#0x2d
x40x00000000STRR0,[SP]
0000800^4^xe58d0000]strr0,[rl3<0]
占50x00000000r
9、MOVRO#y
卜160x00000000r
0000800c[0xe3a00040]movr0#?0x40
占70x0000000010LDRRI,[SP]
Px80x0000000000008010(0xe59dl000)Idr[rl3,10]
0x0000000011ADDRO,RO,RI
H1100x00000000v00008014[0xe0800001]add
12STRR0,[SF]
00008018[0xe58d0000]strrO,[rl3<0]
argetImageFilesr
13stop
iUIVII-rviemory|VAAC*-m
'ab1-Hex?NoprefHex-NoTab3-Hex-NoTao4-Hex-Nopr
Address0/48c
xCOOOOFFOE7FF0010/E800E800E7FF0010E800E800
xCOOOlOOO0000002DE800E800E7FF0010E800E800
XCOOOIOIOE7FF0010E800E800E7FF0010E800E800
XC0001020E7FF0010E800E800E7FF0010E800E800
*J
4AREAstart,CODE,READONLY
卜Current{..J5ENTRY
hrO0x00000040
6MOVSPr#stack_top
FT10X0000002D00008000[0xe3a0dd40]movrl3f#0x1000
卜H2OxOO<bOOO8^7MOVR0r*x
00008004[0xe3a0002d]movrO,#0x2d
卜工30x00(00000■
STRR0[SP]
卜"OxOOC000007r
0$Q08008[0xe58d0000]strrO[rl3#0]
j--T50x00(00000rr
9MOVR0#y
j-r6r
OxOOC000000000800c妝?3a00040]movrO,10x40
Hr7oxoocoooN10、LDRRI,[SP]
I~~r80x00(0000000008010[0xe59dl000]Idrrl,[rl3,#0]
kr90x00(0000011ADDRO,RO,RI
V
AvnnrAAAAA,00008014[0xe0800001]addr0rr09rl
12STRRO,[SP]
00008018[05<e58d0000]strrO,(r13#0]
PargetImageFile』|.』r
13StCD
■t
RM7TDMI-MemoryStart鼠dr標而
Fab,-Hex?Noprefx|Tab2-Hex-Noprefix|Tab3-Hex-Noprefix|Tab4-Hex-Nopre
Address048c
?xOOOOOFFOE7FF0010E800E800E1FF0010E800E800
IXOOOOIOOO0000002DE800E800E1FF0010E800E800
IXOOOOIOIOE7FF0010E800E800E1FF0010E800E800
X00001020E7FF0010E800E800E1FF0010E800E800
4
giscerValueA6MU/tstack_top
00008000[0xe3a0dd40]movrl3f10x1000
:urrent{?..)7MOVR0,”
rC1Ox0000006D^?00008004[0xe3a3002d]movr0,IOx2d
Prl0x0000002D、8STRR0,[SP]
kr;0x00000000
00008008[0xe58d0000]strr0r(r13r10]
卜-r30x00000000M07R0rfy
0Q0Q800c[0xe3a90040]movr010x40
卜0X00000000r
|-r50x0000000010LDRRI,[SP]
0000801OXPxe59dl000]Idrrl,|rl3,?0]
E0x0000000011、ADDR0,R0,RI
0x000000000^008014[0xe0830001]addrO,rO,rl
i--r€0x0000000012STRR0,[SP]
|-r$0x00000000
400008018[0xe58d0000]strr0r[rl3r*0]
1一.1八AvnnnAAAnAv13stop
14Bstop
rgelImageFiles4|>stop[Oxeafffffe]bstop
15END
UUUUOUUU[UACOaUUU**UJ1UUVLXOYUAXUUU
Current{.?.)r
7MOVR0rfx
-z00x0000006、00008004[0xe3a0002d]movr0,?0x2d
-xioxooooooai\8STRR0,[SP]
'、
一12OxOOOOOOOD00008008[0xe58d0000]szrr0,[r13r#0]
\\9MOVRO#y
-z3OxOOOOOOCK)r
一I40x00000000uQ00800c[0xe3a00040]movr0,10x40
lO'vLDRRI,[SP]
-i5OxOOOOOOdO0000^0[0xe59dl000]Idrrl,[rl3,10]
-z6OxOOOOOOpO11ADDR0,R0,RI
—l7OxOOOOOODO
00008014;5^e0800001]addr0rr0,rl
-z80x0000000012、STRR0,[SP]
一19oxooooodoo00008018[0xe58d0000]strr0,(rl3,10]
AAvAnnAnAnnv13stop
I
f14Bstop
“getImageFilesI■I,,scop|[0xeafffffe]bscop
15END
M7TDMI-MemoryStart£dr帆££0JJ
3bl-Hex-Noprefix!|Tab2-Hex-Noprefix|Tab3-Hex-Noprefix|Tab4-Hex-Nopref
address014sc
[OOCOOFFOE7FF001QLE800E800E7FF0010E800E800
cOOCOlOOO0000006DE800E800E7FF0010E800E800
rnnrnininF^FFnninrpnnronnFTTrnmnronnronn
5
3)實驗B--完成運算8x+y/2orr0x01+(zand0xFF+y/2)/2,將結果保存
在R2中
通過使用MOV/STR/LDR/ORR/LSR/ADD等指令完成簡單的加操作運算。
4)實驗B運行截圖
xvnriiimx-negisrers
MOVR0,#X
RegisterValueA
*00008000[0x^3a0002d]mov
-rll0x00000000MOVR0,R0,LSL
?rl20x0000000000008004[?xela00400)movrO,rO,Isl18
-rl3CxOOOOOOOOMOVR1,#Y
Hrl40x0000000000008008[0xe3a01040]movnr#0x40
-PC0x0000800010ADDR2,RO,R1,LSL
000080[0xe0802081]addr2,r0,rllai*1
cpsrnzcvqIFt_SVir
11MOVSP,00X1000
spsrnzcvdiftJRe
00008010[0xe3a0dd40]movrl3,10x1000
B-User/System{...
STRR2,[SP]
□F】Q{...
000X)8014[0xe58d2000]strz2t[r13,#0]
BlFQ{..J11
IRM7TDMI-MemoryStartiddr4Oxfi_±1
Tabi-Hex-NoprefixITab2-Hex/Hex-NoTab4-Hex-Noprefix
Address/04L8c
OxOOOOOFFOE7ET0010E800EajOE7FF0010E8OOE8OO
0x00001000E7BF0010E80OEJOOE7FF0010E8OOE8OO
£800/800
0x00001010E7FF0010E7FF0010E8OOE8OO
0x00001020EyFFOOlOE80/JE800E7FF0010E8OOE8OO
由舞都排址1000璇,
kRM7TDMI-林神密道力E3A0002DK
Tabi-HexQ。prefixJab2-Hex-Noprefix|Tab3?Hex-Noprefix|Tab4-Hex?Noprefix
Address0J48c
0x00008000E3A0002"E1A00400E3^01040E0802081
0x00008010E3A0DD40E58D2000E3A00057E20000FF
0x00008020E3A01040E08020A1E59D0000E3AO1OO1
0x00008030E1800001E1A01002E08020A1EAFFFFFE
6
RegisterValue5AREAstartl,CODE,READONLY
*1.1I
3-Ciirr.nt___f—X_______116ENTRY
_[ValueA
Register5AREAstartlrCODErREADONLY
6ENTRY
□Current(...)
7MOVRO,?X
,rO0x00002000^j一
J0xe3a0002d]movrC,*0x2d
rl0x00000000
8MOVRO,RO,LSL*8
??r21^(00000000
00008004[0xela00400]movrCrrO,lsl#8
-r30x000000009MOVRI,OY
-r40x000000004/00008008|;0xe3a01040]movrl,?0x40
/10
--rS0x00000000ADDR2,RO,R1,LSL*1
/0000800c
-r60x00000000[0xe0802081]addr2rrOrrlrIsln
f11MOVSP#0X1000
0x00000000r
00008010[0xe3a0dd40]movrl3#0x1000
???re0x00000000r
/12STRR2,(SR〕
-r90x0000000000008014[0xeS8d2000]strr2,[rl3,#0]
rlO0x00000000
/13MOVRO,tZ
-rll0x0000000000008018[0xe3a00057]movrO,#0x57
-rl20x0000000014ANDR0rR030XFF
,rl30x000000000000801c[0xe20000ff]andrCrrOr#Oxff
0x00000000/MOVRl#Y
-rl415r
0x00008008*00008020[0xe3a01040]mov口,?0x40
-pc
16ADDR2,RO,R1,LSR*1
?cpsrnzcvqIFt_SV
00008024[0xe08020al]addr2,rO,tlrIsr*1
spsrnzcvqiftRe.1rTnoDArcci
7MOVROtX
0x00002000r
00003000:Jxe3a0002d]mcvrOIOx2d
0x00000040r
MOVR0,R0,L3L
0x0000000^
0xela00400]mcv
0x00000000
0x0000000000008008[0xe3a01040]mcvrl,IOx4O
0x0000000010ADDR2,R0,R】,LSL#1
0000300c[0xe0802081]acdr2r0,rl,lsl*L
i-r60x00000000nr
/MOVSP,tOX1COO
i-r70x00000000
/00003010[0xe3a0dd40]movrl3,#0x1000
0x00000000
!-r2STRR2[SP]
j-r90x00000000r
/00003014[0xe58d2000]strr2f:rl3r<0]
prlO0x0000000013MOVRO"Z
j-rll0x0000000000003018[0xe3a00057]mcvrOr10x57
j-rl20x0000000014ANDRO,RO*CXFF
/r
OOOOBOlc[0xe20000ff]ar.drO,rOtOxff
i-rl30x00000000/f
J-rl40x00000000df15MOVR1,tY
l-pcoxooooeooc900008020[0xe3a01040]mcvrl,10x40
16ADDR2,R0,R],LSR+1
r-cpsrnzcvqIFt_SVi
00003024[0xe08020al]acdr2,rOrrlrIsr#L
:一spsrnzcvqift_Re;m??nreel
7
uirent6EliTRY
7MOVRO,*X
一10Ox0OOO2DOO
00008000[0xe3a0002d]movrO,#0x2d
一ri0x00000040
8MOVRO,RO,LSI#8
占2
0x00002比0^^00008004[0xela00400]movrO,rd,Isl*8
-
占30x00000000MOVR1,*Y
-r40x00000000oooo8tn>e-4fixe3a01040]movrlr#0x40
'ADDR2,
~r50x0000000010ROrRl,LSL*1
—r60x000000000000800c[0xe0802081]addr2,rOrrl,lsl*1
iiMOVSP,miooo
一r70x00000000
■f/00008010[0xe3a0dd40]movrl3,10x1000
-t80x00000000
/12STRR2,[SP]
一
190x00000000/00008014(0xe58d2000]3ZTr2,(rl3,10]
LEO0x00000000/13MOVRO,?Z
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程鋼筋承包合同
- 個人合作協(xié)議合同
- 綠色能源采購供應合作協(xié)議
- 物流運輸行業(yè)風險免責協(xié)議
- 合伙人退出協(xié)議6篇
- Module3 Unit2 Point to the window(教學設計)-2024-2025學年外研版(一起)英語一年級上冊
- 小學信息技術五年級上冊第4課《 美化圖像我來做》教學設計
- 濟南非金屬聲屏障施工方案
- 26 我的“長生果”教學設計-2024-2025學年語文五年級上冊統(tǒng)編版
- 砼滴水坑施工方案
- 小學教師培訓課件:做有品位的小學數(shù)學教師
- 2024年常德職業(yè)技術學院單招職業(yè)適應性測試題庫
- 監(jiān)護人考試20241208練習試題附答案
- 證券公司裝修施工合同工程
- 人教版PEP三年級到六年級單詞以及重點句型
- ABB工業(yè)機器人應用技術 課件 2.6系統(tǒng)輸入輸出與IO信號的關聯(lián)
- 2024-2024年上海市高考英語試題及答案
- 中建總承包項目高支模專項施工方案含計算書
- 學校疫情防控學校傳染病疫情及突發(fā)公共衛(wèi)生事件報告制度
- 神經(jīng)重癥患者鎮(zhèn)痛鎮(zhèn)靜中國共識(2023版)
- 山東省濟南市2023-2024學年高二上學期期末考試化學試題 附答案
評論
0/150
提交評論