




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、會計學1ADS開發工具的使用開發工具的使用系統軟件開發大致上可分為四個步驟:1、程序的編輯2、編譯3、鏈接4、調試。第1頁/共77頁硬件調試示意圖 第2頁/共77頁名稱描述使用方式集成開發環境CodeWarrior for ADS,IDE開發環境集成了工程管理、程序編輯、編譯和鏈接等功能代碼生成工具 針對ARM的匯編器,C、C+ 編譯器,鏈接器 DOS命令行方式調用,或IDE 圖形方式調用調試器AXD,ADW/ADU,armsd仿真調試、下載指令模擬器ARMulator由AXD調用,軟件仿真ARM開發包一些底層的例程,實用程序用戶使用ARM應用庫C、C+ 函數庫等用戶程序使用ARM ADS全稱
2、為 ARM Developer Suite,是 ARM 公司推出的新一代ARM 集成開發工具。的最新版本是ADS 1.2 ADS集成開發工具組成部分:第3頁/共77頁1 1Code Warrior IDECode Warrior IDE簡介簡介第4頁/共77頁2 2AXDAXD調試器簡介調試器簡介第5頁/共77頁1 1ADSADS安裝系統包含的可選文件安裝系統包含的可選文件ADS安裝系統包含的組件:Program Files(主程序文件)、Example Files(例子程序)、Online documentation(在線文檔)、Extension kits(擴展的ARM仿真工具包)、App
3、lications Library(應用庫)等,在安裝過程中可以按照需要選擇安裝。如圖所示。第6頁/共77頁2 2ADSADS環境中的重要目錄環境中的重要目錄假設ADS1.2開發工具包的安裝路徑為安裝路徑為install_directory, ARM中中C/C+ 庫的存放位置庫的存放位置:install_directorylibarmlib; install_directorylibcpplib,對應的頭文件存放在nstall_directoryinclude下。 ARM中工具文件的存放位置中工具文件的存放位置:所有的工具文件都在路徑為install_directorybin的目錄下,在這個b
4、in目錄下包含了一些非常重要的工具文件,如圖所示。 第7頁/共77頁第8頁/共77頁1.1 工程管理窗口介紹1 1為什么要建立工程項目為什么要建立工程項目把相互關聯的文件包含在一個工程項目里,便于管理和編譯。第9頁/共77頁工程模板的含義分別是:1 1、ARM Executable ImageARM Executable Image:以這個模板建立的工程項目中,所有源文件中的ARM代碼可編譯成一個可執行的ELF格式的映像文件;2 2、ARM Object LibraryARM Object Library:以這個模板建立的工程項目中,所有源文件中的ARM代碼可編譯成一個armar格式的目標庫;
5、3 3、Empty ProjectEmpty Project:創建一個空的工程項目;4 4、Makefile Import WizardMakefile Import Wizard:導入Makefile文件,編譯后可轉化成CodeWarrior工程文件;5 5、Thumb ARM Interworking ImageThumb ARM Interworking Image:以這個模板建立的工程項目中,支持ARM和Thumb代碼混合編程,所有源代碼可編譯成一個可執行的ELF格式的映像文件;6 6、Thumb Executable ImageThumb Executable Image:以這個模板
6、建立的工程項目中,所有源文件中的Thumb代碼可編譯成一個可執行的ELF格式的映像文件;7 7、Thumb Object LibraryThumb Object Library:以這個模板建立的工程項目中,所有源文件中的Thumb代碼可編譯成一個armar格式的目標庫。第10頁/共77頁2 2工程管理窗口界面介紹工程管理窗口界面介紹 工程管理窗口提供了編輯、查看、編譯和鏈接工程等多種功能。 工程管理窗口圖: 第11頁/共77頁第12頁/共77頁第13頁/共77頁1 1頭文件下拉菜單頭文件下拉菜單第14頁/共77頁2 2函數下拉萊單函數下拉萊單 圖中,標簽下拉菜單第1行Add marker是加標
7、簽選項按紐,第2行Removemarkers是刪除標簽選項按紐。 第15頁/共77頁6 6文件修改標志文件修改標志文件修改標志包括 和 ,這兩個標志在編輯屏幕的右上角。如果當前程序從上一次存儲以來沒有修改過,則顯示 標志;如果程序被修改過,則顯示 標志,程序存儲后又重新顯示 標志。第16頁/共77頁1.3 編輯畫面的設置第17頁/共77頁 1.Editor Settings 1.Editor Settings選項卡選項卡 設置設置Remember(保存)選項(保存)選項 Font preferences Font preferences系統會為每個文件保存程序員輸入時選定的字體信如果不選擇該選
8、項,所有的文件都默認由 Codewarrior IDE設置的字體。 Window position and sizeWindow position and size系統會自動保存程序編輯窗口在關閉時的位置和尺寸,以便在下次打開編輯窗口時與這次完全相同。 Selection positionSelection position該選項決定文件打開時程序在編輯窗口中的位置。第18頁/共77頁 Edit Commands Edit Commands選擇該選項,在編輯器窗口的級聯菜單中將包含常用的編輯命令。 Project CommandsProject Commands選擇該選項,在編輯器窗口的級聯菜
9、中將包含常用的項目操作命令:Compile、Proprocess和Disassemble。 VCS CommandsVCS Commands選擇該選項,在編輯器窗口的級聯萊中將包含常用的版本控制命令。 Browser CommandsBrowser Commands選擇該選項,在編輯器窗口的級聯菜中增加一條瀏覽器命令。 Insert Template CommandsInsert Template Commands插入函數模板選項。 Debugger CommandsDebugger Commands在 CodeWarrior IDE中,Debug功能是不使用的,本選項無效。第19頁/共77頁
10、 Balance while typing Balance while typing: :這個選項要求 CodeWarrior IDE檢測圓括號、方括號和大括弧的匹配性。 Use multiple undo Use multiple undo: :在編輯菜單中,有一個 Undo 功能和一個 Redo 功能。 Relaxed C popup parsing Relaxed C popup parsing: :如果在源代碼中使用 K&R風格的代碼轉換,就應該選擇該選項 Drag and drop editing Drag and drop editing: :將編輯屏幕分割成多個編輯窗口功能。 L
11、eft margin click selects line Left margin click selects line: :左邊沿編輯功能選項。 Sort fuction popup Sort fuction popup: :函數分類選項。在編輯窗口有一排工具圖標,其中左邊起第2個是函數列表圖標。 Enable Virtual Space Enable Virtual Space: :選擇該選項,可以在源程序行后面任意位置進行插入操作。 Balance Flash Delay Balance Flash Delay: :在上面Balance while typing選項中所應用的時間延時,單
12、位是160 s。 Default file format Default file format: :系統默認的文本文件格式第20頁/共77頁第21頁/共77頁 Font settings 具體內容如下: Font該選項是字體選項。 Size該選項用于決定輸入字符的尺寸。 Script該欄不是可選項,當Font欄選擇西文時,該欄顯示“西方”;當Font欄選擇中文時,該欄顯示“CHINESE_GB2312”。 Sample樣本顯示欄。 Document tab settings 和和 Global tab settings Tab空格數。 Auto Indent編輯行自動縮進選項。 Tab in
13、dents selectionTab行縮進選項。 Tab Inserts Spaces選擇該選項時,按 Tab鍵時插入的是空格字符,而不是制表字符。第22頁/共77頁第23頁/共77頁第24頁/共77頁編譯器名稱編譯器種類源文件類型源文件后綴輸出的目標文件類型armccCC*.c32位ARM代碼TccCC*.c16位Thumb代碼armcppC+ +C/C+*.c/*.cpp32位ARM代碼TcppC+C/C+*.c/*.cpp16位Thumb代碼ADS1.2集成開發環境中的C/C+ 編譯器 第25頁/共77頁用兩種方式實現同一個源文件的匯編 第26頁/共77頁DebugRel Setting
14、s對話框第27頁/共77頁1. Target 1. Target 生成目標基本選項設置面板,用于設置當前生成目標的一些基本信息。2 2Language SettingsLanguage Settings匯編器、編譯器工具的選項設置面板,這些選項設置直接關系到匯編/編譯工具如何對工程中所有源文件進行匯編和編譯。設置面板名稱ARM AssemblerARM C CompilerARM C + + CompilerThumb C CompilerThumb C + + Compiler對應工具名稱armasmarmccarmcpptcctcpp3. Linker鏈接器選項設置面板,用于設置與鏈接器相
15、關的選項以及fromELF工具相關的選項。4. Editor編輯器選項設置面板,用于設置用戶個性化的關鍵詞顯示方式。5. Debugger調試器選項設置面板,用于設置系統中選用的調試器以及相關的配置選項。6. Miscellaneous Settings其他選項設置面板,用于設置一些雜類的選項。第28頁/共77頁1.2 ARM匯編器armasm的設置第29頁/共77頁 Architecture or Processor Architecture or Processor設置目標CPU類型,等同于命令行中的-cpu cpu選項。 Floating PointFloating Point選擇fpu
16、的體系結構,等同于命令行中的-fpu name選項。 Initial StateInitial State設置初始狀態下指令代碼類型,等同于命令行中的-16 | -32選項。 Byte OrderByte Order選擇大端或小端數據格式,等同于命令行中的-bigend | -littleend選項。 Equivalent Command LineEquivalent Command Line等效的命令行。第30頁/共77頁 Calling Standard Calling Standard該選項欄下指定是否選擇ATPCS標準。 Predeclared Register NamesPredec
17、lared Register Names預定義寄存器名,如果選中了ATPCS單選框,表示ADS系統默認寄存器的預定義功能。 ARM/Thumb Procedure Call Standard OptionsARM/Thumb Procedure Call Standard Options這個選項欄中包含了許多子選項。 Software stackSoftware stack是否支持軟件堆棧。第31頁/共77頁第32頁/共77頁 Check Register Lists Check Register Lists寄存器列表順序核對選項。 No WarningsNo Warnings報警信息選項。選
18、擇該選項時,匯編時不生成警告信息。 Source Line DebugSource Line Debug選中該項,匯編時生成DWARF2格式的調試信息表。 Keep SymbolsKeep Symbols選中該項,對源文件匯編時會把局部標號保留在目標文件的符號表中,供調試使用。 Ignore C-style escape charactersIgnore C-style escape characters選中該選項,對源文件匯編時,忽略C風格的換碼字符,如n和t等。 Fault long running Load and Store MultiplesFault long running Lo
19、ad and Store Multiples選擇該選項,在對源程序匯編時,將檢查指令LDM和STM的寄存器列表不得超過5個。第33頁/共77頁在Variable文本框中填寫count,在Directive下拉框中選擇SETA(下拉框中包括SETA、SETL、SETS),在Numeric文本框中填寫數字10,然后單擊Add按鈕,則全局變量count定義完畢,并在List of Predefines列表欄中會顯示count SETA 10。第34頁/共77頁 Miscellaneousn Listing on:選中該選項,則匯編時會生成一個詳細的列表文件,文件名與源文件名相同,后綴為.lst。n
20、Terse:精簡列表文件選項。n Cross-references:符號交叉引用信息選項。 Dimensions該選項欄中可以定義列表文件寬度和長度,系統默認列表文件79個字符寬度,66行長度。 第35頁/共77頁在Via file name編輯欄中可直接填寫相應的via文件。該選項等同于命令行方式下的-via filename選項。 7 7未列舉在圖形方式下的其他重要選項未列舉在圖形方式下的其他重要選項 -errors errorfile: 錯誤列表文件選項。 -o filename: 目標文件名選項。第36頁/共77頁armcc編譯器設置 第37頁/共77頁n Architetore or
21、 Process 選項: 設置目標CPU類型n Source Language 選項: 語言類別。n Byte Order選項: 選擇大端小端;n Floating Point選項: 選擇fpu的體系結構2 2ATPCSATPCS選項卡選項卡 ATPCS(ARM and Thumb Procedure Call Standard)是ARM和Thumb指令程序互相調用的標準。 n ARM/Thumb interworking : ARM代碼和Thumb代碼代碼混合使用選項;n Software stack check: 軟件數據棧檢查選項;n Read-only position indepen
22、: 只讀位置選項;n Read-write position indeper: 可讀可寫位置選項。第38頁/共77頁No warnings:指定編譯器關閉所有的報警信息;Warn for all condition:指定編譯器打開所有的報警信息;4 4ErrorsErrors選項卡選項卡 Errors選項卡如圖,選用這些選項會忽略一些錯誤信息,這意味著這樣編譯的源程序不嚴格遵循 C或 C+ 標準。 第39頁/共77頁 Debug ControlEnable debug table generation:此選項在編譯輸出的文件中會包含調換的信息表;Include preprocessor sym
23、bol:此選項對于宏定義較多的源文件;Enable debug of inline function:此選項不使用函數的內嵌功能。 Optimization LevelMinimum :這是最低級別的優化;Most :這個級別的優化是不完全優化;All :這是一個對輸出對代碼完全優化的級別。 Optimization CriterionFor space :此選項優化目標代碼的尺寸,而犧牲代碼的執行性能;For time :此選項優化目標代碼的執行時間,而犧牲代碼的存儲空間。第40頁/共77頁6 6PreprocessorPreprocessor選項卡選項卡 此選項卡指定了預處理器的特性,包括
24、預處理器的輸出和宏定義。8 8ExtrasExtras選項卡選項卡在這個選項卡中可以設置一個Via格式的配置文件,這樣各種選項就可以從Via配置文件輸入,避免所有選項一一設置帶來的麻煩。第41頁/共77頁9 9未列舉在圖形方式下的其他重要選項未列舉在圖形方式下的其他重要選項 output -format 該選項設置編譯輸出文件的格式,可以使用這個選項產生匯編語言的列表文件和生成目標文件。 -asm 該選項指定編譯器生成一個匯編語言的列表文件。 -C 該選項指定編譯器只進行編譯但不準備鏈接。 -S 該選項指定把編譯器生成的匯編指令包含到列表文件中,但與-asm選項不同,該選項不能產生目標代碼。
25、-list 該選項指定編譯器生成一個列表文件,列表文件包含源程序行、錯誤信息和警告信息。文件的內容可以使用選項-fi、-fj和-fu控制。 -O filename 該選項指定一個文件,這個文件用來存放編譯輸出的結果。 search Paths該選項設置包含文件的搜索路徑。 additional check附加核查選項。第42頁/共77頁第43頁/共77頁1 1ARMARM映像文件的組成映像文件的組成 ARM映像文件的組成部分ARM映像文件是一個層次性結構的文件,其中包含了域(region)、輸出段(output section)、輸入段(input section)。 映像文件組成結構示意圖
26、輸入段:輸入段:輸入段中包含了4類內容:代碼、已經初始化的數據、未經過初始化的存儲區域、內容初始化成0的存儲區域。輸出段:輸出段:一個輸出段中包含了一系列的具有相同的RO、RW和ZI屬性的輸入段。域:域:一個域中包含l3個輸出段,其中各輸出段的屬性各不相同。各輸出段的排列順序是由其屬性決定的。第44頁/共77頁 當映像文件中地址映射關系更復雜時,可以使用一個配置文件告訴鏈接器相關的地址映射關系。設置地址映射關系 第45頁/共77頁 定義初始入口點定義初始入口點 初始入口點必須滿足下面兩個條件:n 初始入口點必須位于映像文件的運行時域內;n 包含初始入口點的運行時域不能被覆蓋,它的加載時地址和運
27、行時地址必須是相同的(這種域稱為固定域root region)。第46頁/共77頁可以使用鏈接選項 -entry address來指定映像文件的初始入口點,也可以在圖形方式下設置初始入口點地址 普通入口點的用法普通入口點的用法普通的入口點是在匯編程序中用ENTRY偽操作定義。在嵌入式應用系統中,各種異常中斷(如IRQ、FIQ、SVC、Undef、Abort)的處理程序的入口使用普通入口點標識。第47頁/共77頁可以使用鏈接選項 -first、-last來改變輸入段排序順序規則:n 輸入段的屬性n 輸入段的名稱n 各輸入段在鏈接命令行的輸入段列表中的排列順序。3 3輸入段的排序規則輸入段的排序規
28、則各輸入段的起始地址由兩個因素決定:n 輸出段起始地址n 輸入段在輸出段中的排列順序。 第48頁/共77頁1 1鏈接器生成的與域相關的符號鏈接器生成的與域相關的符號符號名稱含 義Load$region_name$Base域region_name的加載時起始地址。Image$region_name$Base域region_name的運行時起始地址。Image$region_name$Length域region_name運行時的長度(為4字節的倍數)。Image$region_name$Limit域region_name運行時存儲區域末尾的下一個字節地址(該地址不屬于域region_name所占的
29、存儲區域)。對于只讀的域,使用名稱ER RO;對于可讀寫的域,使用名稱ER RW;對于使用0初始化的域,使用名稱ER ZI。第49頁/共77頁符號名稱含 義Image$region_name$ZI$Base域region_name中ZI輸出段的運行時起始地址。Image$region_name$ZI$Length域region_name中ZI輸出段運行時的長度。Image$region_name$ZI$Limit 域region_name中ZI輸出段運行時存儲區域末尾的下一個字節地址。第50頁/共77頁符號名稱含 義Image$RO$BaseRO輸出段運行時起始地址。Image$RO$Limi
30、tRO輸出段運行時存儲區域界限。Image$RW$BaseRW輸出段運行時起始地址。Image$RW$LimitRW輸出段運行時存儲區域界限。Image$ZI$BaseZI輸出段運行時起始地址。Image$ZI$LimitZI輸出段運行時存儲區域界限。3 3鏈接器生成的與輸入段相關的符號鏈接器生成的與輸入段相關的符號符號名稱含 義SectionName$BaseSectionName 輸入段運行時起始地址。SectionName$LimitSectionName輸入段運行時存儲區域界限。第51頁/共77頁1.4 鏈接器armlink的設置 ARM Linker設置對話框 第52頁/共77頁第5
31、3頁/共77頁 Remove unused sections Remove unused sectionsRead-only Read-only :刪除:刪除RORO類型的未被使用的段;類型的未被使用的段;Read-write Read-write :刪除:刪除RWRW類型的未被使用的段;類型的未被使用的段;Zero-initial Zero-initial :刪除:刪除ZIZI類型的未被使用的段;類型的未被使用的段; Image entry pointImage entry point 設置映像文件入口點。 其他選項其他選項第54頁/共77頁 Place at beginning of im
32、age Place at beginning of image選項組用于指定將某個輸入段放置在它所在的運行時域的起始位置。 在Object/Symbol文本框中指定一個符號名稱,定義本符號的輸入段被指定。 在Object/Symbol文本框中指定一個目標文件名稱,在Section文本框中指定一個輸入段名稱,從而確定了一個輸入段作為指定的輸入段。 Place at end of imagePlace at end of image選項組用于指定將某個輸入段放置在它所在的執行時域的結尾,指定一個輸入段的2種方法與Place at beginning of 選項組相同。第55頁/共77頁第56頁/共
33、77頁第57頁/共77頁 Make undefined symbols refer to 在該文本框中輸入一個已經定義的全局符號,用來代替映像文件中所有未定義的符號。 Via file name 在該文本框中選擇一個via格式的文件。Via格式的文件中包含了ARM鏈接器各命令行的選項,ARM鏈接器可以從該為文件中讀取相應的鏈接器命令行選項。第58頁/共77頁DebugRel 在生成輸出文件時,會生成必要的調試信息;Release 在生成輸出文件時,將不包含調試信息;Debug 在生成輸出文件時,會生成完全的調試信息。第59頁/共77頁第60頁/共77頁第61頁/共77頁 設置設置Target
34、SettingsTarget Settings選項組選項組3 3)設置生成目標的基本選項)設置生成目標的基本選項第62頁/共77頁第63頁/共77頁 User Paths 單選按鈕,用于指定用戶路徑。 System Paths 單選按鈕,用于指定系統路徑。 Always Search User Paths 復選框,用于指定在用戶路徑中搜索系統頭文件。 其他按鈕其他按鈕第64頁/共77頁第65頁/共77頁 設置設置File Mappings選項選項File Mappings選項組的默認取值取決于下面兩個條件:n 當前工程項目所使用的工程項目模板類型;n 當前的生成目標。第66頁/共77頁Name
35、 文本框中為當前選中路徑的名稱;Type 下拉列表框可以選擇當前選中的路徑的類型;Choose 使用本按鈕可以選擇實際的路徑;Add按鈕用于添加一條新的路徑選項;Change 按鈕用于修改當前路徑選項;Remove 按鈕用于刪除當前路徑選項。 第67頁/共77頁Scatter文件結構示意圖 第68頁/共77頁 輸出段的描述輸出段的描述輸出段的格式如下所示: 輸入段的描述輸入段的描述 輸入段里描述了一個文本字符串的模式,匹配該模式的輸入段都將被包含在當前域中。模式中可以使用匹配符,符號*代表零個或者多個字符,符號?代表單個字符。進行匹配時,所有字符是大小寫無關的。Load_namebase_designatorattribute max_sizeoutput_namebase_designator attributemax_size第69頁/共77頁Load_10 x4000;定義加載時域的名稱為Load_1,起始地址為0 x4000 ER_RO + 0;輸出段名ER_RO,地址偏移量0,所以起始地址為0 x4000 *( + RO) ;通配符*,包含了所有的RO屬性的輸入段,它們被連續放置 ER_RW+ 0;輸出段名稱ER_RW,起始地址為前一個輸出段的結束地址加偏移量0 *( + RW) ;本輸出段包含所有的RW屬性的輸入段,它們被連續放置ER_ZI 0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論