第三讲 嵌入式系统调试方法1.ppt
上传人:sy****28 上传时间:2024-09-15 格式:PPT 页数:31 大小:357KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第三讲 嵌入式系统调试方法1.ppt

第三讲嵌入式系统调试方法1.ppt

预览

免费试读已结束,剩余 21 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

陈慈发2008年春夏3.1基于主机的调试3.2远程调试3.3ROM仿真器3.4在线仿真ICE3.5BDM3.6JTAG3.7软件仿真器调试是嵌入式系统开发过程中必不可少的重要环节,通常计算机应用系统与嵌入式系统的调试环境存在明显差异:◎通用计算机一般采用桌面操作系统,调试器与被调试的程序常常位于同一台计算机上,OS也相同,调试器进程通过OS提供的调用接口(API)来控制被调试的进程;◎嵌入式应用程序通常采用嵌入式操作系统,运行在嵌入式系统上,开发主机常采用通用计算机,开发机和目标机处于不同的机器中,程序在开发主机上开发(编辑、交叉编译、连接定位等),然后下装到目标机(嵌入式系统)进行运行和调试(远程调试)。由于这种差异,导出如下问题:·不同OS之上的调试器与被调试程序之间如何通信;·被调试程序出现异常如何告知调试器;·调试器如何控制及访问被调试程序等。目前采用两种调试方法解决上述问题:monitor方式和片上调试方式。(1)monitor方式monitor方式是在目标OS与调试器内分别内置专用功能模块,用于相互通信从而实现调试功能。两者应通过指定的通信端口并依据相同的远程调试协议来实现通信。目标OS的所有异常处理最终都必须转向通信模块,通知调试器此时的异常号,调试器再依据该异常号向用户显示被调试程序发生了哪一类型的异常现象。调试器控制及访问被调试程序的请求都将被转换为对调试程序的地址空间或目标平台的某些寄存器的访问,目标OS接收到此类请求时可直接进行处理。采用monitor方式,目标OS必须提供支持远程调试协议的通信模块和多任务调试接口,此外还需改写异常处理的有关部分。目标OS需要定义一个设置断点的函数。(2)片上调试方式片上调试方式是在CPU内部嵌入额外的硬件控制模块,当满足了特定的触发条件时进入某种特殊状态。在该状态下,被调试程序停止运行,主机的调试器可以通过CPU外部特设的通信接口来访问系统资源并执行指令。主机通信端口与目标板调试通信接口通过一块简单的信号转换电路板连接。内嵌的控制模块以监控器或纯硬件资源的形式存在,包括一些提供给用户的接口,如JTAG方式和BDM方式。3.1基于主机的调试基于主机的调试方法的例子如基于uC/OS-II操作系统的应用开发。基于uC/OS-II的应用开发可以通过计算机进行,该OS提供了可移植的数据类型定义,兼顾了大小端问题,开发完成后,只需要修改少量的移植代码,就可以把应用移植到目标系统中。基于主机的调试方法的另一个例子是ATI公司的MNT,NucleusPlus是ATI公司的一个商用嵌入式实时多任务操作系统,支持众多的处理器。MNT是一个仿真开发平台,利用MNT,用户可以在基于Windows操作系统的计算机上,开发和调试基于NucleusPlus的应用程序,等目标硬件调试完成后,直接移植到目标机上运行,实现嵌入式软件和硬件的并行开发。3.2远程调试器与调试内核主机桌面操作系统调试器一般具有以下功能:设置断点;从主机中加载程序;显示或修改内存与处理器的寄存器;从某地址开始运行;单步执行;多任务调试;资源查看(包括多任务信箱、信号量、队列、任务状态等);远程调试内核功能与调试器前端的用户界面紧密配合。调试代理需要两种目标系统资源:一是中断向量,二是软件中断。调试代理以中断服务程序ISR的方式提供,中断源一般设置成高优先级中断,有时与NMI的中断优先级一样高,通常来自于串口/并口/以太网等设备,由主机控制中断发生与否,以保证调试器访问中断总能被处理到,否则如果某个应用程序关闭了所有中断,那么调试器就再也不能恢复对系统的控制了。当主机发送命令给目标机,目标机就会立即停止应用软件代码的执行并进入调试代理ISR,保存当前CPU的上下文,然后调试器就控制了目标系统。3.3ROM仿真器ROM仿真器的用途是为程序开发过程(编辑、编译、下载、调试)节省时间,不用频繁为EPROM进行插拔、擦除、烧写、校验等重复性耗时操作。使用ROM仿真器,可将生成程序用ROM仿真器下载到目标系统,运行它,并根据运行结果对主机程序进行修改,再下载,再运行,以至循环。3.3.2ROM仿真器的组成ROM仿真器包括以下元件:用于匹配目标系统ROM芯片接口的电缆和插座;用于代替目标系统中ROM的快速RAM;本地控制处理器;连接到主机的通信端口;附加特性,如跟踪存储器、闪存编程算法等。3.3.3ROM仿真器的功能(1)缩短调试周期。烧写一个大的EPROM芯片有时长达几个小时。(2)灵活设置断点。EPROM中的程序往往是“干净”的程序,不含调试信息,ROM仿真器实际上是RAM,可以在其中嵌入调试信息,从而轻松设置断点。(3)仿真多种