999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MIPS系統異常現場分析工具的設計與實現

2014-01-21 00:52:56夏東盛
電子設計工程 2014年21期
關鍵詞:指令系統

夏東盛

(陜西工業職業技術學院 陜西 咸陽 712000)

MIPS是一款RISC體系結構的中央處理器,在嵌入式應用的場合,和ARM一樣,MIPS核作為IP授權給各集成電路設計廠商根據自己的特定應用生產專用的SOC(single on chip)解決方案[1]。

為節省成本,很多嵌入MIPS的SOC實現,省掉了MIPS的J-TAG支持;或者應用MIPS核的系統,在形成產品應用到實際環境時,才出現死機等異常情況[2]。無論哪種情況,都使得要解決遇到的死機問題變得非常困難。

1 異常處理機制

任何一個CPU都要提供一個詳細的異常和中斷處理機制。一個軟件系統,如操作系統,就是一個時序邏輯系統,通過時鐘,外部事件來驅動整個預先定義好的邏輯行為[3-4]。本文通過設計工具載入異常內存數據 (dump),然后進行反匯編,得到系統發生異常情況,定位異常所在位置及引起異常的調用堆棧,反序列出函數調用清單。

2 工具設計與實現

2.1 設計思路及流程

產品軟件在工作中,引起死機的原因,一般是非法指令或指令訪問了非法地址[5]。而這類非法訪問,在支持虛擬地址的CPU體系中,都會引起系統的指令異常,從而進入異常服務程序[6]。該工具根據異常的堆棧數據,配合整個程序空間的指令,列出引起死機問題的有效指令(引起異常的指令地址和函數調用返回的地址)的調用序列。從而避免到處懷疑代碼,加入各種觀察代碼勞心費力的抓取死機現象來解決問題這種低效的方式。該工具對其他的硬件原因引起的死機問題,不在分析之列。流程圖如圖1。

圖1 流程圖Fig.1 Flow chart

2.2 設計準備

1)在發布系統程序前,確保系統中異常服務程序,處于活動狀態;異常服務程序中,對于數據和指令引起的異常,要輸出(dump)引起異常任務當時的堆棧數據。

2)發布系統程序時,保留源碼和系統對應的反匯編代碼備用。

3)在系統運行過程中,保持對系統串口的接收就緒狀態,一旦系統發生異常引起死機,將接收的數據保存到文件(即所指的serial.log文件)。

2.3 反匯編解析

圖2 運行界面Fig.2 Operating interface

1)復制腳本文件 disassemble.sh到 ygwinsrcgnutoolsmipsisa32-elfin目錄下。

2)打開Cygwin,在命令行運行disassemble.sh OBERON.elf,生成OBERON.elf.lst文件。如圖2。

3)運行MStarAnaW.exe軟件,在反匯編文件欄添加OBERON.elf.list文件,在輸出記錄欄添加serial.log文件,如圖3。

4)添加serial.log文件之后系統自動切換到檢查堆棧信息界面,如圖4。

2.4 堆棧分析

1)一般情況下,本工具自動完成結果,在屏幕上依次顯示堆棧調用情況,前面的是被調用函數,后面的是調用者。

圖3 添加界面Fig.3 Add interface

圖4 堆棧信息界面Fig.4 The stack information interface

2)在分析過程中,可能會需要使用者輸入兩個參數,這時需要使用這根據輸出結果分析匯編代碼,輸入正確的值這兩個值一個是匯編函數的返回地址所在的對邊偏移,一個是本函數的堆棧使用情況。返回地址要查看兩個相關的匯編代碼,“jr ra”即為函數返回指令,與之相關的另一條指令為“sw ra, xx(sp)”,“lw ra, xx(sp)”,前者是將 ra 寄存器的值保存到以sp為基址偏移為xx的堆棧中,后者從以sp為基址偏移xx的堆棧中取得數據載入ra寄存器。因此只需要從其中任意一個指令都能得到返回地址在堆棧中的偏移當一個函數中有兩個以上的單向改變sp內容的指令出現以后,本工具就無法推算出正確的函數占用堆棧情況了,此時需要使用者閱讀匯編代碼,輸入正確的值。一般這類指令為

“addi sp,sp,-xx”,“addiu sp,sp,-xx”,“addiu sp,reg,mm”,只要sp跟在指令后面,那就有可能是改變了堆棧基指針。然后根據從函數開始到調用(屏幕上)上一個函數出現的位置,將其偏移值累加,相應的,“sw ra,xx(sp)”后面出現的 sp 變化值也要累加到返回值偏移上去。

3)就圖3而言,在堆棧指針偏移欄中輸入40,在返回地址基于堆棧指針的偏移欄中輸入32,然后確定,就會自動跳轉到如圖5。

4)同樣在相應的選項中輸入對應的指針偏移量之后,確定。得到如圖6。

圖5 運行結果Fig.5 Operating results

圖6 結果Fig.6 Results

5)堆棧分析完成,死機的情況是由于圖5中的5個函數(最后倆個去除)引起。

6)可拷貝函數之前的地址(如:_Zapper_Signal函數的地址是80041e98)到OBERON.elf.lst文件查找對應的匯編運行代碼,如圖7。

7)依以上步驟查看導致錯誤的匯編代碼或者在工程文件中對應函數加入調試,查看代碼中存在那些錯誤。

3 結束語

正確快速查找出現的異常并能快速分析解決軟件健壯性和穩定性的關鍵問題,該工具在滿足以上條件的同時,實現如MIPS指令模擬器、MIPS斷點調試等功能的擴展,具有比較強的推廣性。

圖7 匯編代碼圖Fig.7 Assembly code chart

[1]武曉島,范兵,于鵬,等.MIPS中國專利技術解析[J].中國集成電路,2010(1):88-93.WU Xiao-dao,FAN Bing,YU Peng,et al.Tecknology analysis on MIPS China patents[J].China Integrated Circuit,2010(1):88-93.

[2]吳怡.MIPS體系結構透視[J].教材建設,2008(19):147.WU Yi.Research architecture of MIPS in another perspective[J].Computer Education,2008(19):147.

[3]趙雪峰,姜淑娟.一個異常處理統計工具的設計與實現[J].中國科技信息,2008(21):180-181.ZHAO Xue-feng,JIANG Shu-juan.A design of statistical tools of exception handling and implementation[J].China Technology Information,2008(21):180-181.

[4]裘宗燕.異常處理及其實現[J].程序員,2002(9):55-58.QIU Zong-yan.exception handling and its realization[J].Programmer,2002(9):55-58.

[5]李莉,路而紅.ARM異常處理機制[J].燕山大學學報,2006,30(4):313-316.LI Li,LU Er-hong.Mechanism of handing ARM processor exceptions[J].Journal of Yanshan University,2006,4(30):313-316.

[6]白國政,李庚,陳明.嵌入式軟件異常處理機制的研究[J].微機發展,2005,10(15):88-89,106.BAI Guo-zheng,LI Geng,CHEN Ming.Research on technology for exception processing in embedded software[J].Microcomputer Development,2005,10(15):88-89,106.

猜你喜歡
指令系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
主站蜘蛛池模板: 99久久精品国产综合婷婷| 欧美三級片黃色三級片黃色1| 国产成人亚洲综合A∨在线播放 | 日日拍夜夜嗷嗷叫国产| 久久福利网| 亚洲国产精品无码久久一线| 一本视频精品中文字幕| 综合色88| 免费啪啪网址| 综1合AV在线播放| 国产一区二区三区在线观看免费| 欧美精品成人| 国产欧美日韩18| 伊伊人成亚洲综合人网7777| 色综合天天综合中文网| 国产精品深爱在线| 久久99蜜桃精品久久久久小说| 九九热在线视频| 亚洲精品午夜天堂网页| 国产三区二区| 久青草国产高清在线视频| 国产在线拍偷自揄拍精品 | 亚洲 欧美 偷自乱 图片 | 午夜高清国产拍精品| 亚洲欧美一区在线| 免费看a级毛片| 久久精品人人做人人爽电影蜜月| 国产视频久久久久| 韩日午夜在线资源一区二区| 亚洲一区二区约美女探花| 极品尤物av美乳在线观看| 午夜不卡视频| 四虎影视8848永久精品| 毛片视频网址| 亚洲愉拍一区二区精品| 国产精品免费电影| 五月六月伊人狠狠丁香网| 伊人大杳蕉中文无码| 久久精品只有这里有| 欧美综合在线观看| 真实国产乱子伦视频| 亚洲日韩每日更新| 国产99精品久久| 二级特黄绝大片免费视频大片| 久久久久久国产精品mv| 人妻无码一区二区视频| 日本成人福利视频| 中文字幕人成乱码熟女免费| 成人午夜亚洲影视在线观看| 五月婷婷综合网| 亚洲国产精品一区二区第一页免| 国产一区在线观看无码| m男亚洲一区中文字幕| 亚洲日韩精品伊甸| 国模在线视频一区二区三区| 亚洲国产精品一区二区高清无码久久| 中文国产成人久久精品小说| 欧美国产日本高清不卡| 全部无卡免费的毛片在线看| 国产黄色片在线看| 97影院午夜在线观看视频| 亚洲成人在线免费观看| 免费aa毛片| 国产又大又粗又猛又爽的视频| 国产精品美女免费视频大全| 人妻中文字幕无码久久一区| 美女被操91视频| 88国产经典欧美一区二区三区| 亚洲国产成人自拍| 久久久无码人妻精品无码| 欧美特黄一级大黄录像| 欧美人与牲动交a欧美精品| 亚洲天堂伊人| 亚洲av无码成人专区| 欧美国产菊爆免费观看| 日韩AV手机在线观看蜜芽| 伊人大杳蕉中文无码| 亚洲成肉网| 无码高潮喷水在线观看| 日韩小视频网站hq| 国产99精品视频| 99视频在线免费看|