實驗一、ADS12軟件環(huán)境練習(xí)_第1頁
實驗一、ADS12軟件環(huán)境練習(xí)_第2頁
實驗一、ADS12軟件環(huán)境練習(xí)_第3頁
實驗一、ADS12軟件環(huán)境練習(xí)_第4頁
實驗一、ADS12軟件環(huán)境練習(xí)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

OtijectLitiK:±i-OtijectLitiK:±i-j.pEmptyFrojectMalcafilaImpartarWizurd適ThumbAEMTmterworkingImage碣ThiJITibExHcutatilpImageij^lThumbObjactLibr-aryLocation』:IE:匹yARM220[iIes<periment 血t..」—AddtoFrojerFroject:3.1ADS1.2集成開發(fā)環(huán)境練習(xí)一、實驗?zāi)康牧私釧DS1.2集成開發(fā)環(huán)境的使用方法。二、實驗設(shè)備硬件:PC機一臺軟件:Windows98/XP/2000系統(tǒng),ADS1.2集成開發(fā)環(huán)境三、實驗內(nèi)容建立一個新的工程;建立一個C源文件,并添加到工程中;設(shè)置編譯連接控制選項編譯連接工程。四、實驗步驟1.啟動ADS1.2IDE集成開發(fā)環(huán)境,選擇【File】->【New…】,使用ARMExecutableImage工程模板建立一個工程,工程名稱為ADS,見圖3.1。Ffoject]氏"]Object]ProjectTL:=iiTie圖3.1建立ARM2.圖3.1建立ARM2.圖3.2。輸入如程序清單3.1所示的代碼,并保存,見圖3 ―|Frojectrile]Object]指令代碼的工程選擇【Fi]e】_>【New…】建立一個新的文件TESTIS,設(shè)置直接添加到項冃中.TextFileTextFilefilename:TESIl.SlLocatiun:\EaEyAFJi12SjOl,i.esiperimeii^弄t..」巫AddtoFrojTroject:~SJDebucHDetnigRel|?lReleaseSTARTAREASTARTAREAExample1,CODE,READONLY;聲明代碼段Example1ENTRY;標識程序入口CODE32;聲明32位ARM指令MOVR0,#15、ft.)11r匕、v.;設(shè)置參數(shù)MOVR1,#8ADDSR0,R0,R1;R0=R0+R1BSTARTEND圖3.2新建文件TEST1.S程序清單3.1TEST1.S文件代碼TnTx|悔DebugRelFilEEjLiitkOrder]Targets|FileTESTI.S1£ile圖3.3添加了TEST1.S的工程管理窗口0 —3.選擇【Edit】->【DebugRelSettings…】,在DebugRelSettings對話框的左邊選擇ARMLinker項,然后在Output頁設(shè)置連接地址(見圖3.4),在Options頁設(shè)置調(diào)試入口地址(見圖3.5)。H-Tirga-t…TarjatSfiitA.ec4 PQthzEtAtldExtrisRijjtiimtEsttingsFilePilappinga■■-Seim-匚疋7re±sH-Tirga-t…TarjatSfiitA.ec4 PQthzEtAtldExtrisRijjtiimtEsttingsFilePilappinga■■-Seim-匚疋7re±sAfiflTarget曰?LaiLguagESettingsARJHAssemblsrARJHCCompiler…ARJH匚十十CcmpilHrtSettingsP&nals0AEM^inker圖3.4工程連接地址設(shè)置:■Q Sattings目TargetSe11[叱匚卩曰Tirgfit■■-T-argat.£0七i.Lii歹虹E!0匚匚P4*tb.EBuild.Eacti-iERnittim亡Settings:■Q Sattings目TargetSe11[叱匚卩曰Tirgfit■■-T-argat.£0七i.Lii歹虹E!0匚匚P4*tb.EBuild.Eacti-iERnittim亡Settingsh-FilePilappingaj—Scinr匚已Trees-ABHTarget曰LaiLguageSettingsrAFillAsEemblaf》??AEfl匚CompiLer”AKIl匚卄CuTipilerUTkunbCConpiler"-ThmibC++Con..曰.LinkatrgJLBMLJBto£iallilrOutputL°口JsynbiGivegrogres5mF■:'lrmatira.vkilgRyp&rt'migi-Lt£>iilrtconditn衛(wèi)ASM丄ink^TI?Eeaii~£iLLy磺 】tw眉lerD"irdtiaL:I7F7廠R7Out■卩utOptioils|Lay^ui.百宮|E^tr3.3]uReneveuji.llsedsecti口d.2In.cl'u.d.e iri£c>rmatSearch.GiorLd.[ii''lL2Br■ARMLiri迂ARHfronEL?曰Elitor圖3.5工程調(diào)試入口地址設(shè)置4.選擇【Project】->【Make】,將編譯連接整個工程。五、思考工程模板有何作用?(提示:編譯控制設(shè)置)如何強行重新編譯工程的所有文件?(提示:選擇【Project]->【RemoveObjectCode…】刪除工程中的*.obj文件)EQU11;定義EQU11;定義X的值為11YEQU8;定義Y的值為8BIT23EQU(1<<23);定義BIT23的值為0x00800000BIT23EQUAREAExample3,CODE,READONLY;聲明代碼段Example3ENTRYCODE32;標識程序入口;聲明32位ARM指令START;使用MOV、ADD指令實現(xiàn):R8=R3=X+YMOVR0,#X;R0<=X,X的值必須是8位圖數(shù)據(jù)MOVR1,#Y;R1<=Y,Y的值必須是8位圖數(shù)據(jù)ADDR3,R0,R1;即是R3=X+YMOVR8,R3;R8<=R3;使用MVN、SUB指令實現(xiàn):R5=0x5FFFFFF8-R8*8MVN R0,#0xA0000007 ;0xA0000007的反碼為0x5FFFFFF8SUB R5,R0,R8,LSL#3 ;R8左移3位,結(jié)果即是R8*8;使用CMP指令判斷(5*Y/2)>(2*X)嗎?若大于則R5=R5&0xFFFFOOOO,否則R5=R5|0x000000FFMOV R0,#YADD R0,R0,R0,LSL#2 ;計算R0=Y+4*Y=5*YMOV R0,R0,LSR#1MOV R1,#XMOV R0,R0,LSR#1MOV R1,#XMOV R1,R1,LSL#1CMP R0,R1比較LDRHIR2,=0xFFFF0000ANDHIR5,R5,R2ORRLSR5,R5,#0x000000FF;計算R0=5*Y/2;計算R1=2*X;比較R0和R1,即(5*Y/2)和(2*X)進行;若(5*Y/2)>(2*X),貝I」R2<=OxFFFFOOOO;若(5*Y/2)>(2*X),則R5=R5&R2;若(5*Y/2)W(2*X),則R5=R5l0x000000FF;使用TST指令測試R5的b

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論