资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ARM 嵌入式系统第8章 ARM ADS集成开发环境,第8章 ARMADS 集成开发环境,ARM开发工具简介 ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。,第8章 ARMADS 集成开发环境,常见的调试方法有以下几种: 指令集模拟器 驻留监控软件 JTAG仿真器 在线仿真器,第8章 ARMADS 集成开发环境,ARM ADS的英文全称为ARM Developer Suite,是ARM公司推出的新一代ARM集成开发工具,用来取代ARM公司以前推出的开发工具ARM SDT,目前ARM ADS的最新版本为1.2。 ARM ADS支持所有ARM系列处理器,除了ARM SDT支持的运行操作系统外还可以在Windows2000/Me以及RedHat Linux上运行。,第8章 ARMADS 集成开发环境,ARM ADS由六部分组成: 代码生成工具 集成开发环境 调试器 指令集模拟器 ARM 开发包 ARM应用库,创建工程,ADS中的CodeWarrior是集管理、编辑、编译、链接于一体的集成开发环境。用户可以利用工程管理的思想组织项目开发中的源文件、库文件、头文件和其他相关的输入输出文件。 工程能够将所有的源码文件有机地组织在一起,并决定最终生成文件存放的路径,输出的格式等。 下面从最基本的工程创建入手介绍CodeWarrior集成开发环境。,创建工程_选择File|New命令,生成目标的设置,每个工程项目都有3种生成目标: Debug包含了所有调试信息。 DebugRel包含了部分调试信息。 Release不包含调试信息。,参数设置_RO基地址,参数设置_设置入口点,参数设置_指定起始输入段,参数设置_指定可执行文件格式,使用ARMulator来调试简单程序,ARMulator是一个ARM指令集仿真器,集成在ARM的调试器AXD中,它提供对ARM处理器指令集的仿真,为ARM和Thumb提供精确的模拟。 利用ARMulator可以在没有硬件目标平台条件下开发、运行特定ARM处理器上的应用程序。 ARMulaor可以提供指令执行时内部寄存器状况及执行周期,可以进行应用程序的性能分析,这样就为软硬件并行开发提供了极大的方便。,使用ARMulator来调试简单程序,AXD调试环境_加载映像文件,AXD调试环境_运行程序,Step In(或F8)或工具栏中 图标 Step(或F10)或工具栏中 图标 Step Out(或Shift+F8)或工具栏中 图标 Run To Cursor(或F7)或工具栏中 图标,AXD调试环境_设置断点,AXD调试环境_查看寄存器内容,AXD调试环境_查看内存空间,AXD调试环境_查看变量,AXD调试环境_查看反汇编代码,使用JTAG仿真器来调试程序,使用AXD可以完成对程序的软件仿真调试,但要完成硬件仿真和调试功能,则需要通过JTAG仿真器实现ARM处理器与主机的通信联络。,使用JTAG仿真器来调试程序,初始化存储器,通常ARM处理器都集成有SDRAM控制器。程序的在线调试实际上是要将程序代码通过JTAG仿真器下载到处理器的SDRAM空间执行,但是SDRAM在初始化上电时并不能直接访问,必须配置它的刷新计数值、刷新时间、刷新使能等才可以访问。 初始化存储器就是设置ARM处理器的某些寄存器,实现对SDRAM存储空间映射的初始化过程。 EELIOD系统硬件决定了在进行JTAG调试时,一上电SDRAM并没有初始化,故不能直接访问,下载程序前需要先进行SDRAM的初始化工作。,初始化存储器,程序仿真调试,Semihosting调试技术,Semihosting 定义 软件中断(SWI)指令 SWI编号,Semihosting调试技术,Semihosting的实现原理,C库函数重定向,下面是实现fputc()重定向的一个例子: extern void sendchar(char*ch); int fputc(int ch, FILE*f) /*e.g.writeacharactertoanUART*/ char tempch=ch; sendchar( ,程序的固化,程序固化就是将调试完成后的程序代码烧写到非易失性存储介质中,常用介质包括ROM、EEPROM和FLASH等。,程序的固化,在程序固化开始前,需重新配置项目工程的RO Base和RW Base,使RO Base指向上电复位后的首地址0 x0,RW Base指向256K片内RAM区首地址0 x5C000000。 将工程重新链接生成用于下载的8LED_SEG_c.bin文件。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号