。在宿主机上编译好程序后,下载到目标机上运行,
交叉开发环境提供调试工具对目标机上运行的程序进行调试。
交叉开发环境一般由运行于宿主机上的交叉开发软件和宿主机到目标机的调试通
道两部分组成。运行于宿主机上的交叉开发软件必须包括编译调试模块,其编译器为
交叉编译器。宿主机一般为基于 x86体系的台式计算机,而编译后的代码必须在 ARM
体系结构的目标机上运行,这就是交叉编译过程。在宿主机上编译好目标代码后,代
码通过宿主机到目标机的调试通道下载到目标机,然后由运行于宿主机的调试软件控
制代码在目标机上进行调试。
在便于调试开发的基础上,交叉开发软件一般为一个整合编辑、编译汇编链接、
调试、工程管理及函数库等功能模块的集成开发环境 IDE(Integrated Development
Environment)。
组成 ARM 交叉开发环境的宿主机到目标机的调试通道一般有 3 种,如下:
1) 基于 JTAG 的ICD
JTAG 的ICD也称为JTAG的仿真器,是通过 ARM芯片 JTAG边界的各个扫描口进行
设备的调试。 JTAG的ICD借助处理器的专用 JTAG调试接口和目标设备进行通信。 JTAG
仿真器价格便宜,连接方便。通过已有的 JTAG 边界扫描口与 ARM 的 CPU 通信的话是
非插入式的调试,也即不使用片上的资源。它无需目标存储器,也不占用目标系统的
任何应用端口。目前来讲,ARM在研发中较多采用的方式就是 JTAG仿真器调试。
2) Angel 调试监控软件
Angel 调试监控软件,也称为驻留监控软件,是一组运行在目标板上的程序。它
可以接收宿主机上调试器发送的命令,执行操作,如:设置断点、单步执行目标程序、
读/写存储器、查看或修改寄存器等。宿主机上的调试软件一般通过以太网口、并行
端口、串行端口等通信端口与 Angel 调试监控软件进行通信。Angel 调试监控程序
与基于 JTAG 的调试的不同在于,它需要占用一定的系统资源,如内存、通信端口等。
驻留监控软件是一种比较低廉而有效的调试软件,不需要任何其他硬件调试和仿真设
备。Angel 调试监控程序的不便之处是它对硬件设备的要求比较高,一般要在硬件稳
定之后才能进行应用软件的开发;同时在一些要求严格的情况下,它占用目标板并不
是很适合。
3) 在线仿真器 ICE
在线仿真器 ICE(In Circuit Emulator)是一种模拟 CPU 的设备。它所使用的
仿真头完全取代目标板上的 CPU,可以完全仿真 ARM 芯片的行为,并提供更加深入
的调试功能。在与宿主机连接的接口上,在线仿真器也是通过串行或并行端口、网口、
USB 口通信。在线仿真器为了能够全速仿真 ARM 处理器,必须采用极为复杂的设计和
工艺,因此其价格比较昂贵。在线仿真器通常用于 ARM 的硬件开发;而昂贵的价格,
也是在线仿真器难以普及的原因。
3.2 模拟开发环境
为了保证项目进度,硬件和软件开发往往同时进行。然而作为目标机的硬件环境
在此时还未建立,软件的开发就需要一个模拟环境来进行调试。模拟的开发环境是在
交叉开发环境的基础上建立,属于对交叉开发环境的扩充。这里还要求提供在宿主设
备上的目标机模拟环境,以便写好的程序直接运行调试于这个环境。模拟硬件环境非
常复杂,由于指令集模拟器与真实的硬件环境有很大差异,即使是通过了指令集模拟
器调试的程序,也有可能无法在真实的硬件环境下运行。因此,软件模拟不可能完全
- 上一篇:voicebox基特定人的孤立词汇语音识别系统研究
- 下一篇:用于中红外波段的光栅耦合器研究+文献综述
-
-
-
-
-
-
-
g-C3N4光催化剂的制备和光催化性能研究
现代简约美式风格在室内家装中的运用
C++最短路径算法研究和程序设计
江苏省某高中学生体质现状的调查研究
巴金《激流三部曲》高觉新的悲剧命运
高警觉工作人群的元情绪...
NFC协议物理层的软件实现+文献综述
浅析中国古代宗法制度
上市公司股权结构对经营绩效的影响研究
中国传统元素在游戏角色...