针对处理器板级调试的开发系统技术方案

技术编号:35645250 阅读:64 留言:0更新日期:2022-11-19 16:38
本发明专利技术提供一种针对处理器板级调试的开发系统。所述系统包括调试器工具和调试接入端口DAP,其中,所述DAP,与所述调试器工具连接,且通过高级外设总线APB访问处理器中与调试相关的寄存器;所述调试器工具,用于通过所述DAP直接将处理器内部的状态读出到上位机;所述处理器包括多个处理器核和一个二级缓存控制L2C模块,每个处理器核包括取指单元IFU模块、数据处理单元DPU模块、读写处理单元LSU模块和内存管理单元MMU模块,可利用的域分别分布到处理器核的模块内以及L2C模块内。本发明专利技术能够高效地定位处理器内的硬件问题,且面积极小,易于实现。实现。实现。

【技术实现步骤摘要】
针对处理器板级调试的开发系统
[0001]本专利是从在先申请的申请号为201811526758.3,申请日为2018.12.13的专利中分出来的子专利,要求享有相应优先权。


[0002]本专利技术涉及处理器设计
,尤其涉及一种针对处理器板级调试的开发系统。

技术介绍

[0003]随着芯片制造工艺的不断升级和市场需求不断的提高,芯片的设计复杂度越来越大,工作频率越来越高。芯片在流片后,不可避免的都会出现一些功能性的问题。仅从测试的结果分析可能出现的硬件问题,是几乎不可能做到的事情。尤其是对于处理器来说,更是这样。虽然处理器架构会定义一些Debug的功能,但是这些功能起作用的前提是处理器没有硬件问题,它们所要Debug的对象是软件而非硬件。如果硬件自身出了问题,这些功能就没有用处了。
[0004]目前,ARM公司在其最新的处理器上提出了ELA(Embedded Logic Analyzer,嵌入式逻辑分析仪)的方法,其能够通过触发事件将处理器内部的信号存储在SRAM(StaticRandom Access Memory,静态随机存取存储器)中。这个方案有两方面缺点:一是ELA的面积较大,而且对处理器的时序收敛及后端布局布线都会造成一定的障碍;二是需要精确知道触发条件,这个在实际的Silicon Debug(板级调试)中是不容易做到的事情。因此实际项目中有效利用率并不高。

技术实现思路

[0005]本专利技术提供的针对处理器板级调试的开发系统及方法,能够高效地定位处理器内的硬件问题,且面积极小,易于实现。
[0006]第一方面,本专利技术提供一种针对处理器板级调试的开发系统,所述系统包括调试器工具和调试接入端口DAP,其中,
[0007]所述DAP,与所述调试器工具连接,且通过高级外设总线APB访问处理器中与调试相关的寄存器;
[0008]所述调试器工具,用于通过所述DAP直接将处理器内部的状态读出到上位机;
[0009]所述处理器包括多个处理器核和一个二级缓存控制L2C模块,每个处理器核包括取指单元IFU模块、数据处理单元DPU模块、读写处理单元LSU模块和内存管理单元MMU模块,可利用的域分别分布到处理器核的模块内以及L2C模块内。
[0010]可选地,所述DPU模块,用于管理处理器核内指令的执行过程;
[0011]所述IFU模块,用于管理处理器核内指令的取指操作,将DBG相关的寄存器和PMU寄存器中部分的自定义域分布其中,收集IFU内对板级调试的重要信号,生成IFU AuxiliaryDebug Registers;
[0012]所述LSU模块,用于管理处理器核内Load/Store指令的执行过程,将DBG相关的寄存器和PMU寄存器中部分的自定义域分布其中,收集LSU内对板级调试的重要信号,生成LSUAuxiliary Debug Registers;
[0013]所述MMU模块,用于管理处理器核内页表转换过程,将DBG相关的寄存器和PMU寄存器中部分的自定义域分布其中,收集MMU内对板级调试的重要信号,生成MMU AuxiliaryDebug Registers。
[0014]可选地,所述L2C模块包括CTI模块和L2C Auxiliary Debug Registers模块,其中,
[0015]所述CTI模块,用于产生触发事件,包含ARMv8

A架构已定义的CTI OldRegisters,但包含自定义域;
[0016]所述L2C Auxiliary Debug Registers模块,用于利用CTI的自定义域,收集L2C内对板级调试的重要信号。
[0017]可选地,所述DPU模块包括DBG Old Registers模块、PMU Old Registers模块和Auxiliary Debug Registers模块,其中,
[0018]所述DBG Old Registers模块,是ARMv8

A架构已定义的DBG相关的寄存器,不包含自定义域;
[0019]所述PMU Old Registers模块,是ARMv8

A架构已定义的PMU相关的寄存器,不包含自定义域;
[0020]所述Auxiliary Debug Registers模块,利用DBG寄存器和PMU寄存器中部分的自定义域,收集DPU模块内对板级调试的重要信号。
[0021]第二方面,本专利技术提供一种针对处理器板级调试的开发方法,包括:
[0022]配置调试器工具,通过地址选择处理器内相关的寄存器;
[0023]调试器工具将指令传递给调试接入端口后,通过调试接入端口选择处理器内相应的32

bit寄存器;
[0024]将处理器内2

bit寄存器的结果通过调试接入端口返回给调试器工具。
[0025]第三方面,本专利技术提供一种针对处理器板级调试的开发系统,处理器的处理器核包括JTAG控制模块以及IFU、DPU、LSU和MMU组成模块,其中,
[0026]所述JTAG控制模块包括测试访问端口TAP和JTAG链,通过JTAG链,将处理器核内重要的信号读出来;
[0027]所述JTAG控制模块,基于标准的JTAG协议,内部实现了状态机、DR寄存器及IR寄存器,DR寄存器用于保存所要导出的信号,IR寄存器用于选择导出哪些信号;
[0028]所述IFU、DPU、LSU和MMU组成模块,分别将其内部重要信号分成以32

bit宽为单位的多组,通过复用器输出给JTAG链;
[0029]处理器核内的JTAG接口与处理器核外的SoC上的JTAG相连,最终将调试信号导出到芯片外。
[0030]第四方面,本专利技术提供一种针对处理器板级调试的开发系统,处理器的处理器核包括总线接口单元和多个系统寄存器,其中,
[0031]所述总线接口单元,用于与外界进行交互,在其与外界接口上有读地址、读请求类型、写地址和写请求类型信号;
[0032]第一自定义系统寄存器,设定读地址区间的最低地址;
[0033]第二自定义系统寄存器,设定读地址区间的最高地址;
[0034]第三自定义系统寄存器,当读地址在所述第一自定义系统寄存器和所述第二自定义系统寄存器区间时,抓取读请求的类型;
[0035]第四自定义系统寄存器,设定写地址区间的最低地址;
[0036]第五自定义系统寄存器,设定写地址区间的最高地址;
[0037]第六自定义系统寄存器,当写地址在所述第四自定义系统寄存器和所述第五自定义系统寄存器区间时,抓取写请求的类型。
[0038]可选地,读请求类型和写请求类型的寄存器不能够复位。
[0039]可选地,读请求类型和写请求类型寄存器设置有抓取标志位,所述标志位在每次设置地址寄存器时自动清零,在抓取所要监测的地址时置为1。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对处理器板级调试的开发系统,其特征在于,处理器的处理器核包括JTAG控制模块以及IFU、DPU、LSU和MMU组成模块,其中,所述JTAG控制模块包括测试访问端口TAP和JTAG链,通过JTAG链,将处理器核内重要的信号读出来;所述JTAG控制模块,基于标准的JTAG协议,内部实现了状态机、DR寄存器及IR寄存器...

【专利技术属性】
技术研发人员:孙浩余红斌
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1