久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1652|回復: 0
打印 上一主題 下一主題
收起左側

ARM ADS中的AXD 調試經驗

[復制鏈接]
跳轉到指定樓層
樓主
ID:107189 發表于 2016-3-6 13:13 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1、如何設置AXD連接的Target。在菜單的Configure Target…選項中可以設置。一般選擇MutiIce或者ARMUL兩種。
ARMUL是一種ARM的模擬器。一般的算法或者一些無需和硬件中斷等設備打交道的程序都可以通過這個進行調試。使用上非常簡單。
我們一般上板子進行調試都是通過MutiICE來進行。在剛剛安裝了系統的時候,菜單中沒有MutiICE,需要我們手動添加:
點擊ADD按鈕,然后在彈出的文件瀏覽中,選擇“C:\Program Files\ARM\Multi-ICE\Muti-ICE.dll”(默認安裝的話)。然后點擊“確定”。這樣就把MutiICE的調試接口安裝上了。
2、如何保存當前的調試現場。我們在調試過程中,經常需要在不同的地方設置斷點、設置Watchpoint或者打開很多source文件。但是,一旦我們關閉了AXD,所有的工作都白費了。當我們再次打開AXD后,我們得到的仍然是沒有任何斷點、只打開一個entry文件的調試環境。這里介紹一種方法可以自動保存上一次的調試現場(寄存器的數據都是保存的)。
       Options->General tab. 這里確認Save and load default sessions 選項是選中的。然后打開Session File,確保Rselect Target和Reload images 選項是選中的。
       在設置保存后,我們在關閉AXD后,再次啟動,就會自動加載上次的image,恢復寄存器了。

       如果需要保存多個現場,那么就在設置保存后,在File菜單中選擇Save Session來進行保存。不過注意,保存的路徑中不能有空格和特殊字符。最好保存在ClearCase上。在需要恢復現場的時候,只需要Load Session就一切OK。你以前辛辛苦苦設置的斷點、Watchpoint全都回來了。

3、不能設置斷點,怎么辦?不能設置斷點時,我僅知有幾種解決方案,這里列舉一下:
A:清空CPU的Vector Catch 。
       在Options->Configure Process..中清除。
B:Run一下,馬上暫停。
       這種方式對要求不高的斷點(諸如設置在APP層中的斷點)比較合適。方便。
C:清除以前的斷點。
       一般發生在Flash調試的情況。首先清除以前的斷點,然后才能設置新的斷點。
D:命令行 spp vector_catch 0
    其實和A相同。如果寫在開機script中,那么就可以自動排除開機無法設置斷點問題。
E:啟動AXD的時候使用—debug這個參數,這樣就可以添加一個自動斷點在Main()上。  
4、        如何不reload image就可以重新從頭開始調試。很多時候我們需要讓代碼重頭跑起來復現一個bug。但是,一般來說,都是reload一下。如果image比較小還可以忍受,但是想660那種16M左右的巨型image,這種代價就未免太大。這里介紹幾種我所知道的方法,可以從頭開始調試:
A:設置Current寄存器。
       點擊 打開process register->current 組。設置pc為0 , cpsr為 svc模式下。關閉Thumb模式。這時F5即可運行下去。
B:運行腳本
       這種方式速度更快,也方便。上上之選。
setpc 0

sreg cpsr 0xd3  
5、        如何無條件跳轉?一般這種事情最好是在同一個函數中,某條語句無條件跳到另一條語句上時使用。最好不要跨函數使用(否則有堆棧錯誤,很難查的)

把光標定在需要跳轉到的代碼上,右鍵菜單execute->Set Next Statement .
6、        AXD有沒有什么輔助工具?有的。

IDA pro ,非常好的axf解析工具。可以統計axf文件中的函數、全局變量、調用關系等。界面非常友好,代碼界面可以清楚看出函數引用關系、變量初始話、變量引用、修改的統計。
可以說,IDA Pro是匯編級的Source insight 。大家可以在網絡上下載它的最新版安裝使用。
7、 如何調試需要加載到Flash上的代碼以下是我的經驗:
1、  在有jTag調試口的板子上Download一個版本。
2、  選擇 File->load debug symbols 。然后選擇CodeWarrior上Release版生成的那個AXF。
3、 現在就可以調試Flash上的程序了。和Debug完全一樣。不過注意,在這種情況下,一般只能設置2個斷點。
8、 使用fromelf命令fromelf命令可以對我們生成的axf文件進行進一步操作的命令。

諸如:
從axf文件中抽出二進制代碼:fromelf –bin –output a.bin a.axf
從axf文件中抽出二進制代碼:fromelf –m32 –output a.s32 a.axf

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区视频在线播放 | 精品在线看 | 国产日产精品一区二区三区的介绍 | 人与拘一级a毛片 | 一级肉体全黄裸片 | 九九热在线观看 | 成人午夜在线视频 | 中文字幕综合网 | 午夜激情福利视频 | 亚洲精品乱码久久久久 | 久久久网 | 国产理论片在线观看 | 日韩欧美中文在线 | 亚洲免费网站 | 日韩伦理在线观看 | 国产精品高潮呻吟久久 | 午夜免费观看视频 | 亚洲 欧美 日韩 在线 | 99国产视频| 黄色小视频在线免费观看 | 欧美日韩国产一区 | 日韩国产精品一区二区 | 日本不卡中文字幕 | 久久艹精品 | 天天爽夜夜爽夜夜爽精品视频 | 精品国产欧美 | 成人做受黄大片 | 亚洲视频二区 | 男女啪啪免费视频 | 国产成人精品毛片 | 亚洲福利影院 | 久久久综合 | 女人久久久 | 午夜久久久| 日韩中文字幕在线观看 | av网址在线播放 | 国产在线观看精品 | 91蜜桃婷婷狠狠久久综合9色 | 精品一区二区免费视频 | 91亚洲精品在线 | 午夜视频在线看 |