第9章ADS介绍及ARM汇编语言程序设计基础-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第9章ADS介绍及ARM汇编语言程序设计基础-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADS 介绍 ARM 汇编语言 程序设计 基础 课件
- 资源描述:
-
1、第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 嵌入式系统设计嵌入式系统设计 基于基于ARM9ARM9微处理器微处理器S3C2410AS3C2410A第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计南阳师范学院南阳师范学院张帅张帅第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.1 9.1 裸机开发环境裸机开发环境n 何谓“裸机”?裸机是指无操作系统下
2、的ARM系统开发 其特点是所有硬件资源均开放 可以把它理解为一个高级单片机的开发n 裸机开发的作用 更能深入地从底层去理解ARM CPU的操作过程及系统设计 为日后自行设计系统打下基础 为bootloader的编写打好基础第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 开发环境的作用开发环境的作用第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.2 ADS IDE9.2 ADS IDE(集成开发环境(集成开发环
3、境)ARM应用软件的开发工具根据功能的不同,可以分为编辑软件、编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板,JTAG仿真器以及在线仿真器等。目前有多家公司可以提供以上不同类型的开发工具,用户采用ARM处理器进行嵌入式系统开发时,选择合适的开发工具可以加快开发进度,节省开发成本。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.2.1 9.2.1 ADSADS工具包的组成工具包的组成 ADS是ARM公司推出的集成开发工具包,是专门用于ARM相关应用开发和调试的综合性软件。目
4、前常用的版本是1.2,在功能和易用性上比早期的SDT都有提高,是一款功能强大又易于使用的开发工具。ARM ADS包含有编译器、链接器、CodeWarrior IDE、调试器、指令集模拟器、ARM开发包和应用库等部分,可以用ADS来开发、编译、调试采用包括C、C+和ARM汇编语言编写的程序。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.2.2 ADS9.2.2 ADS开发工具集开发工具集 1.1.命令行开发工具命令行开发工具 ANSI C 编译器-armcc and tcc ISO/Embedded
5、 C+编译器 -armcpp and tcpp ARM/Thumb 汇编器 arms Linker-armlink 第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 2.2.图形开发工具:图形开发工具:Windows 集成开发环境 CodeWarrior Debugger AXD(ARM eXtended Debugger)armsd ARM(符号调试器)可向前兼容3.3.库文件:库文件:C and C+库4.4.辅助工具辅助工具/支持软件:支持软件:格式转换器-fromelf 指令级仿真 ARMulat
6、or 库管理器 armar第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 fromELFfromELF:ARM映像文件转换工具 该命令将ELF格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plain binary(BIN格式映像文件),Motorola 32-bit S-record format(Motorola 32位S格式映像文件),Intel Hex 32 format(Intel 32位格式映像文件),和 Verilog-like hex format(Verilog 16进制
7、文件)ArmarArmar:ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。Flash downloaderFlash downloader:用于把二进制映像文件下载到ARM开发板上的Flash存储器的工具ARMulatorARMulator:ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器的指令集的仿真,为ARM和Thumb提供精确的模拟,用户可以在硬件尚未做好的情况下,开发程序代码。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计
8、嵌入式系统设计嵌入式系统设计 名称描述使用方式代码生成工具ARM汇编器ARM C/C+编译器Thumb C/C+编译器ARM 链接器由Code Warrior调用 集成开发环境Code Warrior工程管理,编译链接调试器AXD/ADW/ADU/armsd仿真调试指令模拟器ARMulator由AXD调用ARM开发包一些底层的例程,实用程序(如fromELF)由Code Warrior调用ARM应用库C/C+等函数库用户程序调用工具调用及流程第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.2.3 9
9、.2.3 集成开发环境集成开发环境CodeWarriorCodeWarrior使用使用 CodeWarrior集成开发环境为管理和开发项目提供了简单、多样化的图形用户界面。用户可以使用ADS的CodeWarrior IDE为ARM处理器开发用C,C+,或ARM汇编语言的程序代码。全面的项目管理功能。可以在CodeWarrior IDE为ARM配置以上所介绍的各种命令工具,实现对工程代码的编译,汇编和链接。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 C/C+Browser C/C+SensitiveE
10、ditorProjectManager第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 建立工程第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 uARM Executable Image:用于由ARM指令的代码生成一个 ELF格式的可执行映像文件。uARM Object Lib
11、rary:用于由ARM指令的代码生成一个 armar 格式的目标文件库。uEmpty Project:用于创建一个不包含任何库或源文件的工程。uMakefile Importer Wizard:用于将 Visual C 的 nmake 或 GNU make 文件转入到CodeWarrior IDE 工程文件。uThumb ARM Interworking Image:用于由 ARM指令和 Thumb 指令的混和代码生成一个可执行的ELF格式的映像文件。uThumb Executable image:用于由 Thumb指令创建一个可执行的ELF格式的映像文件。uThumb Object Libr
12、ary:用于由Thumb指令的代码生成一个 armar 格式的目标文件库。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 新建文件第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 添加文件到工程第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 生成目标设置第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMA
13、RM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 每个工程项目都有下面3种生成目标:uDebug:包含所有调试信息uDebugRel:包含部分调试信息uRelease:不包含调试信息注:若项目编译只是为了调试使用,则选择Debug或者DebugRel;若要生成最后可以运行的文件,则最好选择Release。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 编译链接进入编译链接设置:第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计
14、嵌入式系统设计嵌入式系统设计 设置窗口:第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 目标设置:第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在Targets Settings选项组中,Post-Linker用于选择链接器输出文件的处理方式。用户可以选择的值如下:None:不进行连接的处理。ARM fromELF:使用ARM工具fromELF处理链接器输出的ELF格式文件,它可以将ELF格式的文件转换为各种二
15、进制文件格式。Batch File Runner:在连接完成后运行一个DOS格式的批处理文件。若用户在编译完成后只是用AXD来调试程序,建议选择None;若要生成最后的编程文件,建议选择ARM fromELF,该选项与Linker面板中的ARM fromELF选项结合来产生最终的编程文件。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 CPU设置:第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 Linker设置:
16、第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在 Output format 下拉框中,为用户提供了多种可以转换的目标格式,这里选择 Plain binary,这是一个二进制格式的可执行文件,可以被烧写在目标板的 Flash中。在 Output file name 文本域输入期望生成的输出文件存放的路径,或通过点击 Choose.按钮从文件对话框中选择输出文件路径。如果在这个文本域不输入路径名,则生成的二进制文件存放在工程所在的目录下。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及A
17、RMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在标签页 Output 中,Linktype 中提供了 3 种链接方式:Partia:表示链接器只进行部分链接,经过部分链接生成的目标文件,可以作为以后进一步链接时的输入文件。Simple:默认的链接方式,也是使用最为频繁的链接方式,它链接生成简单的 ELF 格式的目标文件,使用的是链接器选项中指定的地址映射方式。Scattered:使得链接器要根据 scatter 格式文件中指定的
18、地址映射,生成复杂的 ELF 格式的映像文件。一般情况下这个选项使用不太多。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在选中 Simple 方式后,就会出现 Simple image。R0 Base:这个文本框设置包含有 R0 段的加载域和运行域为同一个地址,默认是 0 x8000。这里用户要根据硬件的实际 SDRAM 的地址空间来修改这个地址,保证在这里填写的地址是程序运行时 SDRAM 地址空间所能覆盖的地址。RW Base:这个文本框设置包含 RW 和 ZI 输出段的运行域地址。如果选中 s
19、plit 选项,链接器生成的映像文件将包含 2 个加载域和 2 个运行域,此时,在 RW Base 中所输入的地址为包含 RW 和 ZI 输出段的域设置了加载域和运行域地址。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在 Options 选项中,需要注意的是 Image entry point 文本框。它指定映像文件的初始入口点地址值,当映像文件被加载程序加载时
20、,加载程序会跳转到该地址处执行。如果需要,用户可以在这个文本框中输入下面格式的入口点。入口点地址:这是一个数值,例如-entry 0 x0。符号:该选项指定映像文件的入口点为该符号所代表的地址处。比如:-entry int_handler。在此处指定的入口点用于设置 ELF 映像文件的入口地址。需要注意的是,这 里不可以用符号 main 作为入口点地址符号,否则将会出现“Image dose not have an entry point(Not specified or not set due to multiple choice)”的出错信息。第第9 9章章 集成开发环境集成开发环境ADS
21、ADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 Layout选项在连接方式为Simple时有效,用来安排一些输入段在映像文件中的位置。在上图中,Place at Beginning of Image选项用于指定某个输入段放置在它所在的运行时域的开头。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 编译链接:第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 第第9 9章章
22、 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 文件输出文件输出第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 9.2.4 AXD9.2.4 AXD调试工具的使用调试工具的使用 在软件开发的最初阶段,可能还没有具体的硬件设备。如果要测试所开发的软件是否达到了预期的效果,这可以由软件仿真来完成。当然,也可以搭建一个PCB板,这个板上可以包含一个或多个处理器,在这个板上可以运行和调试应用软件。只有当通过硬件或者是软件仿真所得到的结
23、果达到了预期的效果,才算是完成了应用程序的编写工作。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 调试器能够发送以下指令:调试器能够发送以下指令:装载映像文件到目标内存;启动或停止程序的执行;显示内存,寄存器或变量的值;允许用户改变存储的变量值。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 进入进入AXDAXD调试工具调试工具第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言
24、程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 在菜单File中选择“Load image”选项,打开 Load Image对话框,找到要装载的.axf映像文件,点击“打开”按钮,就把映像文件装载到目标内存中了。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 Docking windowsDocking toolbarsRegistersSource/Disassembly Memory 第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计
25、 嵌入式系统设计嵌入式系统设计 选择调试目标:选择调试目标:点击ADX窗口菜单【Options】选择【Configure Target】,即弹出Choose Target 窗口,在没有添加其它仿真驱动程序前,Target 项中只有两项,分别为ADP(JTAG 硬件仿真)和ARMUL(软件仿真)。第第9 9章章 集成开发环境集成开发环境ADSADS介绍及介绍及ARMARM汇编语言程序设计汇编语言程序设计 嵌入式系统设计嵌入式系统设计 调试工具条,从左到右依次为:调试工具条,从左到右依次为:全速运行(Go)停止运行(Stop)单步运行(Step In),与Step 命令不同之处在于对函数调用语句,
展开阅读全文