基于JTAG的调试过程
发布时间:2008/12/23 0:00:00 访问次数:428
在调试目标系统时,首先要通过一定的方式使目标系统进入调试状态,在调试状态下就可以完成各种调试功能,例如,查看处理器状态,查看和修改存储器内容等。armttdmi可以通过下面的方式进入调试状态。
·通过设置程序断点(breakpoint)。
·通过设置数据断点(watchpoint)。
·相应外部请求进入调试状态。
在目标程序中特定的位置设置断点后,当该位置处的指令进入指令流水线时,armttdmi内核将该指令表示为断点指令。当程序执行到断点指令时,处理器进入调试状态,此时断点指令还没有被执行,这时,用户就可以执行需要的调试功能。例如,查看处理器状态,查看和修改存储器内容等。
当断点设置在条件指令上时,不管该指令执行的条件是否得到了满足,当该指令到达执行周期时,处理器都会进入调试状态。
在某条指令上设置了断点后,如果在该指令到达执行周期之前,程序发生了跳转,或者发生了异常中断,断点指令就可能得不到执行。在这种情况下,处理器将会刷新指令流水线,从而使得处理器不会在该断点指令处进入调试状态。
当用户设置了数据断点时,目标系统中调试部件将会监视数据总线。如果用户设置的条件得到了满足,处理器将会在执行完当前指令后进入调试状态。如果当前指令是ldm或stm,处理器将会在完成所有指令操作后进入调试状态。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
在调试目标系统时,首先要通过一定的方式使目标系统进入调试状态,在调试状态下就可以完成各种调试功能,例如,查看处理器状态,查看和修改存储器内容等。armttdmi可以通过下面的方式进入调试状态。
·通过设置程序断点(breakpoint)。
·通过设置数据断点(watchpoint)。
·相应外部请求进入调试状态。
在目标程序中特定的位置设置断点后,当该位置处的指令进入指令流水线时,armttdmi内核将该指令表示为断点指令。当程序执行到断点指令时,处理器进入调试状态,此时断点指令还没有被执行,这时,用户就可以执行需要的调试功能。例如,查看处理器状态,查看和修改存储器内容等。
当断点设置在条件指令上时,不管该指令执行的条件是否得到了满足,当该指令到达执行周期时,处理器都会进入调试状态。
在某条指令上设置了断点后,如果在该指令到达执行周期之前,程序发生了跳转,或者发生了异常中断,断点指令就可能得不到执行。在这种情况下,处理器将会刷新指令流水线,从而使得处理器不会在该断点指令处进入调试状态。
当用户设置了数据断点时,目标系统中调试部件将会监视数据总线。如果用户设置的条件得到了满足,处理器将会在执行完当前指令后进入调试状态。如果当前指令是ldm或stm,处理器将会在完成所有指令操作后进入调试状态。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)