论文部分内容阅读
为了建立能够让军队、政府、国有企业和科研机构用的放心的信息系统,保障国家信息网络的安全,2001年,中科院计算所成立了一支专门开发设计我国自主CPU的课题小组,取名“龙芯”。配合开源的Linux系统,龙芯计算机将大大减小国家信息网络的风险。在新系统的开发过程中,调试是一个非常重要的环节,一个优秀的调试器可以大大加快研发的进程。然而,现有的大多数调试器都是针对应用程序,对系统内核的调试无能为力,而少数的内核调试系统却也不是为国产的龙芯平台而打造。本项目研究了如何使用EJTAG接口,来对龙芯3A处理器平台下的Linux内核进行源码级调试。本文先介绍了国内外内核调试的研究现状,比较了EJTAG调试和其他内核调试方案的优缺点。随后,文章对EJTAG调试所使用的核心知识技术一一进行说明,并介绍了EJTAG调试系统的结构。接下来,文章介绍的指令级调试讲述了如何从并口操作起一步步实现发送CPU指令,进而达到读写内存、寄存器的目的。文章随后介绍的源码级调试则解析内核符号表,使调试系统能够直接对Linux源码进行调试,从而达到打印变量,设置断点等目的。