(2)远程调试
远程调试是一种允许调试器以某种方式控制目标机上被调试进程的运行方式,并具有查看和修改目标机上内存单元、寄存器及被调试进程中变量值等各种调试功能的调试方式。
在嵌入式系统中,调试器运行在宿主机的通用操作系统之上,被调试的进程运行在目标机的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。
嵌入式系统的交叉调试可分为硬件调试和软件调试两种。硬件调试需要使用仿真调试器协助调试过程,硬件调试器是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。而软件调试则使用软件调试器完成调试过程。
在目标机上,嵌入式操作系统、应用程序代码构成可执行映像。可以在宿主机上生成完整映像,再移植到目标机上;也可以把应用程序做成可加载模块,在目标机操作系统启动后,从宿主机向目标机加载应用程序模块。
2.3.2 目标监控器
嵌入式系统开发环境中,目标监控器对嵌入式软件的开发和调试有至关重要的意义。
嵌入式系统的调试,与一般台式机上编程调试显著不同。嵌入式调试工具是用于嵌入式系统开发中代码定制和调试的工具,分为驻留主机部分和驻留目标机部分。驻留主机部分称为调试器,驻留目标机部分称为目标监控器。目标监控器是解决嵌入式软件开发工具与这些支撑硬件的连接和通信的一个重要支持部件,是嵌入式应用开发、调试环境的核心部件,是许多功能模块实现的基础。
按照具体的实现方式的不同,可以将目标监控器分为软件监控器、硬件监控器、软件仿真器和软件模拟监控器。
(1)软件监控器
软件监控器是驻留在目标机上通过软件手段实现的调试代理。实际上,主机端的调试命令不是直接交由目标机硬件执行的,而是首先发送给软件监控器,再由软件监控器转交给目标机执行,然后将所监控的程序运行到断点处的相关信息反馈给主机端的调试器。按照对目标机硬件和软件的控制能力,软件监控器分为引导型监控器和应用型监控器。
1)引导型监控器
引导型监控器是一种具有启动系统、加载和调试包括内核在内的程序等功能的软件监控器,它实际上是一个具有监控功能的微型操作系统。
……
展开