【技术实现步骤摘要】
一种微程序的调试方法及其调试装置
[0001]本专利技术涉及计算机领域,尤其涉及一种微程序的调试方法及其调试装置。
技术介绍
[0002]常规的嵌入式程序开发与调试,芯片硬件一般会提供JTAG(Joint Test Action Group,联合测试工作组,一种国际标准测试协议,主要用于芯片内部测试)接口或其他接口,配合IDE(Integrated Development Environment,集成开发环境,用于提供程序开发环境的应用程序),便于程序下载到芯片执行时,通过IDE实时控制和仿真程序运行。或者通过串口,在程序中嵌入串口打印信息,以跟踪和反应程序运行情况。
[0003]大型复杂芯片外部硬件接口上有JTAG或串口,但一般设计是作为整体芯片生产测试使用。微程序是大型复杂芯片的某些子模块的管理代码,这些子模块处于复杂芯片的内部深处,作为复杂芯片的某些部分,没有独立的外接调试接口。因此子模块的微程序,没有办法将开发调试过程中的运行情况信息,通过这种接口反应到外部显示器上,即无法采用这种常规的调试机制。同时,JTAG或串口作为复杂芯片的公共接口,可以控制到相应的子模块。但即便开发出针对某个子模块的微程序调试手段,由于复杂芯片存在若干子模块的微程序调试需求,会涉及到共享该调试接口的情况。在共享调试接口时,会产生资源强占的问题,对各子模块的微程序开发并不方便友好。
技术实现思路
[0004]本专利技术提供了一种微程序的调试方法及其调试装置,以便于对处理器待调试子模块中的微程序的运行情况进行读取。 ...
【技术保护点】
【技术特征摘要】
1.一种微程序的调试方法,其特征在于,包括:确定存储模块中处于闲置状态的存储空间;初始化所述处于闲置状态的存储空间;在待调试微程序中确定程序检测点;在所述待调试微程序的程序检测点处植入检测程序;依据植入所述检测程序后的待调试微程序,运行处理器的待调试子模块,将程序检测点信息存储到所述存储空间内;读取所述存储空间内的程序检测点信息。2.如权利要求1所述的调试方法,其特征在于,还包括:依据所读取的程序检测点信息,获取所述程序检测点的运行情况信息;根据所获取的运行情况信息,对所述待调试微程序及所述待调试子模块进行分析。3.如权利要求2所述的调试方法,其特征在于,所述处理器为中央处理器或图形处理器。4.如权利要求3所述的调试方法,其特征在于,所述存储模块为所述中央处理器能够访问的寄存器。5.如权利要求4所述的调试方法,其特征在于,每个程序检测点为事件检测点或程序位置检测点。6.如权利要求5所述的调试方法,其特征在于,所述在待调试微程序中确定程序检测点包括:在所述待调试微程序中确定N个程序检测点;所述获取程序检测点的运行情况信息包括:获取所述N个程序检测点中的每个程序检测点是否发生或被运行的信息;所述将程序检测点信息存储到所述存储空间内包括:将所述N个程序检测点是否发生或被运行的信息与所述寄存器中的N个比特位建立映射关系;将所获取的所述N个程序检测点中的每个程序检测点是否发生或被运行的信息存储在所述寄存器中对应的比特位中。7.如权利要求6所述的调试方法,其特征在于,所述程序检测点的个数N不大于所述待调试子模块中所有处于闲置状态的寄存器的总比特位数。8.如权利要求6所述的调试方法,其特征在于,所述将所获取的每个程序检测点是否发生或被运行的信息存储在所述寄存器中对应的比特位中包括:将所述寄存器中的N个比特位初始化为“0”;判断每个程序检测点是否发生或被运行的信息为未发生或未被运行,则保持该程序检测点对应的比特位继续为“0”;判断每个程序检测点是否发生或被运行的信息为已发生或已被运行,则在所述寄存器内该程序检测点对应的比特位写入“1”。9.如权利要求8所述的调试方法,其特征在于,所述读取所述存储空间内的程序检测点信息包括:读取所述寄存器内的N个比特位的数据;所述根据所获取的运行情况信息,对所述待调试微程序及所述待调试子模块进行分析包括:
根据所述N个比特位的数据,分析应该执行的待调试微程序是否被执行,不应该被执行的待调试微程序是否被执行;根据分析结果,判断待调试微程序执行情况是否符合微程序设计思想,修改所述待调试微程序。10.如权利要求5所述的调试方法,其特征在于,所述在待调试微程序中确定程序检测点包括:在所述待调试微程序中确定M个程序检测点;所述获取程序检测点的运行情况信息包括:获取所述M个程序检测点中的每个程序检测点发生或被运行的频次信息;所述将程序检测点信息存储到所述存储空间内包括:将所述寄存器中的H个比特位划分为M个比特位段,每个比特位段包含至少两个相邻的比特位;将所述M个程序检测点发生或被运行的频次信息与所述M个比特位段建立映射关系;将所获取的M个程序检测点中的每个程序检测点发生或被运行的频次信息存储在所述寄存器中对应的比特位段中。11.如权利要求10所述的调试方法,其特征在于,所述程序检测点的个数M不大于所述待调试子模块中所有处于闲置状态的寄存器的总比特位数的二分之一,且H≥2M。12.如权利要求10所述的调试方法,其特征在于,所述读取所述存储空间内的程序检测点信息包括:读取所述寄存器内的M个比特位段的数据;所述根据所获取的运行情况信息,对所述待调试微程序及所述待调试子模块进行分析包括:根据所述M个比特位段的数据,分析应该执行的待调试微程序的频次是否正确;根据分析结果,判断待调试微程序运行情况是否符合微程序设计思想,修改所述待调试微程序。13.如权利要求5所述的调试方法,其特征在于,所述在待调试微程序中确定程序检测点包括:在所述待调试微程序中确定P个程序检测点;所述获取程序检测点的运行情况信息包括:获取所述P个程序检测点的逻辑相关性信息;所述将程序检测点信息存储到所述存储空间内包括:将所获取的P个程序检测点的逻辑相关性信息与P个寄存器建立映射关系;判断所述P个程序检测点中的每个程序检测点发生或被运行时,所述P个程序检测点中的其他的各个程序检测点是否已发生或已被运行;根据判断结果,生成一判断值;将所述判断值存储到该程序检测点对应的寄存器中;所述读取所述存储空间内的运行情况信息包括:读取所述P个寄存器内的数据;所述根据所获取的运行情况信息,对所述待调试微程序及所述待调试子模块进行分析包括:根据所述P个寄存器内的数据,确定所述P个程序检测点之间的逻辑相关性信息;根据所确定的所述P个程序检测点之间的逻辑相关性信息,判断待调试微程序运行情况是否符合微程序设计思想,修改所述待调试微程序。
14.如权利要求13所述的调试方法,其特征在于,所述程序检测点的个数P不大于所述待调试子模块中所有处于闲置状态的寄存器的总个数。15.如权利要求5所述的调试方法,其特征在于,所述在待调试微程序中确定程序检测点包括:在所述待调试微程序中确定Q个程序检测点;所述获取程序检测点的运行情况信息包括:获取所述Q个程序检测点的所述待调试子模块内部的硬件寄存器或微程序软件运行变量信息;所述将程序检测点信息存储到所述存储空间内包括:将所获取的所...
【专利技术属性】
技术研发人员:魏优兵,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。