[發明專利]一種基于xtensa處理器的棧回溯方法及裝置在審
| 申請號: | 201910681672.6 | 申請日: | 2019-07-26 |
| 公開(公告)號: | CN110489258A | 公開(公告)日: | 2019-11-22 |
| 發明(設計)人: | 鄧京濤 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 37105 濟南誠智商標專利事務所有限公司 | 代理人: | 王申雨<國際申請>=<國際公布>=<進入 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 程序異常 函數調用棧 處理器 工程師 處理器函數 窗口寄存器 調用關系 反向恢復 回溯裝置 快速定位 手動觸發 異常信息 異常中斷 寄存器 倒序 滑差 減小 調用 回溯 算法 幫助 保存 恢復 | ||
本發明公開了一種基于xtensa處理器的棧回溯方法,包括以下步驟:異常中斷或手動觸發時保存ar寄存器值和dram信息;采用滑差間隔為N個的ar窗口寄存器倒序恢復現場;采用xtensa處理器函數調用算法,反向恢復棧調用關系。本發明還提供了一種基于xtensa處理器的棧回溯裝置。本發明能夠實時地在程序異常后,獲得程序異常前的函數調用棧信息及異常信息。能夠幫助工程師在產品異常情況下,快速定位程序異常原因,能夠快速的得到異常情況下的函數調用棧,能夠幫助工程師快速、準確的定位bug原因,極大的提高了解決bug的效率,將損失減小到最小。
技術領域
本發明涉及嵌入式系統技術領域,尤其是一種基于xtensa處理器的棧回溯方法及裝置。
背景技術
產品在實際運行過程中,會存在程序出現異常的可能性。但是往往會缺少一種手段能夠獲得異常情況下程序的調用棧信息,以及異常原因,使程序bug的定位變的異常艱難。不同處理器的調用棧獲取方式和處理器本身的函數調用方式息息相關,基于arm的處理器棧回溯是相對簡單的,調用信息是在棧上的,是可尋址的,是空間上的回溯。根據xtensa處理器特性,在程序出現異常后,程序會跳轉到異常中斷執行,在異常中斷中保存所有的ar寄存器,并將128K的DRAM信息保存到DDR。除了在異常情況下(比如除零異常、內存訪問異常、指令異常等)進行保存外,還支持在其他情況下的手動觸發保存,這需要不僅能獲得64個ar寄存器值,還需要保證不能破壞現場(所有ar寄存器值),然而xtensa處理器每次只有16個寄存器可見,并且無法通過尋址的方式找到其他寄存器,必須通過移動窗口,回退到之前的函數調用點的窗口下,需要時間+空間的回溯。要想保存這16個寄存器,必然在保存過程中需要使用其中的2~3個寄存器,這樣就破壞了現場。當我們回退到某個窗口下時,就不得不破壞ar寄存器現場去保存調用關系。
發明內容
本發明的目的是提供一種基于xtensa處理器的棧回溯方法及裝置,能夠快速的得到異常情況下的函數調用棧,能夠幫助工程師快速、準確的定位bug原因,極大的提高了解決bug的效率,將損失減小到最小。
為實現上述目的,本發明采用下述技術方案:
本發明第一方面提供了一種基于xtensa處理器的棧回溯方法,包括以下步驟:
異常中斷或手動觸發時保存ar寄存器值和dram信息;
采用滑差間隔為N個的ar窗口寄存器倒序恢復現場;
采用xtensa處理器函數調用算法,反向恢復棧調用關系。
結合第一方面,在第一方面第一種可能的實現方式中,所述異常包括:內存訪問異常、除零異常、非對齊異常、非法指令異常。
結合第一方面,在第一方面第二種可能的實現方式中,所述采用滑差間隔為N個的ar窗口寄存器倒序恢復現場,具體包括:
采用滑差間隔為四個的ar窗口寄存器倒序恢復ar物理寄存器值至DARM;
將DRAM信息保存到DDR。
結合第一方面,在第一方面第三種可能的實現方式中,所述采用滑差間隔為四個的ar窗口寄存器倒序恢復ar物理寄存器值至DARM,具體包括:
使用當前現場的ar4~ar7窗口寄存器保存當前現場的ar0~ar3窗口寄存器值,再向前滑四個寄存器,直到保存到最起始的ar寄存器值為止,所述最起始的ar寄存器為異常中斷現場下的ar物理寄存器或手動觸發時中斷處理函數所在現場下的ar物理寄存器;
保存完成后,向后滑差四個寄存器后,使用之前保存寄存器值來恢復ar0~ar3物理寄存器,直到恢復到最近的ar寄存器值,所述最近的ar寄存器為當前現場的ar0-ar3窗口寄存器對應的ar物理寄存器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910681672.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種生產管理方法及系統
- 下一篇:一種內存故障檢測方法及設備





