ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 梅霆 第7章 嵌入式系统开发的实验基础

上传人:E**** 文档编号:89449064 上传时间:2019-05-25 格式:PPTX 页数:54 大小:968.63KB
返回 下载 相关 举报
ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 梅霆 第7章 嵌入式系统开发的实验基础_第1页
第1页 / 共54页
ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 梅霆 第7章 嵌入式系统开发的实验基础_第2页
第2页 / 共54页
ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 梅霆 第7章 嵌入式系统开发的实验基础_第3页
第3页 / 共54页
ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 梅霆 第7章 嵌入式系统开发的实验基础_第4页
第4页 / 共54页
ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目  教学课件 ppt 作者  王诚 梅霆 第7章 嵌入式系统开发的实验基础_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 梅霆 第7章 嵌入式系统开发的实验基础》由会员分享,可在线阅读,更多相关《ARM嵌入式系统原理与开发 工业和信息化普通高等教育“十二五”规划教材立项项目 教学课件 ppt 作者 王诚 梅霆 第7章 嵌入式系统开发的实验基础(54页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统开发的实验基础,嵌入式系统开发的实验基础,ADS全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具。现在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。 ADS用于无操作系统的ARM系统开发,是对裸机(可理解成一个高级单片机)的开发。ADS有极佳的测试环境和良好的侦错功能,它可使硬件开发者更深入地从底层去理解ARM处理器的工作原理和操作方法,为日后自行设计打基础,为BootLoader的编写和调试打基础。,ADS集成开发环境简介,嵌入式系统开发的实验基础,1命令行开发工具 命令行开发工具在实际应用中相对来说比较广泛,使用

2、它的好处在于可以将许多编译命令写在一个脚本文件中,然后只执行该脚本文件就可以让工具自动完成所有编译、链接工作生成可执行代码。命令行开发工具中常用的命令如下。 (1)armcc armcc是ARM C编译器,用于将用ANSI C编写的程序编译成32位的ARM指令代码。 armcc命令使用时可附带参数。在命令控制台环境下,输入以下命令: armcc help 将可以查看armcc的语法格式以及最常用的一些操作选项。 armcc的基本语法格式为 armcc options file1 file2filen,ADS软件组成,嵌入式系统开发的实验基础,(2)armcpp armcpp是ARM C+编译器

3、,它将ISO C+或EC+编译成32位的ARM指令代码。该编译器的命令选项和armcc的选项基本一样,这里不再重复。 (3)tcc tcc是Thumb C编译器,它将ANSI C源代码编译成16位的Thumb指令代码。tcc的编译选项和用法类似armcc,具体使用请参考ADS软件的在线帮助文件。 (4)tcpp tcpp是Thumb C+编译器,它将ISO C+和EC+源码编译成16位Thumb指令代码。它的编译选项和用法类似armcc,具体使用请参考ADS软件的在线帮助文件。,ADS软件组成,嵌入式系统开发的实验基础,(5)armasm armasm是ARM和Thumb的汇编器,它对用ARM

4、汇编语言和Thumb汇编语言写的源代码进行汇编。在命令行输入 armasmhelp 将会看到armasm汇编器的用法以及它的编译选项。armasm的基本语法格式有两种: armasm options sourcefile objectfile armasm options -o objectfile sourcefile,ADS软件组成,嵌入式系统开发的实验基础,ADS软件组成,(6)armlink armlink是ARM链接器,该命令既可以将编译得到的一个或多个目标文件和相关的一个或多个库文件进行链接,生成一个可执行文件,也可以将多个目标文件部分链接成一个目标文件,以供进一步地链接。ARM链

5、接器生成的是ELF格式的可执行映像文件。armlink的语法格式如下: armlink option-list input-file-list (7)armsd armsd是ARM和Thumb的符号调试器,它能够进行源码级的程序调试。用户可以在用C或汇编语言写的代码中进行单步调试,设置断点,查看变量值和内存单元的内容。armsd的语法格式如下: armsd options ,嵌入式系统开发的实验基础,2ARM运行时库 ADS提供两种运行时库来支持C和C+代码的编译,一种是ANSI C库函数,另一种是C+库函数。 ANSI C库函数包含在ISO C标准中定义的函数以及被C和C+编译器所调用的支持

6、函数。C+库函数包含由ISO C+标准定义的函数。 3GUI开发环境 ADS GUI开发环境包含CodeWarrior和AXD两种,其中Code Warrior是集成开发工具,而AXD是调试工具。 CodeWarrior for ARM是一套完整的集成开发工具,充分发挥了ARM RISC的优势,使产品开发人员能够很好的应用尖端的片上系统技术。该工具是专为基于ARM RISC的处理器而设计的,它可加速并简化嵌入式开发过程中的每一个环节,使得开发人员只须通过一个集成软件开发环境就能研制出ARM产品。 AXD(ARM eXtended Debugger)即ARM扩展调试器。调试器本身是一个软件,用户

7、通过这个软件使用调试代理可以对包含有调试信息的、正在运行的可执行代码进行变量的查看、断点的控制等调试操作。,ADS软件组成,嵌入式系统开发的实验基础,4实用程序 ADS除了提供上述工具外,它还提供以下的实用工具来配合前面介绍的命令行开发工具的使用。 (1)Flash downloader Flash downloader是用于把二进制映像文件下载到ARM开发板上的Flash存储器的工具。 (2)fromELF fromELF是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain binary(BIN格式映像文件)、Motorola 32

8、-bit S-record format(Motorola 32位S格式映像文件)、Intel Hex 32 format(Intel 32位格式映像文件)和Verilog-like hex format(Verilog十六进制文件)。fromELF命令也能够为输入映像文件产生文本信息,如代码和数据长度。 (3)armar ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。,ADS软件组成,嵌入式系统开发的实验基础,5支持软件仿真 ADS为用户提供ARMulator软件,使用户可以在软件仿真的环境下或者在基于ARM的硬

9、件环境下调试用户的应用程序。ARMulator是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟。用户可以在硬件尚未做好的情况下,开发程序代码。 ADS软件主要由上述5个部分组成,下面将介绍在实际开发中使用频繁的CodeWarrior和AXD工具的基本使用。,ADS软件组成,嵌入式系统开发的实验基础,1创建项目工程 建立项目工程是嵌入式开发的第1步,因为工程将所有的源代码文件组织在一起,并能够决定最终生成文件存放的路径、输出的格式等。运行ADS1.2开发软件(CodeWarrior for ARM Developer

10、Suite),打开CodeWarrior集成开发环境,如图7-1所示。 在CodeWarrior中新建一个工程的方法有两种,可以在工具栏中单击New按钮,也可以在File菜单中选择New命令,如图7-1所示,这样就会打开一个如图7-2所示的新建工程对话框。 在Project列表框中有7种可选择的工程类型。 ARM Executable Image:用于将ARM指令代码生成一个ELF格式的可执行映像文件; ARM Object Library:用于将ARM指令代码生成一个armar格式的目标文件库; Empty Project:用于创建一个不包含任何库或源文件的工程; Makefile Impo

11、rter Wizard:用于将Visual C的nmake或GNU make文件转换成CodeWarrior IDE工程文件;,使用CodeWarrior IDE,嵌入式系统开发的实验基础, Thumb ARM Interworking Image:用于将ARM指令和Thumb指令的混和代码生成一个可执行的ELF格式的映像文件; Thumb Executable Image:用于将Thumb指令代码生成可执行的ELF格式的映像文件; Thumb Object Library:用于将Thumb指令的代码生成一个armar格式的目标文件库。,使用CodeWarrior IDE,嵌入式系统开发的实验

12、基础,使用CodeWarrior IDE,2编译和链接项目工程 在编译casmtest项目之前,要先进行目标生成选项的设置工作,这些选项包括编译器选项、汇编选项、链接器选项等,它们将决定CodeWarrior IDE如何处理工程项目,并生成特定的输出文件。单击Edit菜单,选择DebugRel Settings命令,或者按Alt + F7组合键,显示如图7-10所示的对话框。,嵌入式系统开发的实验基础,图7-10的最左边部分是目标设置面板,它包括以下几个大的设置选项。 (1)Target设置选项 Target Settings:包括Target Name、Linker、Pre-linker、P

13、ost-linker等设置; Access Paths:主要用于项目的路径设置; Build Extras:主要用于Build附加的选项设置; Runtime Settings:包括一般设置、环境设置等; File Mappings:包含映射信息、文件类型、编辑语言等; Source Trees:包含源代码树结构信息以及路径选择等; ARM Target:定义输出image文件名、类型等。 (2)Language Settings设置选项 ARM Assembler:对ARM汇编语言的支持选项设置; ARM C Compiler:对C语言的支持选项设置; ARM C+ Compiler:对C+

14、语言的支持选项设置; Thumb C Compiler:对Thumb C语言的支持选项设置; Thumb C+ Compiler:对Thumb C+语言的支持选项设置。,使用CodeWarrior IDE,嵌入式系统开发的实验基础,(3)Linker设置选项 ARM Linker:对输出的链接类型、RO Base、RW Base地址等选项设置; ARM fromELF:定义输出文件格式以及路径等。 (4)Editor设置选项 Custom Keywords:对客户关键字高亮颜色的设置。 (5)Debugger设置选项 Other Executables:当调试该目标板时制定其他的可执行文件来调

15、试; Debugger Settings:对调试器的一些基本设置; ARM Debugger:选择调试时的调试器(AXD、Armsd或其他调试器); ARM Runner:选择运行时的调试器(AXD、Armsd或其他调试器)。 (6)Miscellaneous设置选项 ARM Features:设置一些受限制的特性。,使用CodeWarrior IDE,嵌入式系统开发的实验基础,AXD是ADS软件中独立于CodeWarrior IDE的图形软件。 1打开调试文件 2设置断点 调试时,用户往往希望在程序执行到某处时查看所关心的变量值,此时可以通过设置断点达到要求。将光标移动到要进行断点设置的代码

16、处,在Execute菜单中,选择Toggle Breakpoint命令或按F9键,就会在光标所在行的起始位置出现一个红色实心圆点,表明该处已设为断点。假设本例中给第8行代码设置断点,首先将光标移至第8行,然后按F9键或单击Toggle Breakpoint按钮。 3查看寄存器和存储器的内容 查看寄存器或存储器的值在实际开发调试中经常使用。使用方法为从Processor Views菜单中选择Registers命令可观察寄存器的内容。 4查看变量值 在调试过程中,经常需要查看某个变量的值。在AXD工具中,查看变量值的方法是先用鼠标选中要查看的变量,然后右击,在弹出的快捷菜单中选择Watch命令,将会显示指定变量的详细信息。此处以6行的c为要查看的变量为例,先选中c变量,然后右击,选择Watch命令,将弹出如图7-24所示的对话框,该对话框显示了c变量的地址、数值等详细信息。,使用AXD IDE,嵌入式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号