[发明专利]一种基于xtensa处理器的栈回溯方法及装置在审

专利信息
申请号: 201910681672.6 申请日: 2019-07-26
公开(公告)号: CN110489258A 公开(公告)日: 2019-11-22
发明(设计)人: 邓京涛 申请(专利权)人: 苏州浪潮智能科技有限公司
主分类号: G06F11/07 分类号: G06F11/07
代理公司: 37105 济南诚智商标专利事务所有限公司 代理人: 王申雨<国际申请>=<国际公布>=<进入
地址: 215100 江苏省苏州市吴*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 程序异常 函数调用栈 处理器 工程师 处理器函数 窗口寄存器 调用关系 反向恢复 回溯装置 快速定位 手动触发 异常信息 异常中断 寄存器 倒序 滑差 减小 调用 回溯 算法 帮助 保存 恢复
【权利要求书】:

1.一种基于xtensa处理器的栈回溯方法,其特征是,包括以下步骤:

异常中断或手动触发时保存ar寄存器值和dram信息;

采用滑差间隔为N个的ar窗口寄存器倒序恢复现场;

采用xtensa处理器函数调用算法,反向恢复栈调用关系。

2.如权利要求1所述的基于xtensa处理器的栈回溯方法,其特征是,所述异常包括:内存访问异常、除零异常、非对齐异常、非法指令异常。

3.如权利要求1所述的基于xtensa处理器的栈回溯方法,其特征是,所述采用滑差间隔为N个的ar窗口寄存器倒序恢复现场,具体包括:

采用滑差间隔为四个的ar窗口寄存器倒序恢复ar物理寄存器值至DARM;

将DRAM信息保存到DDR。

4.如权利要求3所述的基于xtensa处理器的栈回溯方法,其特征是,所述采用滑差间隔为四个的ar窗口寄存器倒序恢复ar物理寄存器值至DARM,具体包括:

使用当前现场的ar4~ar7窗口寄存器保存当前现场的ar0~ar3窗口寄存器值,再向前滑四个寄存器,直到保存到最起始的ar寄存器值为止,所述最起始的ar寄存器为异常中断现场下的ar物理寄存器或手动触发时中断处理函数所在现场下的ar物理寄存器;

保存完成后,向后滑差四个寄存器后,使用之前保存寄存器值来恢复ar0~ar3物理寄存器,直到恢复到最近的ar寄存器值,所述最近的ar寄存器为当前现场的ar0-ar3窗口寄存器对应的ar物理寄存器。

5.如权利要求4所述的基于xtensa处理器的栈回溯方法,其特征是,所述采用滑差间隔为四个的ar窗口寄存器倒序恢复ar物理寄存器值至DARM,具体包括:

通过设置寄存器windowbase和windowstart的数值完成窗口寄存器的移动。

6.如权利要求5所述的基于xtensa处理器的栈回溯方法,其特征是,所述采用xtensa处理器函数调用算法,反向恢复栈调用关系,具体包括:

从当前函数使用的ar1物理寄存器中获取栈地址,通过栈地址恢复上一级函数的ar0-ar7物理寄存器,上一级函数的a0代表是该函数的返回地址,计算出上一级函数调用地址=a0-3。

7.一种基于xtensa处理器的栈回溯装置,其特征是,包括:

异常保存模块,异常中断或手动触发时保存ar寄存器值和dram信息;

现场滑差恢复模块,采用滑差间隔为N个的ar窗口寄存器倒序恢复现场;

调用关系恢复模块,采用xtensa处理器函数调用算法,反向恢复栈调用关系。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910681672.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top