版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,ARM集成开发环境ADS1.2,北京微芯力科技有限公司 ,2,主要内容,ARM开发工具概述 ARM开发系统的安装 ARM JTAG 仿真器配置 新建工程项目 编译工程项目 AXD调试器的使用方法,3,ARM开发工具概述(一),基于ARM的开发,需要借助硬件工具和软件工具。硬件工具主要是ARM在线仿真器、评估板等,软件工具包括编辑汇编、编译链接、调试软件、嵌入式操作系统和函数库。目前世界上有诸多公司提供以上不同类别的软硬件产品。 开发者选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快进度,节省开发成本。因此一套运行于PC机上,含有编辑软件、汇编软件、连接软件、调试软件、项目管理以
2、及函数库的集成开发环境(IDE)是必不可少的。集成开发环境用于开发ARM的应用和驱动程序,而调试工作需要借助于ARM实时仿真器和评估板方可完成。 实际上,多数嵌入式开发者都借助Windows平台的IDE环境和ARM实时仿真器来开发驱动和应用程序,再将其移植到其它嵌入式操作系统上。 常用的集成开发环境(IDE)有ARM SDT,ARM ADS,MULTI2000,Hitool for ARM等,较为流行的仿真器如Multi-ICE,ARM JTAG等。这里主要介绍ARM ADS集成开发环境和ARM Multi-ICE JTAG仿真器。,4,ARM开发工具概述(二),软件工具 ARM ADS(AR
3、M Developer Suite)是ARM公司推出的新一代ARM集成开发软件环境,用以取代ARM公司以前推出的ARM SDT开发软件,目前用户使用的ARM ADS新版本为ADS1.2。 ARM ADS对ARM SDT的模块进行了增强,替换了部分SDT的部件。用户感受到的最强烈的变化是:ADS使用Code Warrior IDE替代了SDT 的APM,使用AXD替代了ADW,现代集成开发环境的一些基本特征在ADS中才得以体现。 ADS由命令行开发工具,ARM时实库,GUI环境(Code Warrior和AXD),实用程序和支持软件组成。 有这些部件,用户就可以为ARM系列的RISC处理器编写和
4、调试自己的应用程序。 ADS支持所有的ARM体系处理器,包括ARM7、ARM9、ARM9E、ARM10、ARM10E和Intel Xscale系列,除支持Windows平台操作系统外,还支持在 RedHat Linux操作系统上的运行。 这里介绍基于Windows平台的ARM开发,让您快捷掌握Code Warrior和AXD的使用,致力于ARM的开发。,5,ARM开发工具概述(三),硬件工具 ARM Multi-ICE JTAG仿真器是SoC应用开发的强大调试工具,是进行硬件开发、驱动程序调试、应用软件开发的必备工具。它用于ARM处理器内核软件调试,符合IEEE 1149.1规范,可以满足更多
5、用户对ARM处理器内核软件的开发、调试需求。 ARM Multi-ICE JTAG仿真器支持所有内含embedded-ICETMlogic的基于ARM内核的芯片,同时也支持所有新的尚在开发中的ARM内核SoC芯片。通过JTAG仿真器,用户可以轻松修改寄存器、存储器、设置断点、观察窗口、程序下载及RealMonitorTM 实时调试。 ARM Multi-ICE JTAG仿真器配备ARM ADS软件集成开发调试环境,编译、链接、可视化调试一应俱全,软件模拟、项目管理方便快捷,快速提高代码开发效率。,6,ARM开发工具概述(四),ARM JTAG主要特征如下: 支持所有内建Embedded-ICE
6、逻辑单元的ARM处理器 支持多个内核系统 支持ARM ADS1.2开发环境 连接简便,兼容不同电压的目标系统 用户可通过JTAG修改寄存器、存储器内容等 除JTAG扫描链外,不占用目标板上的其它任何资源 支持实时硬件断点 支持程序下载及实时调试 通信速度快,高速数据下载可达130KB/S JTAG速度可配置,以满足不同调试对象的需求 支持所有符合RDI 1.50或RDI 1.51规范的调试工具软件 支持多目标平台,如ATMEL、SamSung、Intel、Philips、Sharp等 提 供丰富的例程和使用说明 体积轻巧,性能稳定,7,ARM开发工具概述(五),ARM Multi-ICE JT
7、AG实时仿真器支持的ARM内核: ARM7TDMIARM710TARM7TDMI-S ARM7DMIARM720TARM740T ARM7TDI-SARM7EJ-SARM926EJ-S ARM9TDMIARM9E-SARM940T ARM946E-SARM920TARM966E-S ARM1020EARM922TARM966E-S Intel XScalePXA210PXA25080200 支持的操作系统: Windows 98/NT/2000/ME/XP X86 RedHat Linux 6.2/7.2/8.0,8,ARM开发系统的安装(一),硬件连接 ARM Multi-ICE JTAG使
8、用标准的25pin并口插座和20pin的JTAG插座作为接口。有的目标板可能使用14pin的JTAG插座,它的信号定义和20pin的JTAG接口的信号排列顺序如下图1。对于这两类接口,它们相同信号的电气特性一样,因此可以把对应的信号直接相连进行转换。20pin和14pinJTAG接口信号定义,9,ARM开发系统的安装(二),ARM开发系统的硬件连接如下图所示:,10,ARM开发系统的安装(三),软件安装 开发PC主机系统需求: Pentium IBM兼容PC,带有可用的并口 CD-ROM驱动器 200MHz以上CPU 300MB以上空闲硬盘空间 32MB(Win98)或64MB(Win2000
9、)以上内存空间 建议Microsoft Windows 98或2000操作系统 ARM开发系统软件的安装过程分为两步: 1、安装ARM Multi-ICE,这是仿真器驱动程序。 2、安装ARM Developer Suite(ADS),这是ARM的集成开发环境。 插入安装光盘后,按照默认的设置进行安装即可。,11,ARM JTAG仿真器配置(一),1.按照硬件连接图所示,做好仿真器、目标板和PC机的硬件连接。需要 注意的是:要先给仿真器加电,然后再给目标板加电。 2.打开“开始程序ARM Multi-ICE v2.2”运行Multi-ICE server,启动 仿真器驱动。,12,ARM JT
10、AG仿真器配置(二),3. 点击FileAutoconfigure或相应快捷键,自动连接仿真器,如下图所示。 仿真器能够检测ARM目标板的CPU型号或者ARM内核级别,这就表明 仿真器已经连接并能够仿真目标板。,13,ARM JTAG仿真器配置(三),对于某些ARM内核的CPU来说,在点击FileAutoconfigure自动配置时可能会出现“UNKNOWN”的情况,这属于正常现象。这时,用户需要根据自己的内核级别,进行手动配置。这里以ARM920T内核为例,简要介绍。,14,ARM JTAG仿真器配置(四),A:首先要建立相应ARM内核的配置文件。新建一文本格式的文件,以 cfg 为扩展名,
11、比如:AT91RM9200DK.cfg,最好保存到ADS的安装 目录 C:Program FilesARMMulti-ICE路径下。 文件的内容如下: Title ATMEL AT91RM9200 Demonstration Kit ;- THUNDER part - TAP 0 ARM920T ; Tell the Server to interrogate the device to gather IDCODE details ; For manual configuration the default is NO if not specified TAPINFO YES Timing L
12、ow=0 ; this equates to 10MHz TCK frequency High=0 Adaptive=OFF ; do not use adaptive clocking,15,ARM JTAG仿真器配置(五),B:打开“开始程序ARM Multi-ICE v2.2”运行Multi-ICE server,启动 仿 真器驱动。点击FileAutoconfigure自动配置,等待出现“Unknow” 提示。然后打开FileLoad-Configuration选项。,在弹出的对话框中查找并加载在上面建立的文件AT91RM9200DK.cfg。,16,ARM JTAG仿真器配置(六),
13、调入该文件后,Multi-ICE Server能够检测ARM内核,说明手动配置成功。,图7,如果仿真器连接到PC机,刚打开Multi-ICE Server时出现警告,或者该窗口右下角的两个绿灯不亮,应该检查仿真器、电源及其连接是否有故障。,17,新建工程项目(一),1打开“开始程序ARM Developer Suite v1.2Codewarrior for ARM Developer Suite”,进入ADS集成开发环境。 2从FilesNew菜单新建一个工程项目,如下图所示。,18,新建工程项目(二),3在New对话框的Project选项卡中创建新工程项目。如图所示:ProjectARM
14、Executable image,用于生成一个可执行的ELF格式的映像文件。在Project Name文本框中填写将要建立的工程项目的名称,在Location文本框中设置工程项目的路径。,19,新建工程项目(三),4单击“确定”,这样根据工程项目模板就生成一个新工程项目,如下图所示。可以查看在“Location”所指定的文件夹下,生成了一个XXX文件夹,它又包括XXX_Data文件夹和一个XXX.mcp文件。,20,新建工程项目(四),5新建一个源文件:FilesNewfileText file,如图所示:,21,新建工程项目(五),在File Name 填写源文件名称(如init.s),在L
15、ocation设置源文件的路径。建议新建文件路径和项目路径一致。这里,可以选中“Add to project”项,在Project下拉列表中选择想要加入的工程项目的名称(即上面所建立的 XXX.mcp),并选中Target目标栏中“Debug”、“DebugRel”和“Release”选项。 6在新建的文本文件中编写程序代码,如下图所示:,22,新建工程项目(六),编辑完成后,保存该项目文件。如果该项目包括多个文件,继续新建文件直至完成。,23,新建工程项目(七),7添加所有源文件到项目工程。 如果在第5步中没有选中“Add to project”项,在项目文件下的空白处单击右键,选择“Add
16、 files”,在弹出的对话框中选择刚才新建的文件,全部加载到该项目中。,加载完成后,一个完整的项目工程就建立成功!,24,编译工程项目(一),1设置编译环境。 可以看到TargetS中有三个目标:DebugRel、Debug、Release,默认的 目标为DebugRel(带有基本调试信息),用于调试时可以选择Debug(带有 全部调试信息)。通过DebugRel Settings对话框设置的各种选项对于其它两 个目标无效,Targets页面如图所示。,25,编译工程项目(二),2打开Target Settings。 值得注意的是Post-Linker,用于选择对连接器输出的文件的处理方式,
17、 经常使用的是:ARM fromELF,它可以将ELF格式的文件转换成各种二进 制文件格式供下载使用。同时确定“Output Directory”中的路径,在“Access Paths”下设置你所建的项目下的XXX.axf文件的路径,下图为Target Settings 设置页面。,26,编译工程项目(三),3编译器的选项设置。 首先打开Language Settings项下的ARM Assembler,这是ARM汇编编译 器的选项。这里根据目标系统的实际情况,将ARM Assembler中的处理器 类型(Architecture or Processor)设置为ARM920T。,27,编译工
18、程项目(四),打开Language Settings项下的ARM C Compiler选项,这是armcc编译器的选项。将ARM C Compiler中的处理器类型也设置为ARM920T。如果需要使用 C+和Thumb指令集,则应将ARM C+ Compiler,Thumb C Compiler和Thumb C+ Compiler也作同样的设置。,28,编译工程项目(五),其它各个选项一般按默认设置即可:ARM920T,Pure-endian softfp, litter endian,ANSI/ISO Standard C。 4连接器的选项设置。 选择Linker下的ARM Linker选项
19、。 打开Output选项卡,需要注意的是 RO Base,它是用来设置映象文件中RO属性输出段的加载时地址和运行时 地址,该地址值必须是字对齐的。它应该在RAM区,如果没有指定地址值, 使用默认地址0 x8000。 在AT91RM9200实验箱中,当系统上电或复位时,固化在Flash中Boot 程序首先运行,将SDRAM映射在0 x2000,00000 x2200,0000-1(32MB)的 地址空间。因此,该RO值只要设置在上述地址范围即可,当然也可以设置 在内部RAM区域,即0 x200000。下图为ARM Linker设置页面。 RW Base设置映像文件中包含RW属性和ZI属性的输出段
20、的运行时域的 起始地址,该地址必须字对齐。如果它与-split一起使用,会将映像文件中 RW/ZI属性输出段的加载时地址和运行时地址都设置为文本框中的值。,29,编译工程项目(六),如果没有选择RW Base选项,映像文件中只包含一个加载时域和一个运行时域。此时,RO属性的输出段、RW属性的输出段以及ZI属性的输出段都包含在同一时域中。当设置RW Base选项时,映像文件包括两个运行时域,一个包含RO属性的输出段,另一个包含RW/ZI属性的输出段。同样,指定-split选项后,映像文件包括两个加载时域。,30,编译工程项目(七),Layout选项卡,在连接方式为Simple时有效,它安排一些输
21、入段在映像文件中的位置。 Place at the beginning of image选项组,用于指定将某个输入段放置在它所在的运行时域的开头。比如将复位异常中断处理程序的输入段放置在运行时域的开头。有以下两种方式指定输入段: 在Object/Symbol文本框中指定符号名称,则定义该符号的输入段被指定。 在Object/Symbol文本框中指定目标文件名称,在Section文本框中指定一个输入段名称,从而确定一个输入段作为指定的输入段。,Place at the end of image选项组,用于指定将某个输入段放置在它所在运行时域的结尾。比如包含校验和数据的输入段通常放置在运行时域的结
22、尾。指定一个输入段的方法与Place at the beginning of image选项组相同,通常可以不予设置。,31,编译工程项目(八),这里采用方法二,将Object/Symbol设置为init.o,Section设置为Init,这些选项保证初始化代码在所有其它代码之前被执行。init.o目标文件是由汇编文件init.s生成的,Init是输入段名称,在init.s的AREA伪代码语句处定义。组合框Place at the end of image中的输入段设置可以忽略。,32,编译工程项目(九),5fromELF工具选项。 打开Linker项下的ARM fromELF选项,将其中的o
23、utput format设置为 Plain binary ,该选项设置输出目标文件的格式,有多种类型供选择。,为ARM fromELF中的Output file name指定文件名。此设置可以省略, 使用缺省文件名即工程名.bin,默认存放在DebugRel/Debug下。,33,编译工程项目(十),6项目编译。 设置好编译连接的参数后,选中图中红圈所示的编译按钮,对整个工 程编译。当然选中一个.s文件或.c文件,单击鼠标右键可以对单个文件进行 编译。直到弹出的错误和警告信息为“0 error, x warnings”时,整个项目的编 译成功,方能进入调试环境。也可以通过单击Project菜单
24、下的Make命令或 者快捷键F7来进行编译连接和输出目标文件。,34,AXD调试器的使用(一),AXD Debugger是用户用来调试应用程序的开发环境,支持软件仿真和 带目标系统的硬件仿真两种方式。其中,软件仿真方式无需用户硬件系统 的支持,使用宿主机的CPU模拟ARM微处理器的运行,可进行与硬件无关 的应用程序的调试和运行。 当需要进行带目标系统的硬件仿真,调试和运行与硬件相关的应用程 序时,必须建立AXD Debugger与目标系统的连接。在此之前,应先对AXD Debugger进行如下配置,步骤如下: a.配置ARM Multi-ICE V2.2 做好仿真器和目标系统的硬件连接,先后给
25、仿真器和目标系统上电。 运行Multi-ICE Server,进行自动配置或者手动配置,确保ARM实时仿 真器能够检测到ARM内核。,35,AXD调试器的使用(二),b.配置调试环境 打开AXD Debugger窗口,打开OptionsConfigure Target选项,出现目 标选择的对话框。用户安装后第一次使用AXD时,需要添加仿真器的目 标环境。,点击“Add” 按钮,在出现的浏览框中查找Multi-ICE.dll文件。,36,AXD调试器的使用(三),根据Multi-ICE的安装路径(默认安装的路径是C:Program FilesARMMulti-ICE)选定Multi-ICE.dll文件,然后点击 “确定” 按钮。出现以下画面:,37,AXD调试器的使用(四),点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省昭通市巧家县第一中学等校2025-2026学年七年级下学期6月阶段检测道德与法治试卷(含答案)
- 2026职场测试面试题及答案
- 保险AI算力部署策略-第48篇
- 2024版CSCO胰腺癌诊疗指南权威解读(完整版临床实操版)
- 2026专家返聘面试题及答案
- 2026年云南省考面试真题及答案解析
- 2026年卫生人才评价考试(医院管理中级)题库
- 2026年深圳市考《申论》真题及答案解析
- 2026年江西电力职业技术学院单招职业技能考试题库及答案
- 2026年房地产经纪人从业资格考试真题试卷附答案
- 金融黑灰产现状及治理研究调研报告-众邦银行-202607
- 四川嘉陵江文化旅游投资集团有限公司2026年公开招聘工作人员(17人)笔试参考试题及答案详解
- 2026秋北师大版小学数学三升四换算填空暑假每日一练(30天)
- 2026-2030中国遥控式水下机器人行业市场发展趋势与前景展望战略分析研究报告
- 公路工程施工安全风险分析报告
- 2026年大兴安岭地区总工会工会社会工作者招聘37人考试备考题库及答案详解
- 《2026年全国新闻记者职业资格》考试试题及答案
- 基于AI的C语言程序设计(微课版)课件 第3章 AI大模型助力编程学习
- 2026年高考新高考I卷生物真题卷附答案
- 2026年精益生产工程师中级模拟试题
- 珊瑚繁育项目可行性研究报告
评论
0/150
提交评论