过去十多年时间里,微处理器和微控制器生产商都提供了独立于CPU工作的内建监视功能。现在,许多处理器芯片都做为标准特性提供背景调试(background-debug)功能。德州仪器(TI)、Freescale和First Silicon SoluTIons(FSS)等公司为设计人员进一步扩展了背景调试技术。
TI公司设计的一种嵌入式仿真器可使PC主机通过标准JTAG连接访问微控制器内部。在TI的MSP430低功耗微控制器中,嵌入在硬件中的仿真器内核负责分析数据、地址和时钟信号(与此相对比,简单的片上调试 *** 作仅支持存储器读写和单步程序执行,以及监视基本的处理器 *** 作)。
TI公司MSP430产品线营销总监Mark Buccini说:“嵌入的仿真器逻辑可在系统全速实时工作时对处理器进行监视。仿真器逻辑可以设置断点、跟踪 *** 作以及控制时钟。”因为开发人员在目标系统中进行调试,与实际应用中的条件完全一样,因此片上仿真逻辑解决了如“在仿真器中工作得挺好,但在实际目标中却不工作!”的一些问题。
用户只需要从PC主机连接一条JTAG电缆到目标MSP430系统。目标设计不需要特殊电路,只需要提供一个连接到MSP430处理器的JTAG连接器就可以了。Buccini说:“客户可根据条件或根据变量进行触发,从而在高层次进行调试。客户不需要逐位考察JTAG端口输出的0和1数字。”TI提供实现闪存编程和调试控制 *** 作的C语言功能。一些第三方供应商也在软件中实现对MSP430的支持。根据请求,TI还可为希望直接与MSP430通信的编程人员提供一个动态链接库(DLL),从而可完成特殊测试或编程目的。
通过JTAG端口将MSP430仿真器功能连接到主机的接口装置成本约为11美元或更高。TI提供MSP430的程序开发软件包括免费的GCC编译器、免费但有限制的IAR编译器以及商业软件供应商销售的工具。开发人员应当充分利用低功耗MSP430芯片所内建的仿真器逻辑所提供的优点。
图 1 片上调试逻辑需要一个接口来支持特定处理器系统所需要的信号或通用JTAG信号
Freescale公司在HCS08和HCS12处理器系列中增加了一个称为DBG的模块,从而增强了这些处理器的调试能力。在处理器IC中的逻辑模块对于HCS08系列称为DBG08,对于HCS12系列称为DBG12。HCS12系列(C和E版本的芯片)提供了一些HCS08芯片所没有的功能。支持DBG的处理器和主计算机之间的连接要用一个4线接口:电源、地、复位和双向调试连接。
Freescale公司8位和16位应用及系统经理Jim Sibigtroth说:“DBG逻辑为编程人员提供了原来只有外部电路内仿真器(ICE)才支持的一些功能。DBG逻辑包括一个存储地址、数据和总线状态信息的总线捕捉缓冲器。它允许用户设置复杂的和/或顺序触发条件。”
由于DBG电路提供少量缓冲存储器,对于HCS08为8个字,对于HCS12为64个字,因此大多数情况下,缓冲器捕捉的仅仅是程序流的变化。这些以地址形式存储的变化发生在CPU接收到中断、分支或变址跳转时。运行在主PC上的调试软件,在获得被保存下来的地址后可以重建程序流程。原则上,调试器是这样判断的,“如果程序从这里运行到了那里,那么它一定要执行这些指令。”
缓冲器还可捕捉数据,例如写入到一个串行寄存器的所有数据。DBG逻辑还包括两个16位比较器,可根据地址、数据和其它信息以9种不同模式触发缓冲存储器。Freescale和TI公司的器件所提供的增强片上调试能力可满足许多开发人员的需要。但对于片上系统(SOC)设计来说,可能需要以不同的方式来实现调试工具。当SOC设计中包括内核处理器和外设时,外部引脚就不再能够反映出器件中出现的所有情况。同时,与特定处理器内核相关的任何调试逻辑也无法了解关于SOC中集成外设或其它处理器的信息。
为帮助简化SOC设计的调试和测试,FSS公司提供了三种嵌入式工具组成的工具包,一个调试模块、一个总线分析仪和一个逻辑分析仪;该公司将所有这些工具都称为片上测试仪器。该公司总裁兼首席执行官Rick Leatherman说:“将这三个组件集成到设计中,你就拥有了一个适用于任何SOC的调试环境。”该公司以Verilog或VHDL代码为其工具发给许可证,同时还提供专门针对Actel 8051处理器以及Altera Nios内核的工具。Leatherman补充说:“例如,如果你获得MIPS32 4KE内核的使用许可,在设计中就可使用我们的跟踪控制模块。”这一跟踪控制模块驻留在更大调试模块内,负责收集实时跟踪信息,进行压缩并写入到芯片内部或该公司JTAG控制器设备的跟踪缓冲器中。
QuickLogic公司的QuickMIPS处理器(一款MIPS 4KC内核)就包括了一个FSS公司的调试模块和可配置逻辑分析仪。进行设计调试时,程序员可以同时运行两种功能,并在两者之间实现交叉触发。片上控制通过SOC上的JTAG端口完成。
Leatherman称需要尽早与设计小组会面,决定他们在SOC中需要实现哪些功能。这种会面还可使他更好地了解设计小组希望片上仪器在硬件和软件开发过程中起到哪些作用。他说:“片上仪器确实使设计工程师的工作更复杂了一点,因为片上仪器需要逻辑门和一些外部引脚。但当设计人员拿到第一块设计完的芯片并且了解到片上仪器的作用时,他们会邀请我们回来。”
当系统需要能够跟踪大量总线状态和内部 *** 作相关的数据时,SOC必须提供较多的并行信号。特殊的FSS探头连接SOC(或电路板)到PC主机,用来传输这些信息,探头还控制JTAG信号。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)