|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式软件开发环境 > 编辑器、交叉工具链(编译器、链接器、调试器)、模拟器 > 调试及调试工具 >
|
考试要求:掌握
相关知识点:6个
|
|
|
|
片上调试(On Chip Debugging,OCD)是CPU芯片提供的一种调试功能,可以把它看成是一种廉价的ICE功能。OCD的价格只有ICE的20%,但却提供了80%的ICE功能。
|
|
|
最初的OCD是一种仿调试监控器方式,即将监控器的功能以微码的形式来体现,如Motorola的CPU 32系列处理器。后来的OCD摒弃了这种结构,采用了两级模式的思路,即将CPU的工作模式分为正常模式和调试模式。
|
|
|
当满足了特定的触发条件时,CPU就可进入调试模式。在调试模式下,CPU不再从内存读取指令,而是从调试端口读取指令,通过调试端口可以控制CPU进入和退出调试模式。这样在宿主机端的调试器就可以直接向目标机发送要执行的指令,通过这种形式调试器可以读/写目标机的内存和各种寄存器,控制目标程序的运行以及完成各种复杂的调试功能。
|
|
|
OCD方式的主要优点是:不占用目标机上的通信端口等资源;调试环境和最终的程序运行环境基本一致;支持软硬件断点;提供跟踪功能,可以精确计量程序的执行时间;支持时序分析等功能。
|
|
|
OCD方式的主要缺点是:调试的实时性不如ICE强;不支持非干扰的调试查询;使用范围受限,目标机上的CPU必须具有OCD功能。
|
|
|
目前比较常用的OCD的实现有:后台调试模式(Background Debugging Mode,BDM)、连接测试存取组(Joint Test Access Group,JTAG)和片上仿真器(On Chip Emulation,OnCE)等,其中JTAG是主流的OCD方式,OnCE是BDM和JTAG的一种融合方式。
|
|
|