《嵌入式系统设计》由会员分享,可在线阅读,更多相关《嵌入式系统设计(120页珍藏版)》请在金锄头文库上搜索。
1、北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2嵌入式系统设计嵌入式系统设计嵌入式系统设计嵌入式系统设计第三章第三章第三章第三章 ARM ARM 汇编语言汇编语言汇编语言汇编语言北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言? ?ADS1.2ADS1.2? ?AssemblerAssembler? ?ARM Assembly LanguageARM Assembly Language? ?ARM Instruction SetARM Instruction Set? ?Thumb Instruction SetT
2、humb Instruction Set? ?ExamplesExamples? ?SummarySummary北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(1)ADS(1)1. What is ADS1. What is ADS? ?ARM Developer SuiteARM Developer Suite? ?Can be used to develop, build, and debug C, Can be used to develop, build, and debug C, C+, or ARM assemb
3、ly language programs.C+, or ARM assembly language programs.? ?RVDS RVDS (RealViewRealView Developer SuiteDeveloper Suite) 2. Components of ADS2. Components of ADS? ?CommandCommand- -line development toolsline development tools? ?GUI development toolsGUI development tools? ?UtilitiesUtilities? ?Suppo
4、rting software.Supporting software.北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(2)ADS(2)3. Command3. Command- -line development toolsline development tools? ?armccarmcc The ARM C compiler. It compiles ANSI source into The ARM C compiler. It compiles ANSI source into 3232- -bit ARM code
5、.bit ARM code.? ?armcpparmcpp This is the ARM C+ compiler. It compiles ISO C+ This is the ARM C+ compiler. It compiles ISO C+ or EC+ source into 32or EC+ source into 32- -bit ARM code.bit ARM code.? ?tcctcc The Thumb C compiler. It compiles ANSI source into The Thumb C compiler. It compiles ANSI sou
6、rce into 1616- -bit Thumb code.bit Thumb code.? ?tcpptcpp This is the Thumb C+ compiler. It compiles ISO This is the Thumb C+ compiler. It compiles ISO C+ or EC+ source into 16C+ or EC+ source into 16- -bit Thumb code.bit Thumb code.北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(3)ADS(3)
7、3. Command3. Command- -line development tools line development tools (cont.)(cont.)? ?armasmarmasm The ARM and Thumb assembler. The ARM and Thumb assembler. For both ARM and Thumb assembly language source.For both ARM and Thumb assembly language source.? ?armlinkarmlink The ARM linker. The ARM linke
8、r. It Combines object files and libraries to produce an It Combines object files and libraries to produce an ELF executable images.ELF executable images.? ?armsdarmsd The ARM and Thumb symbolic debugger. This The ARM and Thumb symbolic debugger. This enables source level debugging of programs. enabl
9、es source level debugging of programs. 为什么为什么ARM和和Thumb编译工具不同,而汇编工具可以是同一个?编译工具不同,而汇编工具可以是同一个?北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(4)ADS(4)4. GUI development tools4. GUI development tools? ?AXDAXD The ARM Debugger for Windows and UNIX. The ARM Debugger for Windows and UNIX. ? ?I
10、DEIDE The project management tool for Windows. The project management tool for Windows. 5. Supporting software.5. Supporting software.? ?ARMulatorARMulator, The ARM core simulator., The ARM core simulator.? ?This provides instructionThis provides instruction- -accurate simulation of accurate simulat
11、ion of ARM processorsARM processors? ?Enables ARM and Thumb executable programs to Enables ARM and Thumb executable programs to be run on nonbe run on non- -native hardwarenative hardware北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(5)ADS(5)6. Utilities 6. Utilities ? ?fromELFfromELF Th
12、e ARM image conversion utility.The ARM image conversion utility.? ?armprofarmprof The ARM profiler displays an execution profile of a simple The ARM profiler displays an execution profile of a simple program from a profile data file generated by an ARM program from a profile data file generated by a
13、n ARM debugger.debugger.? ?armararmar The ARM librarian enables sets of ELF format object files to The ARM librarian enables sets of ELF format object files to be collected together and maintained in librariesbe collected together and maintained in libraries? ?Flash downloaderFlash downloader Utilit
14、y for downloading binary images to Flash memory on Utility for downloading binary images to Flash memory on an ARM Integrator board or an ARM Development boardan ARM Integrator board or an ARM Development board . .北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(9)ADS(9)8. AXD 8. AXD ? ?Wh
15、at is AXDWhat is AXD? ?ARM ARM eXtendedeXtended DebuggerDebugger? ?Debug targetDebug target? ?Simulator on the same computerSimulator on the same computer? ?Hardware on a printed circuit boardHardware on a printed circuit board? ?debugger issuesdebugger issues? ?Load software into memory on the targ
16、etLoad software into memory on the target? ?Start and stop execution of that softwareStart and stop execution of that software? ?Display the contents of memory, registers, and Display the contents of memory, registers, and variablesvariables? ?Enable you to change stored values.Enable you to change stored values.北京大学软件与微电子学院北京大学软件与微电子学院2006.22006.2汇编语言汇编语言汇编语言汇编语言- -ADS(10)ADS(10)8. AXD (cont. )8. AXD (cont. )? ?What is AXD(cont.)What is AXD(cont.)? ?Debug a