ADS開發(fā)工具的使用學(xué)習(xí)教案_第1頁
ADS開發(fā)工具的使用學(xué)習(xí)教案_第2頁
ADS開發(fā)工具的使用學(xué)習(xí)教案_第3頁
ADS開發(fā)工具的使用學(xué)習(xí)教案_第4頁
ADS開發(fā)工具的使用學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1ADS開發(fā)工具的使用開發(fā)工具的使用第一頁,編輯于星期五:十八點(diǎn) 三十二分。系統(tǒng)軟件開發(fā)大致上可分為四個(gè)步驟:1、程序的編輯2、編譯3、鏈接4、調(diào)試。第1頁/共77頁第二頁,編輯于星期五:十八點(diǎn) 三十二分。硬件調(diào)試示意圖 第2頁/共77頁第三頁,編輯于星期五:十八點(diǎn) 三十二分。名稱描述使用方式集成開發(fā)環(huán)境CodeWarrior for ADS,IDE開發(fā)環(huán)境集成了工程管理、程序編輯、編譯和鏈接等功能代碼生成工具 針對(duì)ARM的匯編器,C、C+ 編譯器,鏈接器 DOS命令行方式調(diào)用,或IDE 圖形方式調(diào)用調(diào)試器AXD,ADW/ADU,armsd仿真調(diào)試、下載指令模擬器ARMulator由AX

2、D調(diào)用,軟件仿真ARM開發(fā)包一些底層的例程,實(shí)用程序用戶使用ARM應(yīng)用庫C、C+ 函數(shù)庫等用戶程序使用ARM ADS全稱為 ARM Developer Suite,是 ARM 公司推出的新一代ARM 集成開發(fā)工具。的最新版本是ADS 1.2 ADS集成開發(fā)工具組成部分:第3頁/共77頁第四頁,編輯于星期五:十八點(diǎn) 三十二分。1 1Code Warrior IDECode Warrior IDE簡(jiǎn)介簡(jiǎn)介第4頁/共77頁第五頁,編輯于星期五:十八點(diǎn) 三十二分。2 2AXDAXD調(diào)試器簡(jiǎn)介調(diào)試器簡(jiǎn)介第5頁/共77頁第六頁,編輯于星期五:十八點(diǎn) 三十二分。1 1ADSADS安裝系統(tǒng)包含的可選文件安裝系

3、統(tǒng)包含的可選文件ADS安裝系統(tǒng)包含的組件:Program Files(主程序文件)、Example Files(例子程序)、Online documentation(在線文檔)、Extension kits(擴(kuò)展的ARM仿真工具包)、Applications Library(應(yīng)用庫)等,在安裝過程中可以按照需要選擇安裝。如圖所示。第6頁/共77頁第七頁,編輯于星期五:十八點(diǎn) 三十二分。2 2ADSADS環(huán)境中的重要目錄環(huán)境中的重要目錄假設(shè)ADS1.2開發(fā)工具包的安裝路徑為安裝路徑為install_directory, ARM中中C/C+ 庫的存放位置庫的存放位置:install_directo

4、rylibarmlib; install_directorylibcpplib,對(duì)應(yīng)的頭文件存放在nstall_directoryinclude下。 ARM中工具文件的存放位置中工具文件的存放位置:所有的工具文件都在路徑為install_directorybin的目錄下,在這個(gè)bin目錄下包含了一些非常重要的工具文件,如圖所示。 第7頁/共77頁第八頁,編輯于星期五:十八點(diǎn) 三十二分。第8頁/共77頁第九頁,編輯于星期五:十八點(diǎn) 三十二分。1.1 工程管理窗口介紹1 1為什么要建立工程項(xiàng)目為什么要建立工程項(xiàng)目把相互關(guān)聯(lián)的文件包含在一個(gè)工程項(xiàng)目里,便于管理和編譯。第9頁/共77頁第十頁,編輯于星

5、期五:十八點(diǎn) 三十二分。工程模板的含義分別是:1 1、ARM Executable ImageARM Executable Image:以這個(gè)模板建立的工程項(xiàng)目中,所有源文件中的ARM代碼可編譯成一個(gè)可執(zhí)行的ELF格式的映像文件;2 2、ARM Object LibraryARM Object Library:以這個(gè)模板建立的工程項(xiàng)目中,所有源文件中的ARM代碼可編譯成一個(gè)armar格式的目標(biāo)庫;3 3、Empty ProjectEmpty Project:創(chuàng)建一個(gè)空的工程項(xiàng)目;4 4、Makefile Import WizardMakefile Import Wizard:導(dǎo)入Makefil

6、e文件,編譯后可轉(zhuǎn)化成CodeWarrior工程文件;5 5、Thumb ARM Interworking ImageThumb ARM Interworking Image:以這個(gè)模板建立的工程項(xiàng)目中,支持ARM和Thumb代碼混合編程,所有源代碼可編譯成一個(gè)可執(zhí)行的ELF格式的映像文件;6 6、Thumb Executable ImageThumb Executable Image:以這個(gè)模板建立的工程項(xiàng)目中,所有源文件中的Thumb代碼可編譯成一個(gè)可執(zhí)行的ELF格式的映像文件;7 7、Thumb Object LibraryThumb Object Library:以這個(gè)模板建立的工程項(xiàng)

7、目中,所有源文件中的Thumb代碼可編譯成一個(gè)armar格式的目標(biāo)庫。第10頁/共77頁第十一頁,編輯于星期五:十八點(diǎn) 三十二分。2 2工程管理窗口界面介紹工程管理窗口界面介紹 工程管理窗口提供了編輯、查看、編譯和鏈接工程等多種功能。 工程管理窗口圖: 第11頁/共77頁第十二頁,編輯于星期五:十八點(diǎn) 三十二分。第12頁/共77頁第十三頁,編輯于星期五:十八點(diǎn) 三十二分。第13頁/共77頁第十四頁,編輯于星期五:十八點(diǎn) 三十二分。1 1頭文件下拉菜單頭文件下拉菜單第14頁/共77頁第十五頁,編輯于星期五:十八點(diǎn) 三十二分。2 2函數(shù)下拉萊單函數(shù)下拉萊單 圖中,標(biāo)簽下拉菜單第1行Add mark

8、er是加標(biāo)簽選項(xiàng)按紐,第2行Removemarkers是刪除標(biāo)簽選項(xiàng)按紐。 第15頁/共77頁第十六頁,編輯于星期五:十八點(diǎn) 三十二分。6 6文件修改標(biāo)志文件修改標(biāo)志文件修改標(biāo)志包括 和 ,這兩個(gè)標(biāo)志在編輯屏幕的右上角。如果當(dāng)前程序從上一次存儲(chǔ)以來沒有修改過,則顯示 標(biāo)志;如果程序被修改過,則顯示 標(biāo)志,程序存儲(chǔ)后又重新顯示 標(biāo)志。第16頁/共77頁第十七頁,編輯于星期五:十八點(diǎn) 三十二分。1.3 編輯畫面的設(shè)置第17頁/共77頁第十八頁,編輯于星期五:十八點(diǎn) 三十二分。 1.Editor Settings 1.Editor Settings選項(xiàng)卡選項(xiàng)卡 設(shè)置設(shè)置Remember(保存)選項(xiàng)(

9、保存)選項(xiàng) Font preferences Font preferences系統(tǒng)會(huì)為每個(gè)文件保存程序員輸入時(shí)選定的字體信如果不選擇該選項(xiàng),所有的文件都默認(rèn)由 Codewarrior IDE設(shè)置的字體。 Window position and sizeWindow position and size系統(tǒng)會(huì)自動(dòng)保存程序編輯窗口在關(guān)閉時(shí)的位置和尺寸,以便在下次打開編輯窗口時(shí)與這次完全相同。 Selection positionSelection position該選項(xiàng)決定文件打開時(shí)程序在編輯窗口中的位置。第18頁/共77頁第十九頁,編輯于星期五:十八點(diǎn) 三十二分。 Edit Commands Ed

10、it Commands選擇該選項(xiàng),在編輯器窗口的級(jí)聯(lián)菜單中將包含常用的編輯命令。 Project CommandsProject Commands選擇該選項(xiàng),在編輯器窗口的級(jí)聯(lián)菜中將包含常用的項(xiàng)目操作命令:Compile、Proprocess和Disassemble。 VCS CommandsVCS Commands選擇該選項(xiàng),在編輯器窗口的級(jí)聯(lián)萊中將包含常用的版本控制命令。 Browser CommandsBrowser Commands選擇該選項(xiàng),在編輯器窗口的級(jí)聯(lián)菜中增加一條瀏覽器命令。 Insert Template CommandsInsert Template Commands插入

11、函數(shù)模板選項(xiàng)。 Debugger CommandsDebugger Commands在 CodeWarrior IDE中,Debug功能是不使用的,本選項(xiàng)無效。第19頁/共77頁第二十頁,編輯于星期五:十八點(diǎn) 三十二分。 Balance while typing Balance while typing: :這個(gè)選項(xiàng)要求 CodeWarrior IDE檢測(cè)圓括號(hào)、方括號(hào)和大括弧的匹配性。 Use multiple undo Use multiple undo: :在編輯菜單中,有一個(gè) Undo 功能和一個(gè) Redo 功能。 Relaxed C popup parsing Relaxed C p

12、opup parsing: :如果在源代碼中使用 K&R風(fēng)格的代碼轉(zhuǎn)換,就應(yīng)該選擇該選項(xiàng) Drag and drop editing Drag and drop editing: :將編輯屏幕分割成多個(gè)編輯窗口功能。 Left margin click selects line Left margin click selects line: :左邊沿編輯功能選項(xiàng)。 Sort fuction popup Sort fuction popup: :函數(shù)分類選項(xiàng)。在編輯窗口有一排工具圖標(biāo),其中左邊起第2個(gè)是函數(shù)列表圖標(biāo)。 Enable Virtual Space Enable Virtual Spa

13、ce: :選擇該選項(xiàng),可以在源程序行后面任意位置進(jìn)行插入操作。 Balance Flash Delay Balance Flash Delay: :在上面Balance while typing選項(xiàng)中所應(yīng)用的時(shí)間延時(shí),單位是160 s。 Default file format Default file format: :系統(tǒng)默認(rèn)的文本文件格式第20頁/共77頁第二十一頁,編輯于星期五:十八點(diǎn) 三十二分。第21頁/共77頁第二十二頁,編輯于星期五:十八點(diǎn) 三十二分。 Font settings 具體內(nèi)容如下: Font該選項(xiàng)是字體選項(xiàng)。 Size該選項(xiàng)用于決定輸入字符的尺寸。 Script該欄不

14、是可選項(xiàng),當(dāng)Font欄選擇西文時(shí),該欄顯示“西方”;當(dāng)Font欄選擇中文時(shí),該欄顯示“CHINESE_GB2312”。 Sample樣本顯示欄。 Document tab settings 和和 Global tab settings Tab空格數(shù)。 Auto Indent編輯行自動(dòng)縮進(jìn)選項(xiàng)。 Tab indents selectionTab行縮進(jìn)選項(xiàng)。 Tab Inserts Spaces選擇該選項(xiàng)時(shí),按 Tab鍵時(shí)插入的是空格字符,而不是制表字符。第22頁/共77頁第二十三頁,編輯于星期五:十八點(diǎn) 三十二分。第23頁/共77頁第二十四頁,編輯于星期五:十八點(diǎn) 三十二分。第24頁/共77頁第

15、二十五頁,編輯于星期五:十八點(diǎn) 三十二分。編譯器名稱編譯器種類源文件類型源文件后綴輸出的目標(biāo)文件類型armccCC*.c32位ARM代碼TccCC*.c16位Thumb代碼armcppC+ +C/C+*.c/*.cpp32位ARM代碼TcppC+C/C+*.c/*.cpp16位Thumb代碼ADS1.2集成開發(fā)環(huán)境中的C/C+ 編譯器 第25頁/共77頁第二十六頁,編輯于星期五:十八點(diǎn) 三十二分。用兩種方式實(shí)現(xiàn)同一個(gè)源文件的匯編 第26頁/共77頁第二十七頁,編輯于星期五:十八點(diǎn) 三十二分。DebugRel Settings對(duì)話框第27頁/共77頁第二十八頁,編輯于星期五:十八點(diǎn) 三十二分。1

16、. Target 1. Target 生成目標(biāo)基本選項(xiàng)設(shè)置面板,用于設(shè)置當(dāng)前生成目標(biāo)的一些基本信息。2 2Language SettingsLanguage Settings匯編器、編譯器工具的選項(xiàng)設(shè)置面板,這些選項(xiàng)設(shè)置直接關(guān)系到匯編/編譯工具如何對(duì)工程中所有源文件進(jìn)行匯編和編譯。設(shè)置面板名稱ARM AssemblerARM C CompilerARM C + + CompilerThumb C CompilerThumb C + + Compiler對(duì)應(yīng)工具名稱armasmarmccarmcpptcctcpp3. Linker鏈接器選項(xiàng)設(shè)置面板,用于設(shè)置與鏈接器相關(guān)的選項(xiàng)以及fromELF工

17、具相關(guān)的選項(xiàng)。4. Editor編輯器選項(xiàng)設(shè)置面板,用于設(shè)置用戶個(gè)性化的關(guān)鍵詞顯示方式。5. Debugger調(diào)試器選項(xiàng)設(shè)置面板,用于設(shè)置系統(tǒng)中選用的調(diào)試器以及相關(guān)的配置選項(xiàng)。6. Miscellaneous Settings其他選項(xiàng)設(shè)置面板,用于設(shè)置一些雜類的選項(xiàng)。第28頁/共77頁第二十九頁,編輯于星期五:十八點(diǎn) 三十二分。1.2 ARM匯編器armasm的設(shè)置第29頁/共77頁第三十頁,編輯于星期五:十八點(diǎn) 三十二分。 Architecture or Processor Architecture or Processor設(shè)置目標(biāo)CPU類型,等同于命令行中的-cpu cpu選項(xiàng)。 Floa

18、ting PointFloating Point選擇fpu的體系結(jié)構(gòu),等同于命令行中的-fpu name選項(xiàng)。 Initial StateInitial State設(shè)置初始狀態(tài)下指令代碼類型,等同于命令行中的-16 | -32選項(xiàng)。 Byte OrderByte Order選擇大端或小端數(shù)據(jù)格式,等同于命令行中的-bigend | -littleend選項(xiàng)。 Equivalent Command LineEquivalent Command Line等效的命令行。第30頁/共77頁第三十一頁,編輯于星期五:十八點(diǎn) 三十二分。 Calling Standard Calling Standard該

19、選項(xiàng)欄下指定是否選擇ATPCS標(biāo)準(zhǔn)。 Predeclared Register NamesPredeclared Register Names預(yù)定義寄存器名,如果選中了ATPCS單選框,表示ADS系統(tǒng)默認(rèn)寄存器的預(yù)定義功能。 ARM/Thumb Procedure Call Standard OptionsARM/Thumb Procedure Call Standard Options這個(gè)選項(xiàng)欄中包含了許多子選項(xiàng)。 Software stackSoftware stack是否支持軟件堆棧。第31頁/共77頁第三十二頁,編輯于星期五:十八點(diǎn) 三十二分。第32頁/共77頁第三十三頁,編輯于星期五

20、:十八點(diǎn) 三十二分。 Check Register Lists Check Register Lists寄存器列表順序核對(duì)選項(xiàng)。 No WarningsNo Warnings報(bào)警信息選項(xiàng)。選擇該選項(xiàng)時(shí),匯編時(shí)不生成警告信息。 Source Line DebugSource Line Debug選中該項(xiàng),匯編時(shí)生成DWARF2格式的調(diào)試信息表。 Keep SymbolsKeep Symbols選中該項(xiàng),對(duì)源文件匯編時(shí)會(huì)把局部標(biāo)號(hào)保留在目標(biāo)文件的符號(hào)表中,供調(diào)試使用。 Ignore C-style escape charactersIgnore C-style escape characters選

21、中該選項(xiàng),對(duì)源文件匯編時(shí),忽略C風(fēng)格的換碼字符,如n和t等。 Fault long running Load and Store MultiplesFault long running Load and Store Multiples選擇該選項(xiàng),在對(duì)源程序匯編時(shí),將檢查指令LDM和STM的寄存器列表不得超過5個(gè)。第33頁/共77頁第三十四頁,編輯于星期五:十八點(diǎn) 三十二分。在Variable文本框中填寫count,在Directive下拉框中選擇SETA(下拉框中包括SETA、SETL、SETS),在Numeric文本框中填寫數(shù)字10,然后單擊Add按鈕,則全局變量count定義完畢,并在Li

22、st of Predefines列表欄中會(huì)顯示count SETA 10。第34頁/共77頁第三十五頁,編輯于星期五:十八點(diǎn) 三十二分。 Miscellaneousn Listing on:選中該選項(xiàng),則匯編時(shí)會(huì)生成一個(gè)詳細(xì)的列表文件,文件名與源文件名相同,后綴為.lst。n Terse:精簡(jiǎn)列表文件選項(xiàng)。n Cross-references:符號(hào)交叉引用信息選項(xiàng)。 Dimensions該選項(xiàng)欄中可以定義列表文件寬度和長(zhǎng)度,系統(tǒng)默認(rèn)列表文件79個(gè)字符寬度,66行長(zhǎng)度。 第35頁/共77頁第三十六頁,編輯于星期五:十八點(diǎn) 三十二分。在Via file name編輯欄中可直接填寫相應(yīng)的via文件。

23、該選項(xiàng)等同于命令行方式下的-via filename選項(xiàng)。 7 7未列舉在圖形方式下的其他重要選項(xiàng)未列舉在圖形方式下的其他重要選項(xiàng) -errors errorfile: 錯(cuò)誤列表文件選項(xiàng)。 -o filename: 目標(biāo)文件名選項(xiàng)。第36頁/共77頁第三十七頁,編輯于星期五:十八點(diǎn) 三十二分。armcc編譯器設(shè)置 第37頁/共77頁第三十八頁,編輯于星期五:十八點(diǎn) 三十二分。n Architetore or Process 選項(xiàng): 設(shè)置目標(biāo)CPU類型n Source Language 選項(xiàng): 語言類別。n Byte Order選項(xiàng): 選擇大端小端;n Floating Point選項(xiàng): 選擇f

24、pu的體系結(jié)構(gòu)2 2ATPCSATPCS選項(xiàng)卡選項(xiàng)卡 ATPCS(ARM and Thumb Procedure Call Standard)是ARM和Thumb指令程序互相調(diào)用的標(biāo)準(zhǔn)。 n ARM/Thumb interworking : ARM代碼和Thumb代碼代碼混合使用選項(xiàng);n Software stack check: 軟件數(shù)據(jù)棧檢查選項(xiàng);n Read-only position indepen: 只讀位置選項(xiàng);n Read-write position indeper: 可讀可寫位置選項(xiàng)。第38頁/共77頁第三十九頁,編輯于星期五:十八點(diǎn) 三十二分。No warnings:指定編

25、譯器關(guān)閉所有的報(bào)警信息;Warn for all condition:指定編譯器打開所有的報(bào)警信息;4 4ErrorsErrors選項(xiàng)卡選項(xiàng)卡 Errors選項(xiàng)卡如圖,選用這些選項(xiàng)會(huì)忽略一些錯(cuò)誤信息,這意味著這樣編譯的源程序不嚴(yán)格遵循 C或 C+ 標(biāo)準(zhǔn)。 第39頁/共77頁第四十頁,編輯于星期五:十八點(diǎn) 三十二分。 Debug ControlEnable debug table generation:此選項(xiàng)在編譯輸出的文件中會(huì)包含調(diào)換的信息表;Include preprocessor symbol:此選項(xiàng)對(duì)于宏定義較多的源文件;Enable debug of inline function:此

26、選項(xiàng)不使用函數(shù)的內(nèi)嵌功能。 Optimization LevelMinimum :這是最低級(jí)別的優(yōu)化;Most :這個(gè)級(jí)別的優(yōu)化是不完全優(yōu)化;All :這是一個(gè)對(duì)輸出對(duì)代碼完全優(yōu)化的級(jí)別。 Optimization CriterionFor space :此選項(xiàng)優(yōu)化目標(biāo)代碼的尺寸,而犧牲代碼的執(zhí)行性能;For time :此選項(xiàng)優(yōu)化目標(biāo)代碼的執(zhí)行時(shí)間,而犧牲代碼的存儲(chǔ)空間。第40頁/共77頁第四十一頁,編輯于星期五:十八點(diǎn) 三十二分。6 6PreprocessorPreprocessor選項(xiàng)卡選項(xiàng)卡 此選項(xiàng)卡指定了預(yù)處理器的特性,包括預(yù)處理器的輸出和宏定義。8 8ExtrasExtras選項(xiàng)卡

27、選項(xiàng)卡在這個(gè)選項(xiàng)卡中可以設(shè)置一個(gè)Via格式的配置文件,這樣各種選項(xiàng)就可以從Via配置文件輸入,避免所有選項(xiàng)一一設(shè)置帶來的麻煩。第41頁/共77頁第四十二頁,編輯于星期五:十八點(diǎn) 三十二分。9 9未列舉在圖形方式下的其他重要選項(xiàng)未列舉在圖形方式下的其他重要選項(xiàng) output -format 該選項(xiàng)設(shè)置編譯輸出文件的格式,可以使用這個(gè)選項(xiàng)產(chǎn)生匯編語言的列表文件和生成目標(biāo)文件。 -asm 該選項(xiàng)指定編譯器生成一個(gè)匯編語言的列表文件。 -C 該選項(xiàng)指定編譯器只進(jìn)行編譯但不準(zhǔn)備鏈接。 -S 該選項(xiàng)指定把編譯器生成的匯編指令包含到列表文件中,但與-asm選項(xiàng)不同,該選項(xiàng)不能產(chǎn)生目標(biāo)代碼。 -list 該選

28、項(xiàng)指定編譯器生成一個(gè)列表文件,列表文件包含源程序行、錯(cuò)誤信息和警告信息。文件的內(nèi)容可以使用選項(xiàng)-fi、-fj和-fu控制。 -O filename 該選項(xiàng)指定一個(gè)文件,這個(gè)文件用來存放編譯輸出的結(jié)果。 search Paths該選項(xiàng)設(shè)置包含文件的搜索路徑。 additional check附加核查選項(xiàng)。第42頁/共77頁第四十三頁,編輯于星期五:十八點(diǎn) 三十二分。第43頁/共77頁第四十四頁,編輯于星期五:十八點(diǎn) 三十二分。1 1ARMARM映像文件的組成映像文件的組成 ARM映像文件的組成部分ARM映像文件是一個(gè)層次性結(jié)構(gòu)的文件,其中包含了域(region)、輸出段(output secti

29、on)、輸入段(input section)。 映像文件組成結(jié)構(gòu)示意圖 輸入段:輸入段:輸入段中包含了4類內(nèi)容:代碼、已經(jīng)初始化的數(shù)據(jù)、未經(jīng)過初始化的存儲(chǔ)區(qū)域、內(nèi)容初始化成0的存儲(chǔ)區(qū)域。輸出段:輸出段:一個(gè)輸出段中包含了一系列的具有相同的RO、RW和ZI屬性的輸入段。域:域:一個(gè)域中包含l3個(gè)輸出段,其中各輸出段的屬性各不相同。各輸出段的排列順序是由其屬性決定的。第44頁/共77頁第四十五頁,編輯于星期五:十八點(diǎn) 三十二分。 當(dāng)映像文件中地址映射關(guān)系更復(fù)雜時(shí),可以使用一個(gè)配置文件告訴鏈接器相關(guān)的地址映射關(guān)系。設(shè)置地址映射關(guān)系 第45頁/共77頁第四十六頁,編輯于星期五:十八點(diǎn) 三十二分。 定義

30、初始入口點(diǎn)定義初始入口點(diǎn) 初始入口點(diǎn)必須滿足下面兩個(gè)條件:n 初始入口點(diǎn)必須位于映像文件的運(yùn)行時(shí)域內(nèi);n 包含初始入口點(diǎn)的運(yùn)行時(shí)域不能被覆蓋,它的加載時(shí)地址和運(yùn)行時(shí)地址必須是相同的(這種域稱為固定域root region)。第46頁/共77頁第四十七頁,編輯于星期五:十八點(diǎn) 三十二分??梢允褂面溄舆x項(xiàng) -entry address來指定映像文件的初始入口點(diǎn),也可以在圖形方式下設(shè)置初始入口點(diǎn)地址 普通入口點(diǎn)的用法普通入口點(diǎn)的用法普通的入口點(diǎn)是在匯編程序中用ENTRY偽操作定義。在嵌入式應(yīng)用系統(tǒng)中,各種異常中斷(如IRQ、FIQ、SVC、Undef、Abort)的處理程序的入口使用普通入口點(diǎn)標(biāo)識(shí)。

31、第47頁/共77頁第四十八頁,編輯于星期五:十八點(diǎn) 三十二分??梢允褂面溄舆x項(xiàng) -first、-last來改變輸入段排序順序規(guī)則:n 輸入段的屬性n 輸入段的名稱n 各輸入段在鏈接命令行的輸入段列表中的排列順序。3 3輸入段的排序規(guī)則輸入段的排序規(guī)則各輸入段的起始地址由兩個(gè)因素決定:n 輸出段起始地址n 輸入段在輸出段中的排列順序。 第48頁/共77頁第四十九頁,編輯于星期五:十八點(diǎn) 三十二分。1 1鏈接器生成的與域相關(guān)的符號(hào)鏈接器生成的與域相關(guān)的符號(hào)符號(hào)名稱含 義Load$region_name$Base域region_name的加載時(shí)起始地址。Image$region_name$Base域

32、region_name的運(yùn)行時(shí)起始地址。Image$region_name$Length域region_name運(yùn)行時(shí)的長(zhǎng)度(為4字節(jié)的倍數(shù))。Image$region_name$Limit域region_name運(yùn)行時(shí)存儲(chǔ)區(qū)域末尾的下一個(gè)字節(jié)地址(該地址不屬于域region_name所占的存儲(chǔ)區(qū)域)。對(duì)于只讀的域,使用名稱ER RO;對(duì)于可讀寫的域,使用名稱ER RW;對(duì)于使用0初始化的域,使用名稱ER ZI。第49頁/共77頁第五十頁,編輯于星期五:十八點(diǎn) 三十二分。符號(hào)名稱含 義Image$region_name$ZI$Base域region_name中ZI輸出段的運(yùn)行時(shí)起始地址。Ima

33、ge$region_name$ZI$Length域region_name中ZI輸出段運(yùn)行時(shí)的長(zhǎng)度。Image$region_name$ZI$Limit 域region_name中ZI輸出段運(yùn)行時(shí)存儲(chǔ)區(qū)域末尾的下一個(gè)字節(jié)地址。第50頁/共77頁第五十一頁,編輯于星期五:十八點(diǎn) 三十二分。符號(hào)名稱含 義Image$RO$BaseRO輸出段運(yùn)行時(shí)起始地址。Image$RO$LimitRO輸出段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限。Image$RW$BaseRW輸出段運(yùn)行時(shí)起始地址。Image$RW$LimitRW輸出段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限。Image$ZI$BaseZI輸出段運(yùn)行時(shí)起始地址。Image$ZI$Limit

34、ZI輸出段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限。3 3鏈接器生成的與輸入段相關(guān)的符號(hào)鏈接器生成的與輸入段相關(guān)的符號(hào)符號(hào)名稱含 義SectionName$BaseSectionName 輸入段運(yùn)行時(shí)起始地址。SectionName$LimitSectionName輸入段運(yùn)行時(shí)存儲(chǔ)區(qū)域界限。第51頁/共77頁第五十二頁,編輯于星期五:十八點(diǎn) 三十二分。1.4 鏈接器armlink的設(shè)置 ARM Linker設(shè)置對(duì)話框 第52頁/共77頁第五十三頁,編輯于星期五:十八點(diǎn) 三十二分。第53頁/共77頁第五十四頁,編輯于星期五:十八點(diǎn) 三十二分。 Remove unused sections Remove unused

35、sectionsRead-only Read-only :刪除:刪除RORO類型的未被使用的段;類型的未被使用的段;Read-write Read-write :刪除:刪除RWRW類型的未被使用的段;類型的未被使用的段;Zero-initial Zero-initial :刪除:刪除ZIZI類型的未被使用的段;類型的未被使用的段; Image entry pointImage entry point 設(shè)置映像文件入口點(diǎn)。 其他選項(xiàng)其他選項(xiàng)第54頁/共77頁第五十五頁,編輯于星期五:十八點(diǎn) 三十二分。 Place at beginning of image Place at beginning

36、of image選項(xiàng)組用于指定將某個(gè)輸入段放置在它所在的運(yùn)行時(shí)域的起始位置。 在Object/Symbol文本框中指定一個(gè)符號(hào)名稱,定義本符號(hào)的輸入段被指定。 在Object/Symbol文本框中指定一個(gè)目標(biāo)文件名稱,在Section文本框中指定一個(gè)輸入段名稱,從而確定了一個(gè)輸入段作為指定的輸入段。 Place at end of imagePlace at end of image選項(xiàng)組用于指定將某個(gè)輸入段放置在它所在的執(zhí)行時(shí)域的結(jié)尾,指定一個(gè)輸入段的2種方法與Place at beginning of 選項(xiàng)組相同。第55頁/共77頁第五十六頁,編輯于星期五:十八點(diǎn) 三十二分。第56頁/共7

37、7頁第五十七頁,編輯于星期五:十八點(diǎn) 三十二分。第57頁/共77頁第五十八頁,編輯于星期五:十八點(diǎn) 三十二分。 Make undefined symbols refer to 在該文本框中輸入一個(gè)已經(jīng)定義的全局符號(hào),用來代替映像文件中所有未定義的符號(hào)。 Via file name 在該文本框中選擇一個(gè)via格式的文件。Via格式的文件中包含了ARM鏈接器各命令行的選項(xiàng),ARM鏈接器可以從該為文件中讀取相應(yīng)的鏈接器命令行選項(xiàng)。第58頁/共77頁第五十九頁,編輯于星期五:十八點(diǎn) 三十二分。DebugRel 在生成輸出文件時(shí),會(huì)生成必要的調(diào)試信息;Release 在生成輸出文件時(shí),將不包含調(diào)試信息;

38、Debug 在生成輸出文件時(shí),會(huì)生成完全的調(diào)試信息。第59頁/共77頁第六十頁,編輯于星期五:十八點(diǎn) 三十二分。第60頁/共77頁第六十一頁,編輯于星期五:十八點(diǎn) 三十二分。第61頁/共77頁第六十二頁,編輯于星期五:十八點(diǎn) 三十二分。 設(shè)置設(shè)置Target SettingsTarget Settings選項(xiàng)組選項(xiàng)組3 3)設(shè)置生成目標(biāo)的基本選項(xiàng))設(shè)置生成目標(biāo)的基本選項(xiàng)第62頁/共77頁第六十三頁,編輯于星期五:十八點(diǎn) 三十二分。第63頁/共77頁第六十四頁,編輯于星期五:十八點(diǎn) 三十二分。 User Paths 單選按鈕,用于指定用戶路徑。 System Paths 單選按鈕,用于指定系統(tǒng)路

39、徑。 Always Search User Paths 復(fù)選框,用于指定在用戶路徑中搜索系統(tǒng)頭文件。 其他按鈕其他按鈕第64頁/共77頁第六十五頁,編輯于星期五:十八點(diǎn) 三十二分。第65頁/共77頁第六十六頁,編輯于星期五:十八點(diǎn) 三十二分。 設(shè)置設(shè)置File Mappings選項(xiàng)選項(xiàng)File Mappings選項(xiàng)組的默認(rèn)取值取決于下面兩個(gè)條件:n 當(dāng)前工程項(xiàng)目所使用的工程項(xiàng)目模板類型;n 當(dāng)前的生成目標(biāo)。第66頁/共77頁第六十七頁,編輯于星期五:十八點(diǎn) 三十二分。Name 文本框中為當(dāng)前選中路徑的名稱;Type 下拉列表框可以選擇當(dāng)前選中的路徑的類型;Choose 使用本按鈕可以選擇實(shí)際的

40、路徑;Add按鈕用于添加一條新的路徑選項(xiàng);Change 按鈕用于修改當(dāng)前路徑選項(xiàng);Remove 按鈕用于刪除當(dāng)前路徑選項(xiàng)。 第67頁/共77頁第六十八頁,編輯于星期五:十八點(diǎn) 三十二分。Scatter文件結(jié)構(gòu)示意圖 第68頁/共77頁第六十九頁,編輯于星期五:十八點(diǎn) 三十二分。 輸出段的描述輸出段的描述輸出段的格式如下所示: 輸入段的描述輸入段的描述 輸入段里描述了一個(gè)文本字符串的模式,匹配該模式的輸入段都將被包含在當(dāng)前域中。模式中可以使用匹配符,符號(hào)*代表零個(gè)或者多個(gè)字符,符號(hào)?代表單個(gè)字符。進(jìn)行匹配時(shí),所有字符是大小寫無關(guān)的。Load_namebase_designatorattribute max_sizeoutput_namebase_designator attributemax_size第69頁/共77頁第七十頁,編輯于星期五:十八點(diǎn) 三十二分。Load_10 x4000;定義加載時(shí)域的名稱為L(zhǎng)oad_1,起始地址為0 x4000 ER_RO + 0;輸出段名ER_RO,地址偏移量0,所以起始地址為0 x4000 *( + RO) ;通配符*,包含了所有的RO屬性的輸入段,它們被連續(xù)放置 ER_RW+ 0;輸出段名稱ER_RW,起始地址為前一個(gè)輸出段的結(jié)束地址加偏移量0 *( + RW) ;本輸出段包含所有的RW屬性的輸入段,它們被

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論