android各種超炫特效arm實(shí)驗(yàn)第1天手冊(cè)_第1頁(yè)
android各種超炫特效arm實(shí)驗(yàn)第1天手冊(cè)_第2頁(yè)
android各種超炫特效arm實(shí)驗(yàn)第1天手冊(cè)_第3頁(yè)
android各種超炫特效arm實(shí)驗(yàn)第1天手冊(cè)_第4頁(yè)
android各種超炫特效arm實(shí)驗(yàn)第1天手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

RealViewMDK軟件開發(fā)環(huán)境簡(jiǎn) RealViewMDK的突出特 RealView使 實(shí)驗(yàn)二、ARM指令 實(shí)驗(yàn) 實(shí)驗(yàn) 實(shí)驗(yàn)九、接口實(shí) 實(shí)驗(yàn)一、熟悉realview開發(fā)環(huán)RealViewMDK軟件開發(fā)工具。RealViewMDKμVision3RealView編譯器,支持ARM7、ARM9和的Cortex-M3核處理器,自動(dòng)配置啟動(dòng)代碼,集成Flash燒寫模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的版本可將性能改善超過(guò)20%。RealViewMDK —啟動(dòng)代碼生成向?qū)?,自?dòng)引導(dǎo),一日千里 —軟件模擬器,完全脫離硬件的軟件開發(fā)過(guò)程 —性能分析器,看得更遠(yuǎn)、看得更細(xì)、看得更清 —Cortex-M3支持 —RealView編譯器代碼更小,性能更高配備ULINK2仿 —無(wú)需安裝驅(qū)動(dòng)Flash編程模塊 —輕松實(shí)現(xiàn)Flash燒寫 —,本土價(jià)μVision3RealViewRL-ARM(可選ULINK2μVision3μVisionIDE10Keil816MCUARM32μVisionIDE1.1μVision3μVision3IDE用于應(yīng)用程序到FlashROM中的Flash編程器μVision3IDE的啟動(dòng)代碼配置向?qū)⒏鱾€(gè)所需配置的功能模塊以框方式展示,附圖 μVision3設(shè)備模擬ADC,DAC,EBI,Timers外部信號(hào)和I/O1.31.4RealView編譯器RealViewMDK集成的RealView編譯器(跟RVDS使用一樣的編譯器是業(yè)界最優(yōu)秀的庫(kù)(用于C的ISO標(biāo)準(zhǔn)運(yùn)行時(shí)庫(kù)的一個(gè)子集,并將其代碼鏡像降低最小以滿足微控制器應(yīng)用的需求。MicrolibCRealViewRL-ARM(可選ULINK2仿真RealViewμVisionμVisionARMRealViewARMADS編譯器、GNUGCC編譯器和KeilCARMGNUGCC編譯器或ARMADS編譯器時(shí)必須另外安裝它們編μVisionIDEProjectManageComponentsandBooks框的Folders/Extensions頁(yè)(見下圖)中選擇1.5UseRealViewCompilerARMRealViewARMADS/RealViewμVisionRealView編譯器ADSV1.2:C:\ProgramRealView2.1:C:\ProgramUseKeilCARMCompilerKeilCARMKeilAARM編器和KeilLARM器/裝載器UseGNUCompilerGNUCygnusFolderuclib的GNUV3.22:GNU-Tool-Prefix:arm-uclibcCygnusFolder:帶標(biāo)準(zhǔn)庫(kù)的GNUARMV4:GNU-Tool-Prefix:arm-elfCygnusFolder:C:\ProgramFiles\GNUARM\Keil根 的設(shè)置是基于μVision/ARM開發(fā)工具的安裝 的。對(duì)于KeilARM工 單擊Project->New...->μVisionProject菜單項(xiàng),μVision3將打開一個(gè)標(biāo)準(zhǔn)框,輸入 字Project1,μVision將會(huì)創(chuàng)建一個(gè)以Project1.UV2為名字的新工程文件它包含了一個(gè)缺省的目標(biāo)(target)和文件組名。這些內(nèi)容在ProjectWorkspace->Files中可以看到。μVisionPhilipsLPC2106LPC2106設(shè)備的必要工具選項(xiàng)、簡(jiǎn)化了工具的配置。1.6當(dāng)創(chuàng)建一個(gè)新的工程時(shí),μVisionCPU對(duì)于一些設(shè)備而言,μVision創(chuàng)建源文件以后,就可以將這個(gè)文件添加到工程中。μVision提供了幾種方法將源文件ProjectWorkspaceFiles頁(yè)的文件組上點(diǎn)擊鼠標(biāo)右鍵,然后在彈c文件即完成源文件的添加。編譯、工μVision可以設(shè)置目標(biāo)硬件的選項(xiàng)。通過(guò)按鈕或Project-OptionsforTarget菜單項(xiàng)打開OptionsforTarget框,在Target頁(yè)中設(shè)置目標(biāo)硬件及所選CPU片上組件的參數(shù)。LPC2106的一些參數(shù)設(shè)置。1.7

框 描設(shè)備的晶振(XTAL)頻率。大多數(shù)基于ARM的微控制器都使用片上PLL產(chǎn)生CPU時(shí)鐘。所以,一般情況下CPU的時(shí)鐘與XTAL的頻率是不同Read/OnlyMemoryMemoryAreas

CodeGenerationARMcodeThumb,對(duì)于GNU和ARMADS/RealView工具鏈來(lái)說(shuō)器的配置是通過(guò)器控制文件實(shí)現(xiàn)的。這個(gè)文件指定了ARM目標(biāo)硬件的配置。預(yù)配置的器控制文件在文件夾..\ARM\GNU或..\ARM\ADS中。為了與目標(biāo)硬件相匹配,用戶可能會(huì)修改器控制文,-OptionsforTarget框的Linker頁(yè)添加到工程中1.8linker和R/W的址即可OptionsTarget頁(yè)中的所有的工具和屬性都要配置。單擊BuildTarget按鈕將編譯所有的源文件,應(yīng)用程序。當(dāng)編譯有語(yǔ)法錯(cuò)誤的應(yīng)用程序時(shí),μVision將在OutputWindowBuild1.9Debug->Start/Stopdebugsession(CtrlF5)即進(jìn)入調(diào)試模式。調(diào)試的操作都可以在Debug菜單下找到。如下圖所示為進(jìn)入調(diào)試模式下時(shí)的界面。1.10simulator常用的調(diào)試F10F5ARM7種模式下的寄存器,都可以查看。當(dāng)處理器處于任何一種模式時(shí),Localstablocal對(duì)于全局變量,選擇Watchwindow中的Watch#1,加入你需要查看的變量就可以SimulatorRealViewMDK強(qiáng)大的仿真功能來(lái)調(diào)Peripheral->GPIOGPIOpin的實(shí)時(shí)狀態(tài)信息。全速運(yùn)行程序后,GPIO的狀態(tài)就開始按照程序的控制開始變化。ProjectWorkspace->Files窗口點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中可以設(shè)置文件夾或單框 描 從μVision Listing 設(shè)置C 設(shè)置器的相關(guān)選項(xiàng)。一般來(lái)說(shuō),器的設(shè)置需要配置目標(biāo)系統(tǒng)

μVisionUtilities配置Flash編程實(shí)用工具實(shí)驗(yàn)二、ARM指令A(yù)RM匯編指令μVision3IDEforARMARM通過(guò)實(shí)驗(yàn)掌握簡(jiǎn)單ARM匯編指令的使用方法。1ARM\ARM1天\下建立文件夾命名為asm-00,運(yùn)行μVision3IDEProjectNew…–μVisionProject,系統(tǒng)彈出一個(gè)框,按照?qǐng)D2-1所示輸入相關(guān)內(nèi)容。點(diǎn)擊“保存”按鈕,將創(chuàng)建一個(gè)新工程2

2-CPU,2.2SAMSUNG

2-在圖2-3中點(diǎn)“確定”后,會(huì)彈出一個(gè)框,問(wèn)是否要添加啟動(dòng)代碼。如圖2.32-ProjectManageComponents,Environmentand-Folder/Extensions框的Folder/Extensions頁(yè)內(nèi)選擇開發(fā)工具,如圖2-4所示2-4RealViewCompiler。FileNew,系統(tǒng)彈出一個(gè)新的、沒(méi)有標(biāo)題的文本編輯窗,輸入光標(biāo)位于asm1_a.s。單擊工程管理窗口中的相應(yīng)右鍵菜單命令,選擇AddFilesto…,會(huì)彈出文件選擇對(duì) 下選擇剛才建立的源文件asm1_a.s。如圖2-5所示。7

2-選擇菜單項(xiàng)Project->OptionforTarget…將彈出工程設(shè)置框如圖2-6所示。TargetLinkerDebug選項(xiàng)頁(yè)進(jìn)行配置。Target2-6;Linker選項(xiàng)頁(yè)的配置如圖2-7;Debug選項(xiàng)頁(yè)的配置如圖2-8DebugDebugINRam.ini。此.INI文件用于設(shè)置生成的.AXF文件到目標(biāo)中的位置,以及調(diào)試前的寄存器、內(nèi)存的初始化等配置操作。它是由調(diào)試函數(shù)及調(diào)試命令組成調(diào)試命令文件。2-62-78

2-8選擇菜單項(xiàng)Project-BuildtargetF7,生成目標(biāo)代碼。在此過(guò)程中,若9選擇菜單項(xiàng)Debug-Start/StopDebugSession或快捷鍵Ctrl+F5,調(diào)試則在進(jìn)入調(diào)試模式前,會(huì)有如下框彈出,如圖2-9所示。2-9 2.10ARM---編譯 Optionsfortarget“Target1”TargetLinker去掉“usememorylayoutfromtargetdialog”,R/OBase0x0,R/WBase 段和AREA(ZI在源文件中,用AREAENTRYENTRY命令標(biāo)記要執(zhí)行的第一個(gè)指令。在包含C代碼的應(yīng)用程序中,在C庫(kù)的初始化 ENDENDARM匯編指令add/sub/lsl/lsr/and/orr等指令,完成基本算術(shù)/μVision3IDEforARMARM軟件模擬器;通過(guò)實(shí)驗(yàn)掌握簡(jiǎn)單ARM匯編指令的使用方法。 按照實(shí)驗(yàn)一的方法,新建一個(gè)project,名字為asm01asm01.s幫助LDR指令LDR指令用于從內(nèi)存中將一個(gè)32位的字到目標(biāo)寄存器LDR指令根據(jù)<addr_mode>所確定的地址模式將一個(gè)32位字到指令中的目標(biāo)寄存bits[1∶0]8的倍,也就是說(shuō)處理器將取到的數(shù)值作為字的如果設(shè)置了L位,則進(jìn)行裝載,否則進(jìn)行如果設(shè)置了UB位,傳送內(nèi)存的一個(gè)字節(jié),否則傳送一個(gè)字。這在助記符末尾添加后綴“BMOVr7,r5MOVBr7,r5。W(例+/!在匯編器中表示為給指令加上后綴“T當(dāng)PC作為L(zhǎng)DR的目的寄存器<Rd>時(shí),從器取得的數(shù)據(jù)將被當(dāng)作目標(biāo)地址值,程 LDR{<cond>} Rn。 LDR ;將r0+12地址處的數(shù)據(jù)讀出,保存到r1中(r0的值不變 LDRr1LDRr1,[r0]LDRr1,[r0,r2,LSL#2]LDRRd,labelLDR;將r0地址處的數(shù)據(jù)讀出,保存到r1中(零偏移;將r0+r2地址的數(shù)據(jù)讀出,保存到r1中(r0的值不變;將r0+r2×4地址處的數(shù)據(jù)讀出,保存到r1中(r0,r2的值不變;label為程序標(biāo)號(hào),label必須是當(dāng)前指令的±4KB;Rn地址。在數(shù)據(jù)傳送后,將偏移量0x04Rn相加,結(jié)果寫回到Rn中。Rn不允許是STR指令STR32位的字?jǐn)?shù)據(jù)寫入到指令中指定的內(nèi)存單元。STR{<cond>}STR{<cond>}LDR/STR指令用于對(duì)內(nèi)存變量的、內(nèi)存緩沖區(qū)數(shù)據(jù)的、查表、部件的控LDRPC寄存器,則實(shí)現(xiàn)程序跳轉(zhuǎn)功能,這樣也就實(shí)NumCountNumCountEQU0xLDRR0,=NumCountLDRR1,[R0]ADDR1,R1,#1STRR1,[R0];定義變量;使用LDR偽指令裝載NumCount的地址到;取出變;保存變GPIOGPIO—BASEEQU ;定義GPIO寄存器的R0,=GPIO—;將設(shè)置值放入寄存;IODIR=0x00ffff00,IOSET的地址為③……MOVr2,r2,LSL#2LDRPC,[PC,r2];功能號(hào)乘以4,以便查;查表取得對(duì)應(yīng)功能子程序地址FUN—TABDCDFUN—DCDFUN—SUB1DCDFUN—…ARM匯編指令建立一個(gè)匯編工程,ARMMSR/MRSAMRCPU參看“asm- 下的代ARM7ARM處理器的工作模簡(jiǎn) 使用和User模式相同寄存器集的模式,用于運(yùn)行級(jí)操M(fèi)odesFIQ(FastInterruptIRQ(Interrupt管理(Supervisor中止(AbortUndfindARM指令集提供了兩條指令,可直接控制程序狀態(tài)寄存器(PSRProgramStateRegisterCPSRSPSRCPSRSPSR5.5表 PSR[field]=Rm或(C(X注意

程序不能通過(guò)直接修改CPSR中的T位控制直接將程序狀態(tài)切換到ThumbMRSMRS{<cond>}MRS{<cond>}<Rd>,CPSRMRS{<cond>}MSR{<cond>}MSR{<cond>}CPSR_<fields>,#<immediate>MSR{<cond>}CPSR_<fields>,#<Rm>MSR{<cond>}SPSR_<fields>,#<immediate>MSR{<cond>}SPSR_<fields>,#<Rm>實(shí)驗(yàn)LDR/STM指令尋址實(shí)通過(guò)實(shí)驗(yàn)掌握使用LDM/STM、B等指令,完成較為復(fù)雜的區(qū)和程序分支。CPSR參看“asm- 下的代projectasm01;asm01.sR/OBase(--entry)R/WBaserwareaLinker因?yàn)楱Centry0x 所以需要在調(diào)試時(shí)把pc的初始值指向這個(gè)位置。使用DebugInRam.ini來(lái)實(shí)現(xiàn)。ARM匯編子函數(shù)調(diào)參看“asm- 下的代projectasm02;asm02.sdebuggerThumb匯編指令練建立一個(gè)匯編工程,ThumbThumbARM、Thumb參看 利用ARM匯編實(shí)現(xiàn)開發(fā)板LED燈控學(xué)會(huì)使用realviewMDK編寫簡(jiǎn)單的匯編語(yǔ)言程序控制設(shè)備參看 下的代實(shí)驗(yàn)簡(jiǎn)單C語(yǔ)言程序?qū)崊⒖?下的代匯編與C語(yǔ)言的相用實(shí)使用匯編完成一個(gè)函數(shù),通過(guò)C學(xué)會(huì)使用realviewMDK編寫匯編和C語(yǔ)言 參看“ex 下的代按照實(shí)驗(yàn)一的方法,新建

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論