论文部分内容阅读
在嵌入式系统开发过程中,系统软硬件调试是嵌入式系统开发的重要环节,一个高效强大的片上调试系统不仅能够缩短系统的开发周期,而且可以增强产品的竞争力。在嵌入式系统中,调试技术的难点在于如何去利用可控的调试手段来完成对处理器内部的测试以及软件运行状态的监控。目前,在嵌入式系统中最有效的调试方式是基于 JTAG 协议标准(IEEE Standard 1149.1-TEST Access Port and Boundary-Scan Architecture)的片上调试技术,就是在处理器芯片内设计符合JTAG协议标准的内嵌调试结构和模块,实现对目标处理器的调试控制,包括调试中断,设置硬件断点,单步调试等操作,方便用户对嵌入式系统的片上开发与调试。本文结合了一款32位的MIPS处理器,实现了一种基于JTAG的调试功能模块的结构设计,即在处理器中添加了一个供调试使用的调试接口。调试接口的结构主要包括调试控制寄存器堆和调试扫描链两个部分。在调试控制信号的控制下,调试控制寄存器可以存储MIPS处理器中当前执行指令的PC值、指令的运行结果以及处理器的运行状态等相关调试信息。在TAP控制器的控制下,调试扫描链是处理器与外部功能模块进行交互的唯一工具。通过调试扫描链实现对调试控制寄存器的读写,来完成调试控制寄存器中调试信息的输出以及对处理器的运行进行控制。本课题还实现了 JTAG模块的设计,通过JTAG模块中的TAP控制器可以实现对调试接口的控制,进而实现对处理器的调试控制,最终实现了基于JTAG的MIPS处理器调试器的设计。除此之外,为实现相关调试控制,本文结合了 MIPS处理器的异常处理流程,完成了这款32位MIPS处理器的调试异常设计。在实现了各个功能模块后,根据处理器的调试要求,本课题设计实现了3个调试功能分别为调试中断、断点调试和单步调试,并通过仿真验证了这3个调试功能,完成了课题设计目标。