【技术实现步骤摘要】
一种异构多核处理器系统追踪的调试方法及装置
[0001]本专利技术主要涉及到微处理器验证与调试
,特指一种异构多核处理器系统追踪的调试方法及装置。
技术介绍
[0002]随着芯片技术的快速发展,嵌入式微处理器集成度越来越高,基于微处理器用于解决多种任务的片上系统(SoC,System On Chip)复杂度也不断增加,系统的可验证性与可调试性也愈发重要。功能验证时,若与设计不一致,则需通过调试以检错纠错,SoC的高复杂度致使调试难度较大,如何简捷高效完成嵌入式调试任务,对嵌入式微处理器系统设计与开发意义重大。
[0003]微处理器验证与调试领域经历了多个发展阶段,当前学术及工程上多聚焦于非侵入式调试,即基于追踪的调试技术。该调试方式采用片上系统实现,实时记录程序控制流,允许程序员将所关注的信息记录在一个共享存储器(共享RAM)中。调试过程中,程序员可以读取这些信息,通过软件工具分析得到处理器的多核实时运行数据和事件。
[0004]在实现非侵入式调试时,追踪流程与追踪结构的具体设计制约着片上追踪系统,现有技术也针对追踪流程与结构进行了研究。
[0005]有从业者提出了一种多层追踪体系结构的方法和系统(中国专利申请201310734379.4),将原始追踪信息分为高带宽追踪信息和低带宽追踪信息,分别提供给片上缓冲触发和片外追踪接口。低带宽追踪信息被并行提供给片外追踪接口意味着片上追踪系统需要实时对片外存储实现写功能,若追踪信息多为低带宽,整体资源利用率不升反降。
[0006]或是通过 ...
【技术保护点】
【技术特征摘要】
1.一种异构多核处理器系统追踪的调试方法,其特征在于,步骤包括:步骤S1:寄存器预配置;步骤S2:运行程序;步骤S3:记第i个指定程序段当前PC值为PC_Value
i
;若PC_Value
i
&Trig_MaskReg
i
==Trig_Reg
i
,称之为第i个指定程序段的1个PC触发,转入执行步骤S4,否则转入执行步骤S2;步骤S4:触发一次对TraceBuffer的写操作;每次写的内容为一个TraceItem,其格式为coreID+PCTrigID+TimeStamp,压缩后写入TraceBuffer;记录触发次数CNT
i
;步骤S5:若CNT
i
==End_Reg
i
,则终止第i个指定程序段的PC触发操作,转入执行步骤S6,否则转入执行步骤S2;步骤S6:所有指定程序段PC触发均已记录完,则转入执行步骤S7,否则转入执行步骤S2;步骤S7:运行在调试主机上的解析软件,通过仿真器读取TraceBuffer内容,对程序运行控制流的解析。2.根据权利要求1所述的异构多核处理器系统追踪的调试方法,其特征在于,在执行所述步骤S3时,采用共享PC流方式,根据控制寄存器预配置情况,判断当前PC是否需要追踪;即先对PC_Value和Trig_MaskReg
i
求位与,其结果与Trig_Reg
i
在比较器中判断是否相等,相等为1,不等为0;每个核中,每对Trig_Reg和Trig_MaskReg的逻辑计算相互独立,同步进行。3.根据权利要求1所述的异构多核处理器系统追踪的调试方法,其特征在于,所述步骤S4包括:步骤S401:触发一次对TraceBuffer的写操作;实时监控TraceBuffer,未写满时,正常触发对TraceBuffer的写操作;写满时,通过TB_Cfg_Reg的值确定下一步执行流程,若TB_Cfg_Reg为0执行“回绕覆盖”操作,对TraceBuffer循环写入;后期分析时,根据时间戳确定TraceItem先后顺序;若TB_Cfg_Reg为1执行“暂停等待”操作,程序暂停,读出TraceBuffer内容,当读写结束时继续运行程序,并执行追踪调试各程序段;步骤S402:记录触发次数CNT;对各个核中的触发次数按类记录,记为CNT
i
,一对Trig_Reg和Trig_MaskReg的逻辑判决为一类触发。4.根据权利要求1所述的异构多核处理器系统追踪的调试方法,其特征在于,在所述步骤S5中,输入触发次数CNT
i
和End_Reg
i
,比较器输出为1时,终止第i个PC类触发操作,此后也不再对...
【专利技术属性】
技术研发人员:扈啸,高轩,刘衡竹,王耀华,彭元喜,郭阳,蒲伟,肖珊,何港兴,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。