论文部分内容阅读
随着我国集成电路技术的不断发展,越来越多由我国自主研发的国产SoC芯片出现在市场当中。本课题的研究对象SoC CPU Core就是由我国研发的一款兼容MIPS32的处理器核,其主要面向的是数字电视、机顶盒设备、网络设备、存储设备及消费类电子产品市场。该SoC CPU的研制成功标志着我国在微处理器的设计方面实现了重大突破,并且打破了我国长期依赖于外国处理器的现状。但是对于该SoC CPU而言,国内选择使用该款CPU的厂商并不多。而一款CPU要想大规模地推广开来,CPU厂商对其开发工具的支持要足够强大,CPU厂商必须提供稳定地开发工具链。而这其中调试器的作用尤其重要,因为在嵌入式SoC芯片的设计开发过程中,采用一种高效而稳定的调试方案有助于降低芯片的开发难度,能够帮助开发人员快速定位问题所在,从而大大缩短芯片的开发周期。然而国内对SoC CPU的片上调试技术的研究还处于起步阶段,因此本课题的研究意义极大。本论文首先描述了嵌入式开发中的远程调试的概念,随后又详细介绍了当前嵌入式领域中所采用的各种调试方案:软件仿真调试方案、软件插桩调试方案、ICE调试方案以及片上调试方案。本论文主要研究的是针对该SoC CPU的片上调试方案的实现。因此,深入研究了该SoC CPU的架构特点,SoC CPU对调试异常的处理,调试模式下的内存映射等内容。本文中的SoC CPU采用的是EJTAG来支持其片上调试,片上调试方案实现的基础就是EJTAG接口,所以本论文对EJTAG的工作原理进行了详细的描述。在调试软件的选择上,使用GDB来作为调试主机端的调试器,进行源码级的调试工作。并在研究了GDB远程调试协议RSP的基础上,实现了一个调试代理,即gdb server,实现了GDB调试器对SoC处理器EJTAG接口的支持,从而实现了一个低成本、支持源码级调试的片上调试方案。