版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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)庫功能強等特點,可以在Windows98、WindowsXP、
Windows2000以及RedHatLinux上運行。
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ā)包一些底層的例程,實用程序(如fromELF)實用程序由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
二遠程協(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菜單項即彈出New對話框,如圖2所示。
Hew
圖2New對話框
選擇□-程模板為ARM叩執(zhí)行映像(ARMExecutabIeImage),Thumb可執(zhí)行映像(ThumbExecutabIeImage),
或者Thumb和ARM交織映像(ThumbARMInterworkingImage),然后在Location項選擇工程存放路徑,
并在ProjectName項輸入工程名稱,單擊“確定”按鈕即可建立相應(yīng)工程,工程文件后綴為。mcp,具體
如圖3。
圖3新建工程
會彈出testl。cmp工程管理對話框,,此時沒有文件,管理文檔的對話框時空的,點擊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所示為工程窗口中的圖標按鈕,通過這些圖標按鈕,用戶可以快速的進行工程設(shè)置、編譯連接、
啟動調(diào)試等等(在不同的菜單項上可以分別找到對應(yīng)的菜單命令)。它們從左到右分別為:
/DebugReISettings:工程設(shè)置,如地址設(shè)置、輸出文件設(shè)置和編譯選項等,其中DebugReI為當前的
生成目標。
/SynchronizeModificationDates:同步修改日期,檢查工程中每個文件的修改日期,若發(fā)現(xiàn)有更新,
則在Touch欄標記“J”。
/Make:編譯連接(快捷鍵為F7)。
/Ddebug:啟動AXD進行調(diào)試(快捷鍵為F5).
/Run:啟動AXD進行調(diào)試,并直接運行程序。
ProjectInspector:工程檢查,查看和配置工程中源文件的信息.
單擊DebugReISettings圖標按鈕,即可打開DebugReISettings設(shè)置窗口,進行工程的地址設(shè)置、輸出文
件編譯選項設(shè)置等工作,如圖8所示。
?■aaa.*cp
|-DebugRel三]晅$?&A0
|FilesLinkOrder|Targets
圖7工程窗口中的圖標按鈕
1.在DebugRelSettings設(shè)置窗口左側(cè)單擊Unker中的ARMLinker選項,可以進行連接屬性設(shè)置。
2.程序的加載方式:程序的加或方式一般有簡單設(shè)置和分散加載兩種方法.
a)簡單設(shè)置
單擊Output標簽,在Linktype一欄中選擇Simple,在ROBase欄中直接寫入程序代碼段的下載地址(如片內(nèi)
RAM地址0x2000,0000),見圖8。這種簡單設(shè)置方法多用于代碼尺寸比較小的,簡單放置在片內(nèi)RAM中即可
的應(yīng)用。
備注一般來講R0指程序之中的代碼,RW指程序中的數(shù)據(jù)。
圖8簡單設(shè)置程序代碼下載地址
b)分散加載
單擊Output標簽,在Linktype一欄中選擇Scattered,Scatter欄中單擊“choose”按鈕,選擇相應(yīng)的
分散如栽文件打開,見圖9。分散加載方式需要編寫分散力”載文件大.scf,在分散如我文件中,用戶可以詳細
的規(guī)劃設(shè)置不同的代碼段在存儲系統(tǒng)中的下載位置。分散加載文件的編寫方法可以詳見ADS的用戶手冊.
圖9設(shè)置分散加載文件
3.設(shè)置程序入口地址
單擊Options標簽,在Imageentrypoint一欄中設(shè)置程序的入口地址。程序的入口地址是指代碼通過Multi
一ICE仿真器下載到硬件板卡上的存儲器之后,用戶調(diào)試程序之前PC指針所指向的地址。一般將入口地址設(shè)
置為中斷向量表代碼的起始地址。白斷向量表部分代碼被下載到片內(nèi)RAM,所以入口地址設(shè)置為片內(nèi)RAM的
起始地址0x2000,0000,見圖10。
圖10設(shè)置入口地址
4.設(shè)置映像文件分布順序
當程序的加載方式為簡單設(shè)置時,單擊Layout標簽,用戶可以自行設(shè)置應(yīng)用程序中不同的段在連接器生成
映像文件的分布位置。
在Placeatbeginningofimage欄可以設(shè)置將程序中某一段放置在映像文件的起始部分,即程序代碼首先
執(zhí)行的部分.一般情況F需要把應(yīng)月代碼中有關(guān)復位和中斷向量表的部分的代碼放在起始部分,見圖11。
圖11設(shè)置映像文件分布
在Placeatendofimage欄,用戶可以設(shè)置將程序中某一段放置在映像文件的最后.建議將RW段中包
含校驗碼的部分代碼放在映像文件最后。一般情況下,Placeatendofimage欄可以不添,保持空白.
對于簡單的軟件調(diào)試,可以不進行連接地址的設(shè)置,直接單擊工程窗口的Make圖標按鈕,即可完成編譯連接。
當編譯出錯時,ADS會有相應(yīng)的出錯提示,雙擊出錯提示行提示,編輯窗口即會使用光標指出當前出錯的
源代碼行,編譯連接輸出窗口如圖12所示.同樣,用戶可以在Project菜單中找到相應(yīng)的命令.
圖12編譯連接輸出窗口
點擊Debug提調(diào)試按鍵,進入AXD調(diào)試器,如圖13
圖13
點擊Option菜單欄下的ConfigureTarget,彈出ChooseTarget對話框,如圖14,在沒有添加其它仿真驅(qū)動
程序前,Target標簽中只有兩項,分別為ADP(JTEG硬件仿真器)和ARMUL(軟件仿真)
圖14ChooseTarget對話框
6.選擇仿真驅(qū)動程序之后,單擊File選擇LoadImage加載大。ELF格式的可執(zhí)行文件,即文.axf文件.
7.備注:當工程編譯連接通過之后,在“工程名'工程名_Data\當前的生成目標”目錄下就會生成一個大。
axf文件。比如工程testl,當前的生成目標為DebugRel,編譯連接通過之后,則在F:\文檔、桌面文檔
\ARM編程\ARM3章例題\test\test1\test1_Data\DebugRel目錄下生成test*!。axf文件。
8.設(shè)置被調(diào)試處理器屬性
映像文件被加載到硬件板卡上之后,用戶還可以在AXD環(huán)境下設(shè)置目標處理器目標(target)的屬性,在AXD
中,option菜單下的ConfigureProcessor???,或者鼠標右鍵單擊Targrt標簽下的處理器內(nèi)核(如ARM7TDM1_0)
標記并選擇“properties”,都可以打開處理器屬性設(shè)置窗口,見圖15/16。
在處理器屬性設(shè)置窗口的vectorcatch一欄中,用戶可以設(shè)置AXD調(diào)試器對某種特殊的ARM處理器異
常進行截取,并將相應(yīng)信息反饋給用戶方便調(diào)試。AXD的默認設(shè)置為“R、U、s、P、D、i、f”,它們分別代
表7種不同的異常,大寫字母表示該種異常被截取.7個字母所分別代表的異常羅列如下:
R復位模式
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運行調(diào)試工具條如圖17所示,調(diào)試觀察窗口工具條如圖18所示,文件操作工具條如圖19所示。
A|?){?{?-{}-Fra
圖17運行調(diào)試工具條
圖所示工具條中相關(guān)按鈕含義如下:
臥I全速運行(Go).
II停止運行(Stop).
□單步運行(StepIn),與Step命令不同之處在于函數(shù)調(diào)用語句,StepIn命令將進入該函數(shù).
□單步運行(Step),每次執(zhí)行一條語句,這時函數(shù)調(diào)用將被作為一條語句執(zhí)行。
□單步運行(StepOut),執(zhí)行完當前被調(diào)用的函數(shù),停止在函數(shù)調(diào)用的下一條語句。
M運行到光標(RunToCursor),運行程序直到當前光標所在行時停止。
*-I設(shè)置斷點(ToggleBreakPoint)。
回國|回量|18|囤|囪|
圖18調(diào)試觀察窗口工具條
里I打開寄存器窗口(ProcessorRegister).
I打開觀察窗口(ProcessorWatch)o
I?.打開變量觀察窗口(ContextVariable)0
1量打開存儲器觀察窗口(Memory)。
|囪|打開反匯編窗口(Disassembly).
晡|喇—Qg|亶]型典
圖19文件操作工具條
阿I加載調(diào)試文件(LoadImage).
□重新加載文件(ReloadCurrentImage)。由于AXD沒有復位命令,所以通常使用Reload實現(xiàn)復位(直
接更改PC值為0也能實現(xiàn)復位)。
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年黑龍江農(nóng)墾職業(yè)學院單招綜合素質(zhì)考試模擬試題含詳細答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考貴州省民政廳招聘10人參考考試題庫及答案解析
- 2026南光集團校園招聘考試重點題庫及答案解析
- 2026年阿壩職業(yè)學院單招綜合素質(zhì)考試參考題庫含詳細答案解析
- 2026年江西婺源茶業(yè)職業(yè)學院單招綜合素質(zhì)考試備考試題含詳細答案解析
- 2026年江陰職業(yè)技術(shù)學院單招職業(yè)技能考試備考試題含詳細答案解析
- 2026年南京旅游職業(yè)學院單招綜合素質(zhì)考試模擬試題含詳細答案解析
- 2026年江西青年職業(yè)學院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026河南中原再擔保集團科技融資擔保有限公司招聘4人考試重點試題及答案解析
- 2026年石家莊人民醫(yī)學高等??茖W校單招職業(yè)技能考試備考題庫含詳細答案解析
- 化工工藝安全管理與操作手冊
- 規(guī)范外匯交易管理制度
- 2026年美麗中國全國國家版圖知識競賽考試題庫(含答案)
- 《橋涵設(shè)計》課件-2-3 橋梁設(shè)計與建設(shè)程序
- 漫威行業(yè)分析報告
- 課題立項申報書 雙減
- 術(shù)后譫妄的麻醉藥物優(yōu)化策略
- 水電暖通消防工程施工組織設(shè)計方案
- 風電場高效風機選型方案
- 衛(wèi)生院消防安全教育
- 基于人工智能的腦卒中預(yù)后預(yù)測方案
評論
0/150
提交評論