|
知识路径: > 计算机软件与网络基础知识 > 嵌入式系统 > 嵌入式系统软件开发环境 > 调试方法 >
|
相关知识点:5个
|
|
|
|
调试监控法也叫插桩法。目标机和宿主机一般通过串口、并口或以太网相连接,采用这种方法还需要在宿主机的调试器内和目标机的操作系统上分别启动一个功能模块,然后通过这两个功能模块的相互通信来实现对应用程序的调试。在目标机上添加的模块叫做桩(调试服务器、调试监控器),主要有两个作用:一是监视和控制被调试的程序;二是与宿主机上的调试程序通信,接受控制指令,返回结果等。
|
|
|
在进行调试的时候,宿主机上的调试器通过连接线路向调试监控器发送各种请求,实现目标机内存读/写和寄存器访问、程序下载、单步跟踪和设置断点等操作。来自宿主机的请求和目标机的响应都按照预定的通信协议进行交互。
|
|
|
使用插桩法作为调试手段时,开发应用程序的基本步骤如下:
|
|
|
|
|
|
|
|
(6)在宿主机上修改源代码,纠正错误,重复上述步骤直到正确为止。
|
|
|
|
相对于直接测试法,插桩法明显地提高了开发效率,降低了调试的难度,缩短了产品的开发周期,有效降低了开发成本。但是插桩法仍有明显的缺点,主要体现在以下几个方面:
|
|
|
|
(2)调试监控器在目标机要占用一定的系统资源,如CPU时间、存储空间以及串口或网络接口等外设资源。
|
|
|
(3)调试时,不能响应外部中断,对有时间特性的程序不适合。
|
|
|
(4)在调试过程中,被调试的程序实际上在调试监控器所提供的环境中运行,这个环境可能会与实际目标程序最终的运行环境有一定的差异,这种差异有可能导致调试通过的程序最后仍不能运行。
|
|
|
为了克服插桩法的缺点,出现了一种改良的方法,即ROM仿真器法。
|
|
|
ROM仿真器可以认为是一种用于替代目标机上ROM芯片的硬件设备,ROM仿真器一端跟宿主机相连,另一端通过ROM芯片的引脚插座和目标机相连。对于嵌入式处理器来说,ROM仿真器像是一个只读存储器,而对于宿主机来说,像一个调试监控器。ROM仿真器的地址可以实时映射到目标机的ROM地址空间里,所以它可以仿真目标机的ROM。ROM仿真器在目标机和宿主机之间建立了一条高速信息通道,其典型的应用就是跟插桩法相结合,形成一种功能更强的调试方法。该方法具有如下优点:
|
|
|
|
(2)由于是通过ROM仿真器上的串行口、并行口或网络接口与宿主机连接,所以不必占用目标机上的系统资源。
|
|
|
(3)ROM仿真器代替了目标机上原来的ROM,所以不必占用目标机上的存储空间来保存调试监控器。
|
|
|
(4)另外,即使目标机本身没有ROM,调试依然可以进行,并且不需要使用专门工具向ROM写入程序和数据了。
|
|
|