[发明专利]一种在ICE中实现Call Stack功能的方法有效
申请号: | 201710643721.8 | 申请日: | 2017-07-31 |
公开(公告)号: | CN107480057B | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 崔伟青;刘勇;陈元丰;周乾江;黎永健 | 申请(专利权)人: | 芯海科技(深圳)股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F30/20 |
代理公司: | 深圳市神州联合知识产权代理事务所(普通合伙) 44324 | 代理人: | 王志强 |
地址: | 518067 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ice 实现 call stack 功能 方法 | ||
本发明公开了一种在ICE中实现Call Stack功能的方法,该方法芯片内核运行过程中,利用Call Stack控制模块对内核中的堆栈级数寄存器进行监控,当内核堆栈发生变化时,将指令计数寄存器,工作寄存器,状态寄存器同步到FPGA全局时钟后,同步映射到Call Stack控制模块中的内核信号堆栈中,该方法能够对内核的堆栈进行监控,同时不能影响内核的运行。本发明通过Call Stack功能,记录程序运行过程中堆栈级数变化时候的PC值,实现下位机对CPU堆栈进行监控。
技术领域
本发明属于在线仿真器的技术领域,特别涉及用于增加芯片仿真器CallStack功能的方法。
背景技术
芯片内核的堆栈会在函数调用退出,中断进入退出等情况下发生变化。用户在使用ICE开发调试芯片应用程序的过程中,如果ICE能够记录堆栈的变化情况,并且向PC上位机用户返回堆栈发生变化时候的PC,IR,WOEK,STATUS等内核的关键寄存器的话,用户就可以通过上位机的Call Stack窗口查看到芯片内核的运行状态,从而定位追踪到程序中异常的函数调用,中断调用等导致芯片堆栈溢出的问题。
例如专利申请201611020255.X公开了一种一种ICE自动化测试系统及测试方法,所述测试系统包含上位机和下位机两大部分,所述上位机使用脚本作为测试系统的中央控制台,所述下位机包含:DUT和TB测试板;所述上位机和下位机通过API接口进行通信。本发明所实现的自动化测试系统和测试方法,能实现所有ICE支持型号的数字功能测试,减少测试人力的投入,很大程度上减少了手动操作,大大缩短了测试流程。并且自动化输出测试日志,方便测试人员快速发现问题,进而修复芯片设计。
然而该专利申请并没有芯片仿真器的Call Stack功能,无法实现对用户程序调用函数,无法实现下位机对CPU堆栈的监控。
发明内容
基于此,因此本发明的首要目地是提供一种在ICE中实现Call Stack功能的方法,该方法能够通过Call Stack功能,记录程序运行过程中堆栈级数变化时候的PC值,实现下位机对CPU堆栈进行监控。
本发明的另一个目地在于提供一种在ICE中实现Call Stack功能的方法,该方法能够从芯片底层内核出发,增加对内核的监控电路和上发堆栈数据给上位机的通信电路和通信协议的控制,结构清晰,效果良好,为用户开发芯片用户程序提供了一种可靠的保障手段。
为实现上述目的,本发明的技术方案为:
一种在ICE中实现Call Stack功能的方法,其特征在于该方法芯片内核运行过程中,利用Call Stack控制模块对内核中的SP(堆栈级数寄存器)进行监控,当内核堆栈发生变化时,将PC(指令计数寄存器),WORK(工作寄存器),STATUS(状态寄存器)等同步到FPGA全局时钟后,同步映射到Call Stack控制模块中的内核信号堆栈中,该方法能够对内核的堆栈进行监控,同时不能影响内核的运行。
进一步,具体为:当内核圧栈时,同步圧栈;在内核出栈时,同步出栈;在这个过程中,Call Stack控制模块能记录堆栈级数,当堆栈溢出(含圧栈溢出和出栈溢出)时,停止内核信号堆栈的变化,并记录下溢出时候的PC,返回给上位机,供用户定位到堆栈溢出时候的代码处。
所述Call Stack控制模块包括有内核信号同步模块、内核信号堆栈模块及堆栈读取控制模块,所述内核信号同步模块连接于内核信号堆栈模块,内核信号堆栈模块连接于堆栈读取控制模块,堆栈读取控制模块,受仿真模块控制,负责间堆栈中的数据按照协议顺序通过仿真模块返回给上位机。
内核信号同步模块是将内核关键信号引出到内核信号同步模块后,对这些信号进行同步处理,包含以下过程:
(1)堆栈变化请求信号产生:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯海科技(深圳)股份有限公司,未经芯海科技(深圳)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710643721.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件测试方法和装置
- 下一篇:一种基于BPEL组合服务的修改影响分析方法