_ARM嵌入式系统
使用ARMulator来调试简单程序
AXD调试环境_加载映像文件
AXD调试环境_运行程序
Step In(或F8)或工具栏中 图标 Step(或F10)或工具栏中 图标 Step Out(或Shift+F8)或工具栏中
图标 Run To Cursor(或F7)或工具栏中
图标
AXD调试环境_设置断点
创建工程_选择File|New命令
生成目标的设置
每个工程项目都有3种生成目标:
Debug
包含了所有调试信息。
DebugRel 包含了部分调试信息。
Release
不包含调试信息。
参数设置_RO基地址
参数设置_设置入口点
参数设置_指定起始输入段
参数设置_指定可执行文件格式
使用ARMulator来调试简单程序
AXD调试环境_查看寄存器内容
AXD调试环境_查看内存空间
AXD调试环境_查看变量
AXD调试境_查看反汇编代码
使用JTAG仿真器来调试程序
使用AXD可以完成对程序的软件仿真调 试,但要完成硬件仿真和调试功能,则 需要通过JTAG仿真器实现ARM处理器与 主机的通信联络。
使用JTAG仿真器来调试程序
ARM ADS支持所有ARM系列处理器,除了ARM SDT支持的运行操作系统外还可以在 Windows2000/Me以及RedHat Linux上运行。
ARMADS 集成开发环境
ARM ADS由六部分组成:
代码生成工具 集成开发环境 调试器 指令集模拟器 ARM 开发包 ARM应用库
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(&tempch); return ch; }
创建工程
ADS中的CodeWarrior是集管理、编辑、编译、 链接于一体的集成开发环境。用户可以利用工 程管理的思想组织项目开发中的源文件、库文 件、头文件和其他相关的输入输出文件。
工程能够将所有的源码文件有机地组织在一起, 并决定最终生成文件存放的路径,输出的格式 等。
下面从最基本的工程创建入手介绍 CodeWarrior集成开发环境。
初始化存储器
通常ARM处理器都集成有SDRAM控制器。程序的在线 调试实际上是要将程序代码通过JTAG仿真器下载到处 理器的SDRAM空间执行,但是SDRAM在初始化上电时 并不能直接访问,必须配置它的刷新计数值、刷新时 间、刷新使能等才可以访问。
初始化存储器就是设置ARM处理器的某些寄存器,实 现对SDRAM存储空间映射的初始化过程。
ARMulator是一个ARM指令集仿真器,集成在 ARM的调试器AXD中,它提供对ARM处理器指 令集的仿真,为ARM和Thumb提供精确的模拟。
利用ARMulator可以在没有硬件目标平台条件 下开发、运行特定ARM处理器上的应用程序。
ARMulaor可以提供指令执行时内部寄存器状况 及执行周期,可以进行应用程序的性能分析, 这样就为软硬件并行开发提供了极大的方便。
常见的调试方法有以下几种: 1. 指令集模拟器 2. 驻留监控软件 3. JTAG仿真器 4. 在线仿真器
ARMADS 集成开发环境
ARM ADS的英文全称为ARM Developer Suite, 是ARM公司推出的新一代ARM集成开发工具, 用来取代ARM公司以前推出的开发工具ARM SDT,目前ARM ADS的最新版本为1.2。
将工程重新链接生成用于下载的 8LED_SEG_c.bin文件。
程序的固化
程序固化就是将调试完成后的程序代码 烧写到非易失性存储介质中,常用介质 包括ROM、EEPROM和FLASH等。
程序的固化
在程序固化开始前,需重新配置项目工 程的RO Base和RW Base,使RO Base指 向上电复位后的首地址0x0,RW Base指 向256K片内RAM区首地址0x5C000000。
ARM ADS集成开发环境
ARMADS 集成开发环境
ARM开发工具简介
ARM应用软件的开发工具根据功能的不 同,分别有编译软件、汇编软件、链接 软件、调试软件、嵌入式实时操作系统、 函数库、评估板、JTAG仿真器、在线仿 真器等,目前世界上约有四十多家公司 提供以上不同类别的产品。
ARMADS 集成开发环境