第十六章 嵌入式开发调试

来源:互联网 发布:京东词条优化 编辑:程序博客网 时间:2024/06/08 02:59
1 嵌入式开发调试概述
  调试工作需要配合其他的模块或者产品方可完成。
  嵌入式开发调试一共包括以下四种:模拟调试方式,ROM Monitor方式,内嵌JTAG仿真,在线仿真(ICE)。

2 嵌入式系统开发过程
  任务分析,处理器选择,操作系统选择,硬件设计,驱动及BSP设计,操作系统移植,应用程序设计,代码固化。
  简单来说就是:PC软件开发,移植测试,产品发布。

3 嵌入式集成开发环境包括:嵌入式软件,嵌入式硬件和嵌入式集成开发工具。
  嵌入式集成开发环境一般包括编辑器,编译器,连接器,调试器,工程管理器和底层调试接口设备(JTAG)。

4 交叉编译能力:在某一个平台下,能够生成在其他平台上能够运行的代码。

5 嵌入式系统开发调试
  嵌入式系统开发的调试:与桌面系统不同,需要远程调试,专门的调试接口。
  远程调试器:提供灵活方便的调试界面,远程调试器运行于通用桌面操作系统。
  由于嵌入式系统的可用资源有限,嵌入式开发和调试工作通常要通过高性能的宿主机完成
  嵌入式应用软件通过宿主机上的交叉编译器,完成交叉编译和连接后下载到目标机。
  其中宿主机是进行嵌入式软件开发的主机,而目标机是将要开发的目标板。

6 调试的硬件支持
  来自处理器的支持
  支持单步执行(single-steping)
  支持设置标志位(flag)
  提供特殊指令组,通过指令来支持调试器的设计
  提供对重新编译和增加或去除中断点的支持
  提供硬件中断设置的支持
  提供对JTAG的支持

7 调试器原理
  远程调试(Remote Debug):调试器运行于通用桌面操作系统的应用程序。被调试的程序则运行于嵌入式系统(目标系统)。通过Embedded ICE Interface Box。
  三种远程调试方案:
   插桩(stub)在目标操作系统和调试器内分别加入某些功能模块,两者互通信息来进行调试。
   片上调试(On Chip Debugging)在处理器内部嵌入额外的控制模块,内嵌的控制模块。
   代理:而传统的调试方法即使调试器支持批处理命令避免了用户输入命令,观察结果带来的延迟,它与目标系统之间的通信也可能错过对目标平台外设信号的响应。   
    针对某些调式器提供的监视点(trace point)这一特殊调试手段,目标方的插桩在原有的基础上被改进。
 

8 模拟开发调试方式
  通过基于宿主机的软件,在主机上模拟目标机中处理器的功能和指令。如ARM公司的ARMulator模拟器。
  它方便调试系统内核,以及开发初期的可行性调研。
  中断系统是模拟器的核心,任务的调度本质上都是通过中断完成的(非抢占式系统例外)。

9 Rom monitor调试方式
  Rom monitor是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。它运行在目标机的Flash或ROM的一段程序,它负责监控目标机上被调试程序的运行情况,通过和宿主机的配合,完成嵌入式系统的调试。它本质上还是一种软件调试方式。缺点:对硬件设备的要求比较高,必须确保目标板硬件完好,在硬件稳定之后才能进行应用软件的开发,不能对程序的全速运行进行完全仿真。
  ARM的Real-time Trace和RealMonitor。

10 ARM实时监控
  ARM9E和ARM10中的改进
  触发中断后,进入一段非常小的中断监控程序中,得到所需要的信息后迅速把控制权转让给先前的任务,在监控程序内处理器完全可以再接收外界的中断和其他触发事件,而不是停止运行。而ROM Monitor是触发中断后时入调试模式状态而停止内核运行。

11 JTAG
  JTAG:Joint Test Action Group联合测试行动小组
  ARM处理器内含Embedded ICE 宏单元,并留有JTAG调试接口,支持在线仿真。
  标准的JTAG接口是4线:TMS,TCK,TDI,TDO,分别为模式选择,时钟,数据输入和数据输出线。
  现在常用于实现ISP(In-System rogrammable:在线编程)
  他的基本原理是边界扫描(Boundary Scan),它属于完全非插入式(即不使用片上资源)调试。
  JTAG调试的过程:调试主机发出调试命令,经过协议转换器进行命令解释,主机上运行的调试软件通过JTAG接口直接和ARM7TDMI内核对话。


12 ICE在线仿真调试方式
  In-Circuit Emulator(实时在线仿真)它价格比较昂贵,通常用在ARM硬件开发中,软件开发较少用到。
  它支持单步执行,断点,反汇编,原程序级调试。它能够提供更加仿真的调试功能。
  Multi-ICE在线仿真器是ARM公司自己的JTAG在线仿真器。

原创粉丝点击