intel-Xscale嵌入式系統(tǒng)_第1頁(yè)
intel-Xscale嵌入式系統(tǒng)_第2頁(yè)
intel-Xscale嵌入式系統(tǒng)_第3頁(yè)
intel-Xscale嵌入式系統(tǒng)_第4頁(yè)
intel-Xscale嵌入式系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩308頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章嵌入式系統(tǒng)概述,Problem什么叫嵌入式系統(tǒng)(Embeddedsystem)?定義:把計(jì)算機(jī)直接嵌入到各種應(yīng)用系統(tǒng)中IEEE:Devicesusedtocontrol,monitor,orassisttheoperationofequipment,Machi-neryorplants.Intel:除了用于PC服務(wù)器等產(chǎn)品以外的處理器應(yīng)用都屬于嵌入式系統(tǒng)的范疇導(dǎo)致的結(jié)果:嵌入式系統(tǒng)無(wú)處不在,無(wú)所不在!,第1章嵌入式系統(tǒng)概述,嵌入式系統(tǒng)(EmbeddedSystem)是由:嵌入式微處理器(EmbeddedCPU)、嵌入式操作系統(tǒng)(EmbeddedOS)嵌入式應(yīng)用軟件(EmbeddedApplicationsoftware),第1章嵌入式系統(tǒng)概述,Problem2在嵌入式系統(tǒng)中,應(yīng)如何將嵌入式微處理器(EmbeddedCPU)放到電子系統(tǒng),機(jī)械系統(tǒng)或各種其它產(chǎn)品中?解決的辦法有:要知道微處理器的各種輸入/輸出接口標(biāo)準(zhǔn)要讓微處理器工作,如何編寫各種應(yīng)用程序?既然是專用計(jì)算機(jī),如何使用操作系統(tǒng)OS?,第1章嵌入式系統(tǒng)概述,PrincetonISA計(jì)算機(jī)結(jié)構(gòu)存儲(chǔ)緩沖寄存器(MBR):含有將要寫到存儲(chǔ)器中或從存儲(chǔ)器中接收到的一個(gè)字。存儲(chǔ)地址寄存器(MAR):指定將要讀到MBR或從MBR寫到存儲(chǔ)器的字的地址。指令緩沖寄存器(IR):用來(lái)暫時(shí)存放來(lái)自內(nèi)存某個(gè)字的右邊一條指令。程序記數(shù)器(PC):存放將要內(nèi)存中獲取的下一對(duì)指令的地址。累加器(AC)和乘商寄存器(MQ):用來(lái)暫時(shí)存放ALU運(yùn)算的操作數(shù)和結(jié)果。例如,兩個(gè)40位的數(shù)相乘,結(jié)果是一個(gè)80位的數(shù),其中高40位放在AC中,低40位的數(shù)放在MQ中。,第1章嵌入式系統(tǒng)概述,第1章嵌入式系統(tǒng)概述,第1章嵌入式系統(tǒng)概述,Problem3現(xiàn)在常用的嵌入式微處理器種類有哪些?種類有:68HCxxxMotorola,CISC.X86intel,CISC.SPARCSun,RISC.PowerPC601/4IBM,Motorola,RISC.ARM,MIPS,XScale,DSPARM,MIPS,intel,TIRISC.etc.,第1章嵌入式系統(tǒng)概述,Problem4ARM是什么意思?ARM是ARM(AdvancedRISCMachinesLimited)公司的名稱成立于1990年,英國(guó)1985年4月26日,第一個(gè)ARM原型在英國(guó)劍橋的Acorn計(jì)算機(jī)有限公司誕生ARM公司是RISC處理器的知識(shí)產(chǎn)權(quán)IP供應(yīng)商為ARM架構(gòu)處理器提供ARM內(nèi)核,第1章嵌入式系統(tǒng)概述,Problem5ARM是現(xiàn)在發(fā)展的情況和進(jìn)展?V1-ARM1CPUV2-ARM2,ARM3CPUV3-ARM6V4-ARM7,ARM8,ARM9V5-ARM10,XScale,V5TE-XScale增加了DSP指令V6-ARM11,第1章嵌入式系統(tǒng)概述,T:內(nèi)含16bit壓縮指令集Thumb.D:支持片內(nèi)的Debug調(diào)試M:采用增強(qiáng)型乘法器MultiplierI:內(nèi)含嵌入式ICE宏單元S:可綜合的軟核SoftcoreE:具有DSP的功能J:Jazeller,允許直接執(zhí)行Java字節(jié)碼,第1章嵌入式系統(tǒng)概述,Problem6Intel公司和ARM公司有什么關(guān)系?Intel的StrongARM和XScale嵌入式處理器是采用了ARM的內(nèi)核SA-1:StrongARM.SA-110:StrongARM.SA-1100:通用處理器MPU.SA-1110:通用處理器MPU.IXP1200:采用StrongARM核的網(wǎng)絡(luò)處理器,第1章嵌入式系統(tǒng)概述,SA-1100:通用處理器MPU特點(diǎn):StrongARM核I-Cache16KB;D-Cache16KB;MiniDataCache512KB;I-MMU;D-MMU;R/W緩沖器存儲(chǔ)器控制模塊,可支持ROM,Flash,DRAM,SRAM,PCMCIA.系統(tǒng)控制模塊,通用可中斷GPIO:28根,看門狗定時(shí)計(jì)數(shù)器間隔定時(shí)器中斷控制器外設(shè)控制模塊,LCD液晶驅(qū)動(dòng)控制器,串行口UART,紅外口irDA,數(shù)字音頻Codec,實(shí)時(shí)時(shí)鐘RTC,串行外圍接口SPI,第1章嵌入式系統(tǒng)概述,Problem7XScale處理器微架構(gòu)有什么特點(diǎn)?,第1章嵌入式系統(tǒng)概述,Problem7XScale處理器微架構(gòu)有什么特點(diǎn)?采用級(jí)超級(jí)流水線新增乘加器MAC,DSP指令指令I(lǐng)-Cache:32KB.數(shù)據(jù)D-Cache:32KB.MiniD-Cache:2KB.I-MMU:32路TLB快表D-MMU:32路TLB快表,第1章嵌入式系統(tǒng)概述,Problem7XScale處理器微架構(gòu)有什么特點(diǎn)?中斷控制器(Interrupt)總線控制器(Bus)調(diào)試接口(Debug)動(dòng)態(tài)電源管理etc結(jié)論1:嵌入式微處理器是嵌入式系統(tǒng)的硬件核心,第1章嵌入式系統(tǒng)概述,嵌入式系統(tǒng)是包括硬件和軟件兩個(gè)部分Problem8市上主要有哪些嵌入式操作(OS)系統(tǒng)?VxWorks-WindRiver.通信,軍事,航空航天EmbeddedLinux-精簡(jiǎn),搶占式,雙內(nèi)核3個(gè)版本W(wǎng)indowsCE6.0-Microsoft.PDA,信息家電/多媒體PalmOSPalmPDApSOSystem-ISI.通信,工業(yè)控制,信息家電Nucleus,uC/OSII,Hope,DeltaOS,etc.,第1章嵌入式系統(tǒng)概述,VxWorks:1983年,業(yè)界第一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng).1995年,第一個(gè)嵌入式集成開發(fā)工具IDETornado.現(xiàn)在,集成嵌入式平臺(tái)IEPindRiverPlatform.VxWorksOS操作系統(tǒng)基本板VxWorksAE國(guó)防,航空航天,測(cè)量,控制等Tornado圖形化的集成交叉開發(fā)工具,第1章嵌入式系統(tǒng)概述,Problem9嵌入式操作系統(tǒng)和PC操作系統(tǒng)比較有什么特點(diǎn)?編碼體積小,精簡(jiǎn)面向應(yīng)用,可裁剪和移植,量體裁衣實(shí)時(shí)性強(qiáng),要求響應(yīng)速度快故又稱RTOS(Real-TimeOS).可靠性高,第1章嵌入式系統(tǒng)概述,Problem10設(shè)計(jì)開發(fā)嵌入式系統(tǒng)時(shí),使用什么編程語(yǔ)言?使用高級(jí)語(yǔ)言C/C+使用匯編語(yǔ)言C與匯編語(yǔ)言混編最新的Java結(jié)論2:嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的軟件核心,第1章嵌入式系統(tǒng)概述,Problem11設(shè)計(jì)開發(fā)嵌入式系統(tǒng)時(shí),使用編程語(yǔ)言的特點(diǎn)?與匯編語(yǔ)言的接口,即與匯編語(yǔ)言混合編程對(duì)系統(tǒng)的資源可直接尋址和訪問需要較強(qiáng)的位操作功能靈活、快速的中斷處理和異常事件處理。結(jié)論:中斷和異常事件處理是嵌入式系統(tǒng)最重要的特點(diǎn)。,第1章嵌入式系統(tǒng)概述,Problem11設(shè)計(jì)開發(fā)嵌入式系統(tǒng)時(shí),高級(jí)語(yǔ)言開發(fā)的過程?,第1章嵌入式系統(tǒng)概述,Problem12嵌入式系統(tǒng)調(diào)試方法?,第1章嵌入式系統(tǒng)概述,Problem12嵌入式系統(tǒng)JTAG調(diào)試方法(一)?有調(diào)試主機(jī)、ARM仿真器(協(xié)議轉(zhuǎn)換protocolCon-verter)和目標(biāo)板個(gè)部分組成在調(diào)試主機(jī)上安裝的工具有編輯和編譯系統(tǒng),庫(kù)文件在主機(jī)和目標(biāo)板之間有協(xié)議轉(zhuǎn)換模塊,稱為調(diào)試代理其主要二個(gè)作用:協(xié)議轉(zhuǎn)換;接口轉(zhuǎn)換,目標(biāo)端是JTAG接口,主機(jī)端是RS-232口,或USB口,或是并行口一般的ARM的仿真器大多是基于JTAG的仿真器,第1章嵌入式系統(tǒng)概述,Problem12嵌入式系統(tǒng)Angel調(diào)試方法(二)?在目標(biāo)板上的CPU已經(jīng)固化了一個(gè)完整的調(diào)試監(jiān)控程序,該程序可接受調(diào)試主機(jī)的命令,并執(zhí)行,如設(shè)置斷點(diǎn)、單步運(yùn)行、讀寫存儲(chǔ)器等同時(shí)監(jiān)控程序?qū)?shù)據(jù)傳送到主機(jī)上前提:目標(biāo)板正常工作目標(biāo)板上固化完整的調(diào)試監(jiān)控程序主機(jī)和目標(biāo)板之間可用串口、并口、以太網(wǎng)通信,非JTAG口,故占用了用戶資源有一個(gè)固化在目標(biāo)板存儲(chǔ)器中的調(diào)試監(jiān)控程序,第1章嵌入式系統(tǒng)概述,Problem12嵌入式系統(tǒng)仿真頭調(diào)試方法(三)?用仿真頭的調(diào)試方法是傳統(tǒng)的調(diào)試方法即使用一個(gè)單片機(jī)作為仿真頭,取代目標(biāo)板上的CPU這種在線仿真器和調(diào)試主機(jī)之間可以有多種連接方式使用這種方法的仿真器一般設(shè)計(jì)復(fù)雜,因此價(jià)格較昂貴,實(shí)際使用中較少,第1章嵌入式系統(tǒng)概述,Problem12基于軟件仿真的調(diào)試方法(四)?前種方法是依賴硬件的調(diào)試方法沒有CPU,就無(wú)法調(diào)試軟件調(diào)試方法可以不依賴硬件,此時(shí)調(diào)試系統(tǒng)提供一個(gè)軟件仿真工具這個(gè)軟件仿真工具對(duì)于在調(diào)試系統(tǒng)中執(zhí)行的用戶指令作出解釋,記錄和報(bào)告指令執(zhí)行的結(jié)果,以及存儲(chǔ)器和寄存器的變化軟件仿真調(diào)試方法主要應(yīng)用在學(xué)習(xí)過程中,在沒有硬件支持下學(xué)習(xí)系統(tǒng)設(shè)計(jì)調(diào)試,檢查程序,第1章嵌入式系統(tǒng)概述,思考題:什么叫嵌入式系統(tǒng)(Embeddedsystem)?XScale處理器微架構(gòu)有什么特點(diǎn)?嵌入式操作系統(tǒng)和PC操作系統(tǒng)比較有什么特點(diǎn)?4.設(shè)計(jì)開發(fā)嵌入式系統(tǒng)時(shí),使用編程語(yǔ)言的特點(diǎn)?5.設(shè)計(jì)開發(fā)嵌入式系統(tǒng)時(shí),高級(jí)語(yǔ)言開發(fā)的過程?,第2章ARM體系結(jié)構(gòu),結(jié)論:嵌入式微處理器是嵌入式系統(tǒng)的硬件核心Problem該如何認(rèn)識(shí),掌握和使用嵌入式微處理器ARM?ARM公司將ARM知識(shí)產(chǎn)權(quán)IP出售給許多IC廠ARM處理器是32/16bit的RISC架構(gòu)ARM架構(gòu)(Architecture)的特點(diǎn):開放的,可擴(kuò)展結(jié)構(gòu).低功耗/電壓,高集成度半導(dǎo)體廠和SoC系統(tǒng)廠生產(chǎn)SoCChip.,第2章ARM體系結(jié)構(gòu),ProblemCISCVsRISC?CISC:在微處理器的基本指令集不變的情況下,增加新的指令和邏輯電路,使處理器的功能增強(qiáng)新的復(fù)雜指令不斷增加,使處理器設(shè)計(jì)更加復(fù)雜指令集中的各條指令使用極不合理20%的指令經(jīng)常使用,占程序運(yùn)行時(shí)間的80%;80%的指令很少使用,占了程序運(yùn)行時(shí)間的20%結(jié)論:有用指令使用太少,無(wú)用的指令使用太多,第2章ARM體系結(jié)構(gòu),典型指令使用頻度,第2章ARM體系結(jié)構(gòu),ProblemRISCVsCISC?RISC:不是簡(jiǎn)單地減少指令集,而是將著眼點(diǎn)放在如何使微處理器的結(jié)構(gòu)更加合理,提高運(yùn)算效率選取使用頻率最高的簡(jiǎn)單的指令,避免復(fù)雜指令,將指令長(zhǎng)度固定,指令格式和尋址方式種類減少,以硬聯(lián)線為主,不用或少用微程序控制等措施來(lái)達(dá)到目的大量使用寄存器,數(shù)據(jù)處理只對(duì)寄存器進(jìn)行,減少對(duì)存儲(chǔ)器的訪存次數(shù)優(yōu)化編譯技術(shù),第2章ARM體系結(jié)構(gòu),ProblemCISCVsRISC結(jié)構(gòu)?,第2章ARM體系結(jié)構(gòu),Problem3.什么是Thumb指令集?ARM指令是32bit指令集,但目前指令代碼利用率較低故定義了16bitThumb指令集Thumb指令有更好的代碼密度,芯片的size僅僅比原先增加6%,可使程序存儲(chǔ)器更小,第2章ARM體系結(jié)構(gòu),Problem4.ARM為何要有多種工作模式?工作模式多,微處理器的功能也就強(qiáng)大ARM有種工作模式:用戶,快中斷,中斷,管理,中止,系統(tǒng),未定義除用戶模式外,其余均為特權(quán)模式提高效率,第2章ARM體系結(jié)構(gòu),Problem什么叫在線仿真ICE-RT(InCircuitEmulator-RealTime)?芯片內(nèi)部的工作狀態(tài)無(wú)法用常規(guī)的方法來(lái)測(cè)試,故在設(shè)計(jì)芯片時(shí),設(shè)計(jì)了在線實(shí)時(shí)ICE-RT邏輯,通過JTAG來(lái)仿真調(diào)試ARM架構(gòu)的微處理機(jī)在仿真調(diào)試過程中,通過該模塊可以設(shè)置斷點(diǎn)模塊內(nèi)有多個(gè)寄存器,在調(diào)試時(shí)可以通過串行工作的掃描鏈訪問這些寄存器,第2章ARM體系結(jié)構(gòu),Problem什么是JTAG?是JointTestActionGroup的縮寫.符合IEEE1149.1標(biāo)準(zhǔn)即關(guān)于測(cè)試訪問接口和邊界掃描結(jié)構(gòu)的標(biāo)準(zhǔn)JTAG接口是目標(biāo)CPU在調(diào)試時(shí)與外界連接的最主要的接口有條線:TDI測(cè)試數(shù)據(jù)輸入,TDO測(cè)試數(shù)據(jù)輸出,TCK測(cè)試時(shí)鐘,TMS測(cè)試模式選擇ARM開發(fā)工具ADS原理與應(yīng)用趙星寒,北航出版ISBN7-81077-748-3,第2章ARM體系結(jié)構(gòu),ProblemARM架構(gòu)有什么樣的接口和總線?有協(xié)處理器接口,可接16個(gè)協(xié)處理器即可使ARM內(nèi)核最小,又方便擴(kuò)充各種功能有片上總線OCB(On-chipbus)的AMBA(AdvancedMicro-controllerBusArchitecture).,第2章ARM體系結(jié)構(gòu),Problem8什么是AMBA(AdvancedMicro-controllerBusArchitecture)總線架構(gòu)?OCB(on-chipbus)定義了組總線先進(jìn)高性能總線AHB(Advancedhighperfor-manceBus)先進(jìn)系統(tǒng)總線ASB(AdvancedSystemBus)先進(jìn)外設(shè)總線(AdvancedPeripheralBus),第2章ARM體系結(jié)構(gòu),Problem9低電壓,低功耗的設(shè)計(jì)對(duì)CMOS電路來(lái)說,功耗Pc計(jì)算:,第2章ARM體系結(jié)構(gòu),Problem10怎樣降低CPU的功耗?減小工作電壓Vdd.減少門的翻轉(zhuǎn)次數(shù)減少門的數(shù)目,降低芯片的集成度降低時(shí)鐘的頻率,第2章ARM體系結(jié)構(gòu),Problem10ARM的架構(gòu)是怎樣的?,第2章ARM體系結(jié)構(gòu),Problem11算數(shù)和邏輯單元ALU的邏輯結(jié)構(gòu)?,第2章ARM體系結(jié)構(gòu),Problem12算數(shù)邏輯單元ALU結(jié)構(gòu)?,第2章ARM體系結(jié)構(gòu),Problem11算數(shù)和邏輯單元ALU的邏輯結(jié)構(gòu)?假設(shè)n-bit的ALU由S=(Sk-1,S0)選擇位決定對(duì)n-bit的輸入A=(An-1,.,A0),B=(Bn-1,B0)是執(zhí)行算數(shù)運(yùn)算還是邏輯運(yùn)算,輸出Z=(Zn-1,Z0).假設(shè)有種功能,需要個(gè)選擇變量S2,S1,S0.,第2章ARM體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),上圖是完整的ALU.每一個(gè)操作數(shù)可選是否取反,然后相加或在邏輯單元中組合最終選需要的結(jié)果送到總線上標(biāo)識(shí)位C和V在加法器中產(chǎn)生,標(biāo)志位N來(lái)自結(jié)果的31位的拷貝,標(biāo)志位Z則從整個(gè)結(jié)果總線求值產(chǎn)生標(biāo)志位Z需要輸入端的“或非”門加法器在ARM9TDMI中進(jìn)一步改進(jìn)使用了進(jìn)位判決(carryarbitration)加法器,該加法器使用“并行前置(parallel-prefix)”邏輯結(jié)構(gòu)樹,第2章ARM體系結(jié)構(gòu),Problem13桶型移位寄存器結(jié)構(gòu)?減少移位延遲時(shí)間,采用3232的桶型移位器可以使左移右移n位,環(huán)移n位和算數(shù)右移n位都可一次完成例44為的桶形移位寄存器的示意圖,第2章ARM體系結(jié)構(gòu),Problem13桶型移位寄存器結(jié)構(gòu)?,第2章ARM體系結(jié)構(gòu),Problem13桶型移位寄存器工作例:IN=1001,右移2位,變成OUT=0010.右的個(gè)交叉開關(guān)接上,OUT1=IN3,OUT0=IN2.OUT2=OUT3=0不變IN=1001,右環(huán)移位,變成OUT=1100.右1和左3開關(guān)同時(shí)接上,OUT0=IN1,OUT1=IN2,OUT2=IN3,OUT3=IN0.算數(shù)右移只要把沒有連接的輸出位同時(shí)充以”0”.,第2章ARM體系結(jié)構(gòu),Problem15高速乘法器有什么作用?通常乘法器采用“加移位”的原理方法實(shí)現(xiàn)ARM為提高運(yùn)算速度,用了兩位乘法的方法,第2章ARM體系結(jié)構(gòu),Problem16高速乘法器有什么作用?,第2章ARM體系結(jié)構(gòu),Problem16浮點(diǎn)部件有什么作用?,第2章ARM體系結(jié)構(gòu),Problem17控制器部件有什么作用?,第2章ARM體系結(jié)構(gòu),Problem18為何要有寄存器?共有多少個(gè)寄存器?RISC的特點(diǎn)是大量使用寄存器數(shù)據(jù)處理在R中共有37個(gè)32bit寄存組被分成若干組(BANK)31個(gè)通用寄存器:包括程序計(jì)數(shù)器PC.6個(gè)狀態(tài)寄存器:用以標(biāo)識(shí)CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),目前只使用了其中的一部分這些寄存器不能被同時(shí)訪問,取決CPU的模式但在任何時(shí)侯,通用寄存器R0R14,程序計(jì)數(shù)器PC,12個(gè)狀態(tài)寄存器是可訪問的,第2章ARM體系結(jié)構(gòu),Problem19為何要有寄存器?共有多少個(gè)寄存器?R0R15是32bit通用寄存器,R15是程序計(jì)數(shù)器PC,R14是鏈接寄存器LR,R13是堆棧指針SP.當(dāng)前狀態(tài)寄存器CPSR(CurrentProgramStatusRegister)包含N,Z,C,V,Q,I,F,T,Mode位保護(hù)程序狀態(tài)寄存器SPSR(SavedProgramStatusRegister)在系統(tǒng)模式下保存CPSR中的內(nèi)容,第2章ARM體系結(jié)構(gòu),Problem20ARM的編程模式?有用戶模式和系統(tǒng)模式系統(tǒng)模式包括:系統(tǒng)、快中斷請(qǐng)求FIQ(FastInt-erruptRequest)、中斷請(qǐng)求IRQ(InterruptRequest)、管理SVC(Supervisor)、中止(Abort)、和未定義(Undefined)模式。總共有種模式,第2章ARM體系結(jié)構(gòu),Problem20CPSR中的每位含義條件碼標(biāo)識(shí):負(fù)數(shù)標(biāo)識(shí)結(jié)果為標(biāo)識(shí)進(jìn)位位標(biāo)識(shí)溢出標(biāo)識(shí)DSP的溢出飽和(選用).,第2章ARM體系結(jié)構(gòu),Problem20CPSR中的每位含義控制位:I-IRQ中斷禁止位F-FIQ快中斷禁止位TThumb位Mode:處理器的工作模式SPSR:保存CPSR的內(nèi)容,第2章ARM體系結(jié)構(gòu),Problem21何為ARM的Thumb狀態(tài)Thumb狀態(tài)寄存器只是全部寄存器中的一部分用R0-R7,R13(SP),R14(LR),R15(PC)和CPSRThumb的工作模式和ARM的工作模式一樣,也有種每種模式都有一組:SP,LRSPSR寄存器.,第2章ARM體系結(jié)構(gòu),Problem21何為ARM的Thumb狀態(tài),第2章ARM體系結(jié)構(gòu),Problem22什么叫異常(Exception)?是由內(nèi)部或外部中斷源產(chǎn)生,引起處理器處理處理異常前,原狀態(tài)必須保留,使得異常處理完成后,原來(lái)的程序又可重新執(zhí)行下去在同一個(gè)時(shí)刻,可能出現(xiàn)多個(gè)異常工作在異常模式時(shí),R14和SPSR用于保存狀態(tài),第2章ARM體系結(jié)構(gòu),Problem22如何處理異常(Exception)?,第2章ARM體系結(jié)構(gòu),R14_=returnlinkSPSR_=CPSRCPSR4:0=execptionmodenumberCPSR5=0/*/If=ResetorFIQthenCPSR6=1/*/CPSR7=1/*/PC=exceptionvectoraddress,第2章ARM體系結(jié)構(gòu),Problem23復(fù)位?復(fù)位時(shí)完成下列操作R14_svc=UNPREDICTABLEValueSPSR_svc=UNPREDICTABLEValueCPSR4:0=0b10011CPSR5=0CPSR6=1CPSR7=1PC=0 x00000000,第2章ARM體系結(jié)構(gòu),Problem24軟件中斷SWI(SoftwareInterrupt)?軟件中斷SWI指令進(jìn)入管理模式,常用于調(diào)用OS.完成以下操作:r14_svc=addreofnextinstruntionaftertheSWIinstructionSPSR_SVC=CPSRCPSR4:0=0b10011CPSR5=0CPSR7=1PC=0 x00000008,第2章ARM體系結(jié)構(gòu),Problem25中斷請(qǐng)求IRQ(InterruptRequist)做什么?通過IRQ輸入腳產(chǎn)生外部中斷請(qǐng)求CPSR中的I=1,禁中斷=,開中斷R14_irq=addressofnextinstructiontobeexecuted+4SPSR_irg=CPSRCPSR4:0=0b10010CPSR5=0CPSR7=1PC=0 x00000018,第2章ARM體系結(jié)構(gòu),Problem25中斷請(qǐng)求IRQ(InterruptRequist)返回?可通過“SUBSPC,R14,#4”指令從中端服務(wù)返回,并恢復(fù)PC和CPSR的值,在繼續(xù)執(zhí)行被中斷的原先的程序,第2章ARM體系結(jié)構(gòu),Problem25快速中斷請(qǐng)求FIQ(FastInterruptRequest)?通過FIQ輸入腳產(chǎn)生外部快中斷請(qǐng)求FIQ優(yōu)先級(jí)高于IRQ.進(jìn)入FIQ會(huì)屏蔽IRQCPSR的F=1,禁快中斷;F=0開快中斷,第2章ARM體系結(jié)構(gòu),R14_fiq=addressofnextinstructiontobeexecuted+4SPSR_fiq=CPSRCPSR4:0=0b10001CPSR5=0CPSR6=1PC=0 x0000001C可通過“SUBSPC,R14,#4”指令從中端服務(wù)返回,并恢復(fù)PC和CPSR的值,在繼續(xù)執(zhí)行被中斷的原先的程序,第2章ARM體系結(jié)構(gòu),Problem26ARM流水線結(jié)構(gòu)特點(diǎn)?,第2章ARM體系結(jié)構(gòu),Problem27ARM架構(gòu)的級(jí)流水線原理,第2章ARM體系結(jié)構(gòu),Problem28ARM架構(gòu)的級(jí)流水線原理,第2章ARM體系結(jié)構(gòu),Problem29ARM架構(gòu)流水線的數(shù)據(jù)相關(guān)問題,第2章ARM體系結(jié)構(gòu),Problem30ARM架構(gòu)流水線的控制相關(guān)問題,第2章ARM體系結(jié)構(gòu),Problem31ARM處理器的存儲(chǔ)器尋址空間有多大?ARM內(nèi)部設(shè)計(jì)有高速緩沖存儲(chǔ)器(Cache).即指令快存:I-Cache;數(shù)據(jù)快存:D-Cache目前可以尋址的空間是:,第2章ARM體系結(jié)構(gòu),Problem32ARM處理器的內(nèi)部有RAM和ROM嗎?ARM處理器的片內(nèi)沒有RAM和ROM.系統(tǒng)需要的RAM,ROM和Flash都需要通過總線Bus外接尋址空間范圍是4GB.片內(nèi)有MMU(MemoryManagementUnit)進(jìn)存儲(chǔ)器的管理可外接PCMCIA.,第2章ARM體系結(jié)構(gòu),Problem33ARM處理器的存儲(chǔ)空間是怎樣規(guī)劃的?存儲(chǔ)空間可以分為:可快存可緩沖區(qū)(Cacheable/Bufferable).不可快存不可緩沖區(qū),第2章ARM體系結(jié)構(gòu),Problem34ARM該如何連接Memory?首先要知道Memory細(xì)節(jié):DRAM的時(shí)序圖DRAM的管腳圖ROM發(fā)展趨勢(shì):Flash逐步代替ROM.,第2章ARM體系結(jié)構(gòu),Problem35動(dòng)態(tài)DRAM的時(shí)序圖,第2章ARM體系結(jié)構(gòu),Problem36為何要設(shè)計(jì)高速緩沖存儲(chǔ)器Cache?主存和CPU之間有速度的差距Cache存儲(chǔ)器介于CPU和主存之間Cache速度比主存快可解決存儲(chǔ)速度的問題構(gòu)成:Cache-主存層次從CPU角度來(lái)看,速度接近Cache,而容量接近于主存,第2章ARM體系結(jié)構(gòu),Problem37ARM中Cache架構(gòu)特點(diǎn)是什么?以前是將指令和數(shù)據(jù)的Cache設(shè)計(jì)在一塊目前是將指令和數(shù)據(jù)的Cache分開設(shè)計(jì),分別是I-Cache,D-Cache.稱為哈佛結(jié)構(gòu)哈佛結(jié)構(gòu)可以提高處理器的處理速度,第2章ARM體系結(jié)構(gòu),Problem38Cache架構(gòu)的性能比較,第2章ARM體系結(jié)構(gòu),Problem39主存的信息是如何放到Cache中?Cache的容量比主存容量小要用某種函數(shù)將主存地址映像到Cache中稱為地址映像三種映像:直接映像(DirectMapped),組相聯(lián)映像(Setassociative),全相聯(lián)映像(Fullyassociative),第2章ARM體系結(jié)構(gòu),Problem40什么是直接映像(DirectMapped)?如果:j是cache的字塊號(hào),i是主存的字塊號(hào)主存的第0,c,2c+1塊映像到cache的第快,類推,第2章ARM體系結(jié)構(gòu),Problem41什么是組相聯(lián)映像(Setassociative)?如果把cache字塊分為c組,每組含2r個(gè)字塊,則有c=c+r.主存的字塊Mm(i)(0i2m-1)映像到cache字塊Mc(j)(0j2c-1),第2章ARM體系結(jié)構(gòu),Problem42什么是全相聯(lián)映像(Fullyassociative)?主存的塊可以放到cache的任意一塊中用內(nèi)容尋址存儲(chǔ)器CAM(ContentAddressedMemory)來(lái)實(shí)現(xiàn)送來(lái)的地址與Cache所有項(xiàng)中的地址標(biāo)識(shí)作比較,以判斷是否命中命中率高,但設(shè)計(jì)的芯片面積較大,第2章ARM體系結(jié)構(gòu),Problem42ARM架構(gòu)的映像方式是怎樣的?新型的ARM架構(gòu)采用的是分塊(段)的全相聯(lián)結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),ProblemARM的MMU結(jié)構(gòu)特點(diǎn)ARM中有大頁(yè)(64KB),小頁(yè)(4KB),微頁(yè)(1KB)和段(1MB)ARM的存儲(chǔ)器管理通過系統(tǒng)控制協(xié)處理器CP15來(lái)實(shí)現(xiàn)協(xié)處理器CP15共有16個(gè)寄存器R0R15其中寄存器R4,R11,R12是保留的,第2章ARM體系結(jié)構(gòu),Problem協(xié)處理器CP15中的各寄存器作用R0-ID寄存器R1-控制寄存器R2-地址變換表基址R3-域訪問控制寄存器R5-故障狀態(tài)寄存器R6-故障地址寄存器R7-Cache快存操作,第2章ARM體系結(jié)構(gòu),Problem協(xié)處理器CP15中的各寄存器作用R8-變換后備緩沖器TLB操作R9-讀緩沖操作R10-變換后備緩沖器TLB鎖住R13進(jìn)程ID映像R14-調(diào)試支持R15-調(diào)試和時(shí)鐘控制,第2章ARM體系結(jié)構(gòu),Problem43ARM架構(gòu)處理器核和處理器內(nèi)核的I/O結(jié)構(gòu)是怎樣的?ARM架構(gòu)的核一般是沒有I/O部件和模塊.處理器中的I/O可以通過AMBA總線來(lái)擴(kuò)充.,第2章ARM體系結(jié)構(gòu),Problem44ARM是如何采用存儲(chǔ)器映像I/O的方式?將I/O端口地址作為特殊的存儲(chǔ)器地址.I/O與真正的存儲(chǔ)器讀/寫有不同之處,存儲(chǔ)器可重復(fù)讀,讀出值不變.I/O輸入值會(huì)變化.I/O單元對(duì)用戶碼是不可訪問的.I/O設(shè)備的訪問只可以通過系統(tǒng)管理調(diào)用(SWI)或C的庫(kù)函數(shù)來(lái)使用這些調(diào)用.,第2章ARM體系結(jié)構(gòu),Problem45ARM中何時(shí)使用DMA方式?當(dāng)數(shù)據(jù)流量比較大.當(dāng)中斷處理比較頻繁時(shí)不需要處理器介入.SA-1110和XScale處理器具有DMA方式,第2章ARM體系結(jié)構(gòu),Problem4ARM的中斷方式有哪些?有快速中斷FIQ.有一般中斷IRQ.,第2章ARM體系結(jié)構(gòu),Problem47ARM的中斷方式有哪些?有快速中斷FIQ.有一般中斷IRQ.,第2章ARM體系結(jié)構(gòu),Problem48FIQ中斷方式的特點(diǎn)有哪些?FIQ可以縮短中斷的響應(yīng)時(shí)間FIQ的中斷向量為0 x1C,位于中斷向量表的最后FIQ的中斷處理服務(wù)程序可以直接放在0 x1C開始的存儲(chǔ)單元,省去中斷中的分支指令,省時(shí)間用cache的鎖操作,將中斷向量和處理程序一起鎖在cache中,提高響應(yīng)速度,第2章ARM體系結(jié)構(gòu),Problem48FIQ中斷方式的特點(diǎn)有哪些?,第2章ARM體系結(jié)構(gòu),Problem49ARM的協(xié)處理器接口特點(diǎn)?增加硬件協(xié)處理器,可支持指令集的擴(kuò)充最多有個(gè)邏輯協(xié)處理器每個(gè)協(xié)處理器有多達(dá)個(gè)寄存器協(xié)處理器使用Load/Store體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),Problem49ARM7TDMI的協(xié)處理器接口特點(diǎn)?,第2章ARM體系結(jié)構(gòu),Problem49ARM的AMBA(AdvancedMicrocontrollerBus)接口有何特點(diǎn)?是片上總線OCB(On-ChipBus)的標(biāo)準(zhǔn)有高性能總線AHB(AdvancedHigh-performanceBus),先進(jìn)系統(tǒng)總線ASB(AdvancedSystemBus),先進(jìn)外設(shè)總線APB(AdvancedPeripheralBus).,第2章ARM體系結(jié)構(gòu),Problem50ARM的AMBA(AdvancedMicrocontrollerBus)接口如何連接?,第2章ARM體系結(jié)構(gòu),Problem51ARM的ASB(AdvancedSystemBus),有啥特點(diǎn)?用來(lái)連接高性能系統(tǒng)模塊.支持突發(fā)(Burst)方式數(shù)據(jù)傳送.可支持多主機(jī).,第2章ARM體系結(jié)構(gòu),Problem52ARM的AHB(AdvancedHigh-perfor-manceBus),有啥特點(diǎn)?支持突發(fā)(Burst)方式數(shù)據(jù)傳送.支持分離式總線事物處理,提高總線利用率.AHB有逐步代替ASB的趨勢(shì),第2章ARM體系結(jié)構(gòu),Problem53ARM的APB(Advancedperipheral-Bus),有啥特點(diǎn)?為外圍宏單元提供接口.UART,Timer,ParallerPort.,第2章ARM體系結(jié)構(gòu),Problem54AMBA接口該如何測(cè)試好或壞?AMBA提供了模塊測(cè)試的途徑測(cè)試設(shè)備作為ASB總線上的主設(shè)備,來(lái)測(cè)試AMBA上的各個(gè)模塊,第2章ARM體系結(jié)構(gòu),Problem55JTAG是什么意思?ARM內(nèi)核提供了IEEE1149.1標(biāo)準(zhǔn)的JTAG(JointTestActionGroup)調(diào)試接口JTAG使用邊界掃描技術(shù)JTAG采用邊界掃描技術(shù)與ARMCPU內(nèi)核通信,不使用ARM片上任何硬件資源,也不需要目標(biāo)存儲(chǔ)器,且JTAG調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行的,故仿真調(diào)試更接近于目標(biāo)硬件,容易發(fā)現(xiàn)程序中的問題另外JTAG較便宜,第2章ARM體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),第2章ARM體系結(jié)構(gòu),Problem55目前的ARM處理器內(nèi)核有多少種?ARM架構(gòu)的內(nèi)核有:ARM7TDMI,ARM8,ARM9TDMI,ARM10TDMI,ARM11StrongARM(SA-1)等,第2章ARM體系結(jié)構(gòu),Problem56ARM7TDMI內(nèi)核組織結(jié)構(gòu)?,第2章ARM體系結(jié)構(gòu),Problem57ARM7TDMI與存儲(chǔ)器如何聯(lián)接?用接口的32位地址總線A31:0.用接口的32位雙向數(shù)據(jù)總線D31:0.單向32位數(shù)據(jù)總線Din31:0和Dout31:0.存儲(chǔ)器訪問請(qǐng)求.地址順序seq.訪問寬度mas1:0.數(shù)據(jù)鎖存控制bl3:0.,第2章ARM體系結(jié)構(gòu),Problem58ARM7TDMI訪問存儲(chǔ)器種類型?訪問存儲(chǔ)器的種類型由mreq,seq信號(hào)控制,第2章ARM體系結(jié)構(gòu),Problem59ARM7TDMI協(xié)處理器接口信號(hào)?應(yīng)答信號(hào).區(qū)分操作碼和取數(shù)信號(hào).協(xié)處理器指令信號(hào).是協(xié)處理器至ARM7TDMI核應(yīng)答信號(hào).,第2章ARM體系結(jié)構(gòu),Problem60?,第2章ARM體系結(jié)構(gòu),Problem61ARM7TDMI的JTAG調(diào)試方法?,第3章ARM指令系統(tǒng),ARM指令集架構(gòu)ISA(InstructionSetArchitecture).指令集架構(gòu)ISA是軟件與硬件層之間的接口軟件方面:提供了微處理器的匯編語(yǔ)言指令是用戶和微處理器之間,在最最底層的接口硬件方面:為指令提供了需要的寄存器組在微處理器中,會(huì)提供一組用戶所看見的寄存器,第3章ARM指令系統(tǒng),ARM指令集架構(gòu)ISA(InstructionSetArchitecture).,第3章ARM指令系統(tǒng),Problem60ARM指令系統(tǒng)有何特點(diǎn)?與X86(CISC)不同.看某條指令:SUBNESR4,R5,R7,LSRR2指令結(jié)構(gòu):,第3章ARM指令系統(tǒng),Problem61指令結(jié)構(gòu)的含義?cond,bit2831.I,bit25.決定operand2的格式Opcode,bit2124.操作碼Rn,bit1619.第操作數(shù)寄存器編號(hào)Rd,bit1215.結(jié)果寄存器編號(hào)S,bit20.對(duì)標(biāo)志寄存器的影響operand2,bit011,第2操作數(shù),第3章ARM指令系統(tǒng),Problem61ARM指令特點(diǎn)?所有的指令都是條件執(zhí)行第操作數(shù)是非常靈活提供協(xié)處理器接口,增加復(fù)雜功能16位的Thumb指令提高代碼密度指令的特點(diǎn),指令少,且等長(zhǎng),利用流水線技術(shù),使用多寄存器,且多為用簡(jiǎn)單的Load/Store指令,第3章ARM指令系統(tǒng),Problem61ARM指令大致分類?分支類指令數(shù)據(jù)處理類指令乘法類指令數(shù)據(jù)傳送類指令協(xié)處理器類指令及雜項(xiàng)指令,第3章ARM指令系統(tǒng),Problem62ARM指令集,第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),協(xié)處理器類及雜項(xiàng)指令,第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),Problem62何為ARM指令的條件域?在ARM狀態(tài)下:指令是根據(jù)CPSR以及條件域有條件地執(zhí)行條件域決定在什么時(shí)候執(zhí)行該條指令如果對(duì)應(yīng)的C,N,Z和V滿足條件域的條件,就執(zhí)行該指令否則就忽略它條件共有16種,以2個(gè)字母的后綴出現(xiàn)在助記符見P.97,表3-3條件碼,第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),第3章ARM指令系統(tǒng),Problem63ARM指令的寄存器尋址?寄存器尋址ADDR0,R1,R2;R0R1+R2,第3章ARM指令系統(tǒng),Problem64立即數(shù)尋址?立即數(shù)尋址ADDR3,R3,#1;R3R3+1,第3章ARM指令系統(tǒng),Problem65寄存器間接尋址?寄存器間接尋址LDRR0,R3;(R3)R0,第3章ARM指令系統(tǒng),Problem66寄存器變址?寄存器變址LDRR0R1,#14;(R1)+4)R0LDRR0,R1,#4!;LDRR0,R1,#4;LDRR0,R1,R2;,第3章ARM指令系統(tǒng),Problem67多寄存器尋址?多寄存器尋址LDMIAR1,R0,R2,R5;R0R1,R2R1+4,R5R1+8,第3章ARM指令系統(tǒng),Problem68堆棧尋址?堆棧尋址向上生長(zhǎng):向高地址方向生長(zhǎng),遞增堆棧向下生長(zhǎng):向低地址方向生長(zhǎng),遞減堆棧,第3章ARM指令系統(tǒng),Problem69塊拷貝尋址?,第3章ARM指令系統(tǒng),Problem70相對(duì)尋址?相對(duì)尋址Brel;(PC)+relPC,第3章ARM指令系統(tǒng),Problem70ARM轉(zhuǎn)移類指令?BX轉(zhuǎn)移及改變指令集.BXcondRm,其中:Rm含轉(zhuǎn)移地址的寄存器例:BXR7BXVSR0B和BL-轉(zhuǎn)移及帶鏈接轉(zhuǎn)移BcondlabelBLcondlabel,第3章ARM指令系統(tǒng),BLX-帶鏈接分支并可選地交換指令集BLXcondRmBLXlabel,第3章ARM指令系統(tǒng),Problem71ARM數(shù)據(jù)處理類指令?靈活的第操作數(shù)operand2.其中,operand2有2種形式:#immed_8r:Rm,shift:Rm存儲(chǔ)第操作數(shù)的寄存器;shift表示位移,有ASR,LSR,LSL,ROR,RRX,第3章ARM指令系統(tǒng),Problem71ARM數(shù)據(jù)處理類指令?ADD,SUB,RSB,ADC,SBC,RSC,AND,ORR,EOR,和BIC指令句法:OpcodecondSRd,Rn,operand2OpcodeADD,SUB,RSB,ADC,SBC,RSC,AND,ORR,EOR,BIC之一可選后綴,更新條件碼標(biāo)志Rd結(jié)果寄存器operand2靈活的第2操作數(shù),第3章ARM指令系統(tǒng),數(shù)據(jù)處理類指令的字節(jié)碼結(jié)構(gòu)見P.101,圖3-4用法:ADDSUBRSBADCSBCRSCANDORREORBIC,第3章ARM指令系統(tǒng),條件碼標(biāo)志:若指定S,則將改變N,Z,C,和VR15的使用:若R15作為Rn使用,則使用的值是指令的地址加8,移位不允許使用R15,第3章ARM指令系統(tǒng),MOV,MVN-傳送和傳送非指令MOVcondSRd,operand2MVNcondSRd,operand2MOVR5,R2MVNNER11,#0 xF000000BMOVSR0,R0,ASRR3MOVPC,R14MOVSPC,R14,第3章ARM指令系統(tǒng),CMP,CMN,TST,TEQopcodecondRn,operand2改變N,Z,C,VCMPR2,R8CMNR1,#6400CMPGTR13,R7,LSL#2TSTR1,0 x3F8TEQEQR10,R8,第3章ARM指令系統(tǒng),CLZ-前導(dǎo)0計(jì)數(shù)CLZcondRd,Rm;Rd是寄存器,不允許是R15CLZR4,R9CLZNER2,R3MUL,MLA-乘法和乘加(32位32位,結(jié)果為低32位).MULcondSRd,Rm,Rs;RdRmRsMLAcondSRd,Rm,Rs;Rn,RdRmRs+Rn,第3章ARM指令系統(tǒng),UMULL,UMLAL,SMULL,SMLALopcondSRdLo,RdHi,Rm,RsUMULLR1,R4,R2,R3SMULLLER1,R5,R2,R3SMULxy(帶符號(hào)乘法)-16位16位,結(jié)果32位SUMLcondRd,Rm,RsSMULTBEQR5,R7,R9;,第3章ARM指令系統(tǒng),SMLAxy-(帶符號(hào)乘加)-16位16位,結(jié)果為32位SMLAcondRd,Rm,Rs,RnSMLATTR8,R1,R0,R8SMULWy-帶符號(hào)乘(32位16位,結(jié)果為高32位)SMULWcondRd,Rm,RsSMULWBR2,R4,R7,第3章ARM指令系統(tǒng),SMLAWy-帶符號(hào)乘加(32位16位,用高32位進(jìn)行加法)SMLAWcondRd,Rm,Rs,RnSMLAWBR2,R4,R7,R1SMLAWTVSR0,R0,R9,R2SMLALxy-帶符號(hào)乘法(16位16位,加法為64位)SMLALcondRdLo,RdHi,Rm,RsSMLALTBR2,R3,R7,R1,第3章ARM指令系統(tǒng),Problem72單數(shù)據(jù)傳送類指令?LDR-data:MEMREG.STR-data:REGMEM.condBTRd,LDRR1,R10LDRNER2,R5,#5!STRR1,R2,R4LDRR1,R2,R3,LSL#2LDRR0,localdata,第3章ARM指令系統(tǒng),Problem73半字和帶符號(hào)數(shù)據(jù)傳送類指令?,第3章ARM指令系統(tǒng),Problem7雙字傳送類指令?,第3章ARM指令系統(tǒng),Problem7塊數(shù)據(jù)傳送類指令?,第3章ARM指令系統(tǒng),Problem7Cache預(yù)加載指令?,第3章ARM指令系統(tǒng),Problem7單數(shù)據(jù)交換指令?,第3章ARM指令系統(tǒng),Problem7軟件中斷指令?SWIcondimmed_24SWI0 x123456,第3章ARM指令系統(tǒng),Problem79MRS,MSR指令?MRScondRd,psrMSRcond_,#immed_8rMSRcond_,Rm,第3章ARM指令系統(tǒng),Problem斷點(diǎn)指令?BKPTimmed_16,第3章ARM指令系統(tǒng),Problem81ARM偽指令?ADR把與程序相關(guān)的或與寄存器相關(guān)的地址調(diào)進(jìn)寄存器中ADRcondregister,expressionstartMOVR0,#10;ADRR4,start;等同SUBR4,PC,#0 xC,第3章ARM指令系統(tǒng),Problem81ARM偽指令?ADRLlikeADRADRLcondregister,expressionstartMOVR0,#10;ADRLR4,start+6000;,第3章ARM指令系統(tǒng),Problem81ARM偽指令?LDFD-LDFDcondfp-register,=expressionLDFDf1,=3.12E106LDFS-LDFScondfp-register,=expressionLDFSf1,=3.12E-6,第3章ARM指令系統(tǒng),Problem81ARM偽指令?LDR-LDRcondregister,=expression|label-expressionLDRR1,=0 xffLDRR2,=place,第3章ARM指令系統(tǒng),Problem81ARM偽指令?NOP-,第3章ARM指令系統(tǒng),Problem82XScale新增指令?MIA乘法指令MIAPH乘法指令MIAxy乘法指令MAR,MRA內(nèi)部累加器訪問指令,第3章ARM指令系統(tǒng),Problem83Thumb指令集特點(diǎn)?分支指令數(shù)據(jù)處理指令單寄存器Load/Store指令多寄存器Load/Store指令見P.122,表3-5,Thumb指令概述.,第3章ARM指令系統(tǒng),ARM的匯編語(yǔ)言/C/C+程序設(shè)計(jì)方法(1)ARM開發(fā)工具ADS1.2使用方法特點(diǎn):在ADS1.2中,工程項(xiàng)目是一個(gè)很重要的概念,連接和調(diào)試都是以工程項(xiàng)目為基本單位.源程序必須被工程項(xiàng)目所包含后,才可以使用.正確合理地設(shè)置工程項(xiàng)目,才可使程序的調(diào)試工作進(jìn)行得更加順利.,第3章ARM指令系統(tǒng),(2)建立一個(gè)設(shè)計(jì)程序的工程項(xiàng)目(Project)?打開CodeWarriorIDE.FileNew彈出對(duì)話框.有Project,F(xiàn)ile,Object,選中Project使用ARMExecutableImage,生成ELF格式文件輸入項(xiàng)目文件名稱(ProjectName)和項(xiàng)目所在的位置(Location),第3章ARM指令系統(tǒng),(3)建立一個(gè)程序的源文件(TextFile)?打開CodeWarriorIDE.FileNew彈出對(duì)話框.有Project,F(xiàn)ile,Object三項(xiàng),選中File使用ARMExecutableImage,生成ELF格式文件輸入源文件名(FileName)一定要同時(shí)輸入文件的擴(kuò)展名如是匯編語(yǔ)言,擴(kuò)展名是.s如果是語(yǔ)言,其擴(kuò)展名是.c如果是,其擴(kuò)展名是.cpp輸入源文件所放置的位置(Location).OK確定.,第3章ARM指令系統(tǒng),(4)如何把源程序的文件添加到工程項(xiàng)目中?對(duì)一個(gè)單獨(dú)的、沒有包含在工程項(xiàng)目中的源文件,是不能進(jìn)行編譯和連接的ARMExecutableImage可以包含多種源文件可以用AddFiles添加文件到工程項(xiàng)目中有個(gè)選項(xiàng)決定了源文件被處理后的生成目標(biāo)類型:DebugRel,Release,Debug.選擇Debug.,第3章ARM指令系統(tǒng),(5)如何正確打開工程項(xiàng)目進(jìn)行程序設(shè)計(jì)和管理?在工具欄中使用FileOpen.打開文件夾中的工程項(xiàng)目,其擴(kuò)展名是*.mcp只有打開了工程文件*.mcp,才能工作正常當(dāng)鼠標(biāo)指向該項(xiàng)目時(shí),顯示類型是CodeWarriorprojectfile文件,第3章ARM指令系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論