ADS12操作步驟資料_第1頁
ADS12操作步驟資料_第2頁
ADS12操作步驟資料_第3頁
ADS12操作步驟資料_第4頁
ADS12操作步驟資料_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論