




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
ADS1o2操作
1.ADS1o2簡介
2.ADS開發(fā)環(huán)境是ARM公司較早推出的ARM核微控制器集成開發(fā)工具,英文全程為ARMDeveloperSuite,
成熟版本為ADS1.2oADS1.2支持ARM10之前的所有ARM系列微控制器,支持軟件調(diào)試以及JTAG硬件仿真
調(diào)試,支持匯編、C和C++源程序,具有編譯效率高、系統(tǒng)庫功能強(qiáng)等特點(diǎn),可以在Windows98、WindowsXP、
Windows2000以及RedHatLinux上運(yùn)行。
3.ADS1o2集成開發(fā)環(huán)境的組成簡介
ADS1.2由6個部分組成,如下表所示。
表4.37ADS1.2的組成部分
名稱描述使用方式
ARM匯編器,ARM的C、C++編譯器,Thumb
代碼生成工具的C、C++編譯器,ARM連接器由CodeWarriorIDE調(diào)用
集成開發(fā)環(huán)境CodeV/arriorIDE工程管理,編譯連接
AXD,armsd
調(diào)試器仿真調(diào)試
指令模擬器ARMuIator由AXD調(diào)用
ARM開發(fā)包一些底層的例程,實(shí)用程序(如fromELF)實(shí)用程序由CodeWarriorIDE調(diào)用
C.C++函數(shù)庫等
ARM應(yīng)用庫由用戶程序調(diào)用
4.操作步驟
選擇Windows操作系統(tǒng)的“開始”一〉“程序”一〉A(chǔ)RMDeveIopSuitev1.2—〉CodeWarriorforARMDeveIop
Suite命令啟動MetrowerksCodeWarrior,或者雙擊CodeWarriorforARMDevelopSuite快捷方式啟動。
啟動ADS1。2IDE如圖1所示。
WindowsMediaPlayer
?$WindowsMessengerAXDDebugger
二遠(yuǎn)程協(xié)助jjCod?YarriorforARMDeveloperSuite
QWindows優(yōu)化大師Lic?ns?InstallationWizard
FlashGet&OnlineBooks
?包|UltraEditgRetdM*forARMDtv<loptrSuit。vl2
ZM__________________
&AKMD.v.lop"Suit,vl2“S.tup£orARMD?v?lop?rSuittvl.2
圖1啟動ADS1。2IDE
單擊菜單FiIe,選擇New菜單項(xiàng)即彈出New對話框,如圖2所示。
Hew
圖2New對話框
選擇□-程模板為ARM叩執(zhí)行映像(ARMExecutabIeImage),Thumb可執(zhí)行映像(ThumbExecutabIeImage),
或者Thumb和ARM交織映像(ThumbARMInterworkingImage),然后在Location項(xiàng)選擇工程存放路徑,
并在ProjectName項(xiàng)輸入工程名稱,單擊“確定”按鈕即可建立相應(yīng)工程,工程文件后綴為。mcp,具體
如圖3。
圖3新建工程
會彈出testl。cmp工程管理對話框,,此時沒有文件,管理文檔的對話框時空的,點(diǎn)擊File下的New,選擇
File新建文件,,里面可選的只有TextFile,c語言的加.C后綴,ARM匯編或是Thumb匯編用.s后綴,如圖
4
圖4新建文件
在回看工程菅埋文件,里面多了新建的test,s文件,圖5
圖5
在testl。s中揄入?yún)R編代碼,具體如下
'etroverksCodeTarriorforARIDeveloperSuitevl.2nx
圖6
5.編譯連接工程
/如圖7所示為工程窗口中的圖標(biāo)按鈕,通過這些圖標(biāo)按鈕,用戶可以快速的進(jìn)行工程設(shè)置、編譯連接、
啟動調(diào)試等等(在不同的菜單項(xiàng)上可以分別找到對應(yīng)的菜單命令)。它們從左到右分別為:
/DebugReISettings:工程設(shè)置,如地址設(shè)置、輸出文件設(shè)置和編譯選項(xiàng)等,其中DebugReI為當(dāng)前的
生成目標(biāo)。
/SynchronizeModificationDates:同步修改日期,檢查工程中每個文件的修改日期,若發(fā)現(xiàn)有更新,
則在Touch欄標(biāo)記“J”。
/Make:編譯連接(快捷鍵為F7)。
/Ddebug:啟動AXD進(jìn)行調(diào)試(快捷鍵為F5).
/Run:啟動AXD進(jìn)行調(diào)試,并直接運(yùn)行程序。
ProjectInspector:工程檢查,查看和配置工程中源文件的信息.
單擊DebugReISettings圖標(biāo)按鈕,即可打開DebugReISettings設(shè)置窗口,進(jìn)行工程的地址設(shè)置、輸出文
件編譯選項(xiàng)設(shè)置等工作,如圖8所示。
?■aaa.*cp
|-DebugRel三]晅$?&A0
|FilesLinkOrder|Targets
圖7工程窗口中的圖標(biāo)按鈕
1.在DebugRelSettings設(shè)置窗口左側(cè)單擊Unker中的ARMLinker選項(xiàng),可以進(jìn)行連接屬性設(shè)置。
2.程序的加載方式:程序的加或方式一般有簡單設(shè)置和分散加載兩種方法.
a)簡單設(shè)置
單擊Output標(biāo)簽,在Linktype一欄中選擇Simple,在ROBase欄中直接寫入程序代碼段的下載地址(如片內(nèi)
RAM地址0x2000,0000),見圖8。這種簡單設(shè)置方法多用于代碼尺寸比較小的,簡單放置在片內(nèi)RAM中即可
的應(yīng)用。
備注一般來講R0指程序之中的代碼,RW指程序中的數(shù)據(jù)。
圖8簡單設(shè)置程序代碼下載地址
b)分散加載
單擊Output標(biāo)簽,在Linktype一欄中選擇Scattered,Scatter欄中單擊“choose”按鈕,選擇相應(yīng)的
分散如栽文件打開,見圖9。分散加載方式需要編寫分散力”載文件大.scf,在分散如我文件中,用戶可以詳細(xì)
的規(guī)劃設(shè)置不同的代碼段在存儲系統(tǒng)中的下載位置。分散加載文件的編寫方法可以詳見ADS的用戶手冊.
圖9設(shè)置分散加載文件
3.設(shè)置程序入口地址
單擊Options標(biāo)簽,在Imageentrypoint一欄中設(shè)置程序的入口地址。程序的入口地址是指代碼通過Multi
一ICE仿真器下載到硬件板卡上的存儲器之后,用戶調(diào)試程序之前PC指針?biāo)赶虻牡刂?。一般將入口地址設(shè)
置為中斷向量表代碼的起始地址。白斷向量表部分代碼被下載到片內(nèi)RAM,所以入口地址設(shè)置為片內(nèi)RAM的
起始地址0x2000,0000,見圖10。
圖10設(shè)置入口地址
4.設(shè)置映像文件分布順序
當(dāng)程序的加載方式為簡單設(shè)置時,單擊Layout標(biāo)簽,用戶可以自行設(shè)置應(yīng)用程序中不同的段在連接器生成
映像文件的分布位置。
在Placeatbeginningofimage欄可以設(shè)置將程序中某一段放置在映像文件的起始部分,即程序代碼首先
執(zhí)行的部分.一般情況F需要把應(yīng)月代碼中有關(guān)復(fù)位和中斷向量表的部分的代碼放在起始部分,見圖11。
圖11設(shè)置映像文件分布
在Placeatendofimage欄,用戶可以設(shè)置將程序中某一段放置在映像文件的最后.建議將RW段中包
含校驗(yàn)碼的部分代碼放在映像文件最后。一般情況下,Placeatendofimage欄可以不添,保持空白.
對于簡單的軟件調(diào)試,可以不進(jìn)行連接地址的設(shè)置,直接單擊工程窗口的Make圖標(biāo)按鈕,即可完成編譯連接。
當(dāng)編譯出錯時,ADS會有相應(yīng)的出錯提示,雙擊出錯提示行提示,編輯窗口即會使用光標(biāo)指出當(dāng)前出錯的
源代碼行,編譯連接輸出窗口如圖12所示.同樣,用戶可以在Project菜單中找到相應(yīng)的命令.
圖12編譯連接輸出窗口
點(diǎn)擊Debug提調(diào)試按鍵,進(jìn)入AXD調(diào)試器,如圖13
圖13
點(diǎn)擊Option菜單欄下的ConfigureTarget,彈出ChooseTarget對話框,如圖14,在沒有添加其它仿真驅(qū)動
程序前,Target標(biāo)簽中只有兩項(xiàng),分別為ADP(JTEG硬件仿真器)和ARMUL(軟件仿真)
圖14ChooseTarget對話框
6.選擇仿真驅(qū)動程序之后,單擊File選擇LoadImage加載大。ELF格式的可執(zhí)行文件,即文.axf文件.
7.備注:當(dāng)工程編譯連接通過之后,在“工程名'工程名_Data\當(dāng)前的生成目標(biāo)”目錄下就會生成一個大。
axf文件。比如工程testl,當(dāng)前的生成目標(biāo)為DebugRel,編譯連接通過之后,則在F:\文檔、桌面文檔
\ARM編程\ARM3章例題\test\test1\test1_Data\DebugRel目錄下生成test*!。axf文件。
8.設(shè)置被調(diào)試處理器屬性
映像文件被加載到硬件板卡上之后,用戶還可以在AXD環(huán)境下設(shè)置目標(biāo)處理器目標(biāo)(target)的屬性,在AXD
中,option菜單下的ConfigureProcessor???,或者鼠標(biāo)右鍵單擊Targrt標(biāo)簽下的處理器內(nèi)核(如ARM7TDM1_0)
標(biāo)記并選擇“properties”,都可以打開處理器屬性設(shè)置窗口,見圖15/16。
在處理器屬性設(shè)置窗口的vectorcatch一欄中,用戶可以設(shè)置AXD調(diào)試器對某種特殊的ARM處理器異
常進(jìn)行截取,并將相應(yīng)信息反饋給用戶方便調(diào)試。AXD的默認(rèn)設(shè)置為“R、U、s、P、D、i、f”,它們分別代
表7種不同的異常,大寫字母表示該種異常被截取.7個字母所分別代表的異常羅列如下:
R復(fù)位模式
U未定義模式
S軟件終端模式
P預(yù)取址中止
D數(shù)據(jù)中止
I普通中斷(IRQ)
F快速中斷(FIQ)
一數(shù)情況下,為了減少調(diào)試出錯的幾率,用戶可以取消所有的異常截取功能,即將7個字母上方空格中
的“V”全部取消。
TargetImageFilesClass
y舉ADkJ*TTRTTVH
LuadXmage...
LoadDebugSymbols...
ReloadImage
UnloadImage
LoadMemoryFromFile...
SaveMemoryToFile...
Views?
Execute>
ShowExecutionContext
Properties..?
Floatwithinmainwindow
3Allowdocking
Hide
圖15設(shè)置處理器屬性一1
圖16設(shè)置處理器屬性一2
6.調(diào)試工具條
AXD運(yùn)行調(diào)試工具條如圖17所示,調(diào)試觀察窗口工具條如圖18所示,文件操作工具條如圖19所示。
A|?){?{?-{}-Fra
圖17運(yùn)行調(diào)試工具條
圖所示工具條中相關(guān)按鈕含義如下:
臥I全速運(yùn)行(Go).
II停止運(yùn)行(Stop).
□單步運(yùn)行(StepIn),與Step命令不同之處在于函數(shù)調(diào)用語句,StepIn命令將進(jìn)入該函數(shù).
□單步運(yùn)行(Step),每次執(zhí)行一條語句,這時函數(shù)調(diào)用將被作為一條語句執(zhí)行。
□單步運(yùn)行(StepOut),執(zhí)行完當(dāng)前被調(diào)用的函數(shù),停止在函數(shù)調(diào)用的下一條語句。
M運(yùn)行到光標(biāo)(RunToCursor),運(yùn)行程序直到當(dāng)前光標(biāo)所在行時停止。
*-I設(shè)置斷點(diǎn)(ToggleBreakPoint)。
回國|回量|18|囤|囪|
圖18調(diào)試觀察窗口工具條
里I打開寄存器窗口(ProcessorRegister).
I打開觀察窗口(ProcessorWatch)o
I?.打開變量觀察窗口(ContextVariable)0
1量打開存儲器觀察窗口(Memory)。
|囪|打開反匯編窗口(Disassembly).
晡|喇—Qg|亶]型典
圖19文件操作工具條
阿I加載調(diào)試文件(LoadImage).
□重新加載文件(ReloadCurrentImage)。由于AXD沒有復(fù)位命令,所以通常使用Reload實(shí)現(xiàn)復(fù)位(直
接更改PC值為0也能實(shí)現(xiàn)復(fù)位)。
0>*g,o*l>
eS何。*?0|的因工區(qū)府EBE|面㈤D叵日?N|j楮◎◎,)f匚良|TW
AMTHKI-L*<IC?MK
V*xi?blevaloe
0?:COMOM
o?eg*ox
r(.??IciMI
ftievqlFt-SVC
D^er/9y>xea
BF:Q
HU?rt
⑥D(zhuǎn)eg】CemsCMJ
A
,?
3“n8u8K788
玩088R0rrEeEe
rT□8口ME788
)100:OW10rrng8FFE?8EB8Ee
比08088rrrte8rnrE78EBMEe
>10?00:30TnTnogoEuS8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025小升初語文測試題及答案
- 2025護(hù)師考試基礎(chǔ)護(hù)理學(xué)練習(xí)題及答案
- (2025)學(xué)法用法考試題及答案
- 物聯(lián)網(wǎng)技術(shù)試題及答案
- 技術(shù)文員考試試題及答案
- 2025年壓力管道巡檢維護(hù)證考試題庫
- 2025電氣設(shè)備購銷合同范本
- 2025計算機(jī)硬件購銷合同
- 知識題庫-人社練兵比武勞動競賽試題及答案(三十三)
- 公司財務(wù)及稅務(wù)知識培訓(xùn)課件
- 醫(yī)患溝通技巧試題及答案
- 牛仔褲廓形趨勢報告
- 年產(chǎn)2000噸電子級超高純石英晶體材料制造項(xiàng)目環(huán)評報告表
- 2025年秋季開學(xué)第一次全體教師大會上校長講話-:想為、敢為、勤為、善為
- 2025年圣經(jīng)神學(xué)考試試題及答案
- 2025年e答網(wǎng)護(hù)士三基考試試題及答案
- 2025年佳木斯市郊區(qū)招聘公益性崗位人員(37人)筆試備考試題附答案詳解(基礎(chǔ)題)
- 基孔肯雅熱醫(yī)院感染防控
- 2025至2030年中國腳踏板總成市場現(xiàn)狀分析及前景預(yù)測報告
- 船舶吊臂維修方案(3篇)
- 信息平臺造價管理辦法
評論
0/150
提交評論