娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

ARM ADS集成開發(fā)環(huán)境的使用

發(fā)布者:真誠的友誼最新更新時間:2021-03-17 來源: eefocus關(guān)鍵字:ARM  ADS  集成開發(fā)環(huán)境 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

8.1ADS集成開發(fā)環(huán)境組成介紹


ARM ADS全稱為ARM Developer Suite。是ARM公司推出的新一代ARM集成開發(fā)工具。現(xiàn)在ADS的最新版本是1.2,它取代了早期的ADS1.1和ADS1.0。它除了可以安裝在Windows NT4,Windows 2000,Windows 98和Windows 95操作系統(tǒng)下,還支持Windows XP和Windows Me操作系統(tǒng)。


ADS由命令行開發(fā)工具,ARM時實庫,GUI開發(fā)環(huán)境(Code Warrior和AXD),實用程序和支持軟件組成。有了這些部件,用戶就可以為ARM系列的RISC處理器編寫和調(diào)試自己的開發(fā)應(yīng)用程序了。


下面就詳細(xì)介紹一下ADS的各個組成部分。

8.1.1命令行開發(fā)工具

這些工具完成將源代碼編譯,鏈接成可執(zhí)行代碼的功能。


ADS提供下面的命令行開發(fā)工具:


armcc


armcc是ARM C編譯器。這個編譯器通過了Plum Hall C Validation Suite為ANSI C的一致性測試。armcc用于將用ANSI C編寫的程序編譯成32位ARM指令代碼。


因為armcc是我們最常用的編譯器,所以對此作一個詳細(xì)的介紹。


在命令控制臺環(huán)境下,輸入命令:


armcc –help


可以查看armcc的語法格式以及最常用的一些操作選項


armcc最基本的用法為:armcc [options] file1 file2 ... filen


這里的option是編譯器所需要的選項,fiel1,file2…filen是相關(guān)的文件名。


這里簡單介紹一些最常用的操作選項。


-c:表示只進(jìn)行編譯不鏈接文件;


-C:(注意:這是大寫的C)禁止預(yù)編譯器將注釋行移走;


-D:定義預(yù)處理宏,相當(dāng)于在源程序開頭使用了宏定義語句#define symbol,


這里symbol默認(rèn)為1;


-E:僅僅是對C源代碼進(jìn)行預(yù)處理就停止;


-g:指定是否在生成的目標(biāo)文件中包含調(diào)試信息表;


-I:將directory所指的路徑添加到#include的搜索路徑列表中去;-J:用directory所指的路徑代替默認(rèn)的對#include的搜索路徑;


-o:指定編譯器最終生成的輸出文件名。


-O0:不優(yōu)化;


-O1:這是控制代碼優(yōu)化的編譯選項,大寫字母O后面跟的數(shù)字不同,表示的優(yōu)化級別就不同,-O1關(guān)閉了影響調(diào)試結(jié)果的優(yōu)化功能;


-O2:該優(yōu)化級別提供了最大的優(yōu)化功能;


-S:對源程序進(jìn)行預(yù)處理和編譯,自動生成匯編文件而不是目標(biāo)文件;


-U:取消預(yù)處理宏名,相當(dāng)于在源文件開頭,使用語句#undef symbol;


-W:關(guān)閉所有的或被選擇的警告信息;


有關(guān)更詳細(xì)的選項說明,讀者可查看ADS軟件的在線幫助文件。


armcpp


armcpp是ARM C++編譯器。它將ISO C++或EC++編譯成32位ARM指令代碼。


tcc


tcc是Thumb C編譯器。該編譯器通過了Plum Hall C Validation Suite為ANSI一致性的測試。tcc將ANSI C源代碼編譯成16位的Thumb指令代碼。


tcpp


tcpp是Thumb C++編譯器。它將ISO C++和EC++源碼編譯成16位Thumb指令代碼。


armasm


armasm是ARM和Thumb的匯編器.它對用ARM匯編語言和Thumb匯編語言寫的源代碼進(jìn)行匯編。


armlink


armlink是ARM連接器。該命令既可以將編譯得到的一個或多個目標(biāo)文件和相關(guān)的一個或多個庫文件進(jìn)行鏈接,生成一個可執(zhí)行文件,也可以將多個目標(biāo)文件部分鏈接成一個目標(biāo)文件,以供進(jìn)一步的鏈接。ARM鏈接器生成的是ELF格式的可執(zhí)行映像文件。


armsd


armsd是ARM和Thumb的符號調(diào)試器。它能夠進(jìn)行源碼級的程序調(diào)試。用戶可以在用C或匯編語言寫的代碼中進(jìn)行單步調(diào)試,設(shè)置斷點,查看變量值和內(nèi)存單元的內(nèi)容。


8.1.1.1armcc用法詳解


下面為讀者介紹上述的4種ARM C和C++編譯器的命令通用語法。


compiler [PCS-options] [source-language] [search-paths] [preprocessor-options] [output-format] [target-options] [debug-options] [code-generation-options] [warning-options] [additional-checks] [error-options] [source]


用戶可以通過命令行操作選項控制編譯器的執(zhí)行。所有的選項都是以符號”-”開始,有些選項后面還跟有參數(shù)。在大多數(shù)情況下,ARM C和C++編譯器允許在選項和參數(shù)之間存在空格。


命令行中各個選項出現(xiàn)順序可以任意。


這里的compiler是指armcc,tcc,armcpp和tcpp中的一個;


PCS-options:指定了要使用的過程調(diào)用標(biāo)準(zhǔn);


source-language:指定了編譯器可以接受的編寫源程序的語言種類。對于C編譯器默認(rèn)的語言是ANSI C,對于C++編譯器默認(rèn)是ISO標(biāo)準(zhǔn)C++;


search-paths:該選項指定了對包含的文件(包括源文件和頭文件)的搜索路徑;


preprocessor-options:該選項指定了預(yù)處理器的行為,其中包括預(yù)處理器的輸出和宏定義等特性;


output-format:該選項指定了編譯器的輸出格式,可以使用該項生成匯編語言輸出列表文件和目標(biāo)文件;


target-options:該選項指定目標(biāo)處理器或ARM體系結(jié)構(gòu);


debug-options:該選項指定調(diào)試信息表是否生成,和該調(diào)試信息表生成時的格式;


code-generation-options:該選項指定了例如優(yōu)化,字節(jié)順序和由編譯器產(chǎn)生的數(shù)據(jù)對齊格式等選項;


warning-options:該選項決定警告信息是否產(chǎn)生;


additional-checks:該選項指定了幾個能用于源碼的附加檢查,例如檢查數(shù)據(jù)流異常,檢查沒有使用的聲明等;


error-options:該選項可以關(guān)閉指定的可恢復(fù)的錯誤,或者將一些指定的錯誤降級為警告;


source:該選項提供了包含有C或C++源代碼的一個或多個文件名,默認(rèn)的,編譯器在當(dāng)前路徑尋找源文件和創(chuàng)建輸出文件。如果源文件是用匯編語言編寫的(也就是說該文件的文件名是以.s作為擴(kuò)展名),匯編器將被調(diào)用來處理這些源文件。


如果操作系統(tǒng)對命令行的長度有限制,可以使用下面的操作,從文件中讀取另外的命令行選項:


-via filename


該命令打開文件名為filename的文件,并從中讀取命令行選項。用戶可以對-via進(jìn)行嵌套調(diào)用,亦即,在文件filename中又通過-via finlename2包含了另外一個文件。


在下面的例子中,從input.txt文件中讀取指定的選項,作為armcpp的操作選項:


armcpp -via input.txtsource.c


以上是對編譯器選項的一個簡單概述。它們(包括后面還要介紹的其他一些命令工具)既可以在命令控制臺環(huán)境下使用,同時由于它們被嵌入到了ADS的圖形界面中,所以也可以在圖形界面下使用。


8.1.1.2armlink用法詳解


在介紹armlink的使用方法之前,先介紹要涉及到的一些術(shù)語。


映像文件(image):是指一個可執(zhí)行文件,在執(zhí)行的時候被加載到處理器中。一個映像文件有多個線程。它是ELF(Executable and linking format)格式的。


段(Section):描述映像文件的代碼或數(shù)據(jù)塊。


RO:是Read-only的簡寫形式。


RW:是Read-write.的簡寫形式。


ZI:是Zero-initialized的簡寫形式。


輸入段(input section):它包含著代碼,初始化數(shù)據(jù)或描述了在應(yīng)用程序運(yùn)行之前必須要初始化為0的一段內(nèi)存。


輸出段(output section):它包含了一系列具有相同的RO,RW或ZI屬性的輸入段。


域(Regions):在一個映像文件中,一個域包含了1至3個輸出段。多個域組織在一起,就構(gòu)成了最終的映像文件。


Read Only Position Independent(ROPI):它是指一個段,在這個段中代碼和只讀數(shù)據(jù)的地址在運(yùn)行時候可以改變。


Read Write Position Independent(RWPI):它是指一個段,在該段中的可讀/寫的數(shù)據(jù)地址在運(yùn)行期間可以改變。


加載時地址:是指映像文件位于存儲器(在該映像文件沒有運(yùn)行時)中的地址。


運(yùn)行時地址:是指映像文件在運(yùn)行時的地址。


下面介紹一下armlink命令的語法


完整的連接器命令語法如下:


armlink [-help] [-vsn] [-partial] [-output file] [-elf] [-reloc][-ro-base address] [-ropi]


[-rw-base address] [-rwpi] [-split]


[-scatter file][-debug|-nodebug][-remove?RO/RW/ZI/DBG]|-noremove] [-entry location ]


[-keep section-id] [-first section-id] [-last section-id] [-libpath pathlist] [-scanlib|-noscanlib] [-locals|-nolocals] [-callgraph] [-info topics] [-map] [-symbols] [-symdefs file] [-edit file] [-xref] [-xreffrom object(section)] [-xrefto object(section)] [-errors file] [-list file] [-verbose]


[-unmangled |-mangled] [-match crossmangled][-via file] [-strict]


[-unresolved symbol][-MI|-LI|-BI] [input-file-list]


上面各選項的含義分別為:


-help


這個選項會列出在命令行中常用的一些選項操作。


-vsn


這個選項顯示出所用的armlink的版本信息。


-partial


用這個選項創(chuàng)建的是部分鏈接的目標(biāo)文件而不是可執(zhí)行映像文件。


-output file


這個選項指定了輸出文件名,該文件可能是部分鏈接的目標(biāo)文件,也可能是可執(zhí)行映像文件。如果輸出文件名沒有特別指定的話,armlink將使用下面的默認(rèn):


如果輸出是一個可執(zhí)行映像文件,則生成的輸出文件名為__image.axf;


如果輸出是一個部分鏈接的目標(biāo)文件,在生成的文件名為__object.o;


如果沒有指定輸出文件的路徑信息,則輸出文件就在當(dāng)前目錄下生成。如果指定了路徑信息,則所指定的路徑成為輸出文件的當(dāng)前路徑。


-elf


這個選項生成ELF格式的映像文件,這也是armlink所支持的唯一的一種輸出格式,這是默認(rèn)選項。


-reloc


這個選項生成可重定址的映像。


一個可重定址的映像具有動態(tài)的段,這個段中包含可重定址信息,利用這些信息可以在鏈接后,進(jìn)行映像文件的重新定址;


-reloc,-rw-base一起使用,但是如果沒有-split選項,鏈接時會產(chǎn)生錯誤。


-ro-base address


這個選項將包含有RO(Read-Only屬性)輸出段的加載地址和運(yùn)行地址設(shè)置為address,該地址必須是字對齊的,如果沒有指定這個選項,則默認(rèn)的RO基地址值為0x8000。


-ropi


這個選項使得包含有RO輸出段的加載域和運(yùn)行域是位置無關(guān)的。如果該選項沒有使用,則相應(yīng)的域被標(biāo)記為絕對的。通常每一個只讀屬性的輸入段必須是只讀位置無關(guān)的。如果使用了這個選項,armlink將會進(jìn)行以下操作:


檢查各段之間的重定址是否有效;


確保任何由armlink自身生成的代碼是只讀位置無關(guān)的。


這里希望讀者注意的是,ARM工具直到armlink完成了對輸入段的處理后,才能夠決定最終的生成映像是否為只讀位置無關(guān)的。這就意味著,即使為編譯器和匯編器指定了ROPI選項,armlink也可能會產(chǎn)生ROPI錯誤信息。


-rw-base address


這個選項設(shè)置包含RW(Read/Write屬性)輸出段的域的運(yùn)行時地址,該地址必須是字對齊的。


如果這個選項和-split選項一起使用,將設(shè)置包含RW輸出段的域的加載和運(yùn)行時地址都設(shè)置在address處。


-rwpi


這個選項使得包含有RW和ZI(Zero Initialization,初始化為0)屬性的輸出段的加載和運(yùn)行時域為位置無關(guān)的。如果該選項沒有使用,相應(yīng)域標(biāo)記為絕對的。這個選項要求-rw-base選項后有值,如果-rw-base沒有指定的話,默認(rèn)其值為0,即相當(dāng)于-rw-base 0。通常每一個可寫的輸入段必須是可讀/可寫的位置無關(guān)的。


如果使用了該選項,armlink會進(jìn)行以下的操作:


檢查可讀/可寫屬性的運(yùn)行域的輸入段是否設(shè)置了位置無關(guān)屬性;


檢查在各段之間的重定址是否有效;


生成基于靜態(tài)寄存器sb的條目,這些在RO和RW域被拷貝和初始化的時候會用到。


編譯器并不會強(qiáng)制可寫的數(shù)據(jù)一定要為位置無關(guān)的,這就是說,即使在為編譯器和匯編器指定了RWPI選項,armlink也可能生成數(shù)據(jù)不是RWPI的信息。


-split


這個選項將包含RO和RW屬性的輸出段的加載域,分割成2個加載域。一個是包含RO輸出段的加載域,默認(rèn)的加載地址為0x8000,但是可以用-ro-base選項設(shè)置其他的地址值,另一個加載域包含RO屬性的輸出段,由-rw-base選項指定加載地址,如果沒有使用-rw-base選項的話,默認(rèn)使用的是-rw-base 0。


-scatter file


這個選項使用在file中包含的分組和定位信息來創(chuàng)建映像內(nèi)存映射。


注意,如果使用了該選項的話,必須要重新實現(xiàn)堆棧初始化函數(shù)__user_initial_stackheap()。


-debug


這個選項使輸出文件包含調(diào)試信息,調(diào)試信息包括,調(diào)試輸入段,符號和字符串表。這是默認(rèn)的選項。


-nodebug


這個選項使得在輸出文件中不包含調(diào)試信息。生成的映像文件短小,但是不能進(jìn)行源碼級的調(diào)試。armlink對在輸入的目標(biāo)文件和庫函數(shù)中發(fā)現(xiàn)的任何調(diào)試輸入段都不予處理,當(dāng)加載映像文件到調(diào)試器中的時候,也不包含符號和字符串信息表。這個選項僅僅是對裝載到調(diào)試器的映像文件的大小有影響,但是對要下載到目標(biāo)板上的二進(jìn)制代碼的大小沒有任何影響。


如果用armlink進(jìn)行部分鏈接生成目標(biāo)文件而不是映像文件,則雖然在生成的目標(biāo)文件中不含有調(diào)試輸入段,但是會包含符號和字符串信息表。


這里特別請讀者注意的是:


如果要在鏈接完成后使用fromELF工具的話,不可使用-nodebug選項,這是因為如果生成的映像文件中不包含調(diào)試信息的話,則有下面的影響:


fromELF不能將映像文件轉(zhuǎn)換成其他格式的文件;


fromELF不能生成有意義的反匯編列表。


-remove (RO/RW/ZI/DBG)


使用這個選項會將在輸入段未使用的段從映像文件中刪除。如果輸入段中含有映像文件入口點或者該輸入段被一個使用的段所引用,則這樣的輸入段會當(dāng)作已使用的段。


在使用這個選項時候要注意,不要刪除異常處理函數(shù)。使用-keep選項來標(biāo)識異常處理函數(shù),或用ENTRY偽指令標(biāo)明是入口點。


為了更精確的控制刪除未使用的段,可以使用段屬性限制符。可以使用以下的段屬性限制符:


RO


刪除所有未使用的RO屬性的段;


RW


刪除所有未使用的RW屬性的段;


ZI


刪除所有未使用的ZI屬性的段;


DBG


刪除所有未使用的DEBUG屬性的段。


這些限制符出現(xiàn)的順序是任意的,但是它們必須要有”( )”括住,多個限制符之間要用符號”/”進(jìn)行間隔。ADS軟件中默認(rèn)選項是-remove (RO/RW/ZI/DBG)。


如果沒有指定段屬性限制符,則所有未使用的段都會被刪除。因為-remove就等價于-remove(RO/RW/ZI/DBG)選項。


-noremove


這個選項保留映像文件中所有未被使用的段。


-entry location


這個選項指定映像文件中唯一的初始化入口點。一個映像文件可以包含多個入口點,使用這個命令定義的初始化入口點是存放在可執(zhí)行文件的頭部,以供加載程序加載時使用。當(dāng)一個映像文件被裝載時,ARM調(diào)試器使用這個入口點地址來初始化PC指針。初始化入口點必須滿足下面的條件:


映像文件的入口點必須位于運(yùn)行域內(nèi);


運(yùn)行域必須是非覆蓋的,并且必須是固定域(就是說,加載域和運(yùn)行域的地址相同)。


在這里可以用以下的參數(shù)代替location參數(shù):


1.入口點地址:這是一個數(shù)值,例如-entry 0x0;


2.符號:該選項指定映像文件的入口點為該符號所代表的地址處,比如:


-entry int_handler


表示程序入口點在符號int_handler所在處。


如果該符號有多處定義存在,armlink將產(chǎn)生出錯信息。


offset+object(section):該選項指定在某個目標(biāo)文件的段的內(nèi)部的某個偏移量處為映像文件的入口地址,例如:


-entry 8+startup(startupseg)


如果偏移量值為0,可以簡寫成object(section),如果輸入段只有一個,則可以簡化為object。


-keep section-id


使用該選項,可以指定保留一個輸入段,這樣的話,即使該輸入段沒有在映像文件中使用,也不會被刪除。參數(shù)section-id取下面一些格式:


1.symbol


該選項指定定義symbol的輸入段不會在刪除未使用的段時被刪除。如果映像文件中有多處symbol定義存在,則所有包含symbol定義的輸入段都不會被刪除。例如:


-keep int_handler


則所有定義int_handler的符號的段都會保留,而不被刪除。


為了保留所有含有以_handler結(jié)尾的符號的段,可以使用如下的選項:


-keep *_handler


2.object(section)


這個選項指定了在刪除未使用段時,保留目標(biāo)文件中的section段。輸入段和目標(biāo)名是不區(qū)分大小寫的,例如,為了在目標(biāo)文件vectors.o中保留vect段,使用:


-keep vectors.o(vect)


為了保留vectors.o中的所有以vec開頭的段名,可以使用選項:


-keep vectors.o(vec*)


3.object


這個選項指定在刪除未使用段時,保留該目標(biāo)文件唯一的輸入段。目標(biāo)名是不區(qū)分大小寫的,如果使用這個選項的時候,目標(biāo)文件中所含的輸入段不止一個的話,armlink會給出出錯信息。比如,為了保留每一個以dsp開頭的只含有唯一輸入段的目標(biāo)文件,可以使用如下的選項:


-keep dsp*.o


-first section-id


這個選項將被選擇的輸入段放在運(yùn)行域的開始。通過該選項,將包含復(fù)位和中斷向量地址的段放置在映像文件的開始,可以用下面的參數(shù)代替section-id:


1.symbol


選擇定義symbol的段。禁止指定在多處定義的symbol,因為多個段不能同時放在映像文件的開始。


2.object(section)


從目標(biāo)文件中選擇段放在映像文件的開始位置。在目標(biāo)文件和括號之間不允許存在空格,例如


-first init.o(init)


3.object


選擇只有一個輸入段的目標(biāo)文件。如果這個目標(biāo)文件包含多個輸入段,armlink會產(chǎn)生錯誤信息。用這個選項的例子如下:


-first init.o


這里希望讀者注意的是:


使用-first不能改變在域中按照RO段放在開始,接著放置RW段,最后放置ZI段的基本屬性排放順序。如果一個域含有RO段,則RW或ZI段就不能放在映像文件的開頭。類似地,如果一個域有RO或RW段,則ZI段就不能放在文件開頭。


兩個不同的段不能放在同一個運(yùn)行時域的開頭,所以使用該選項的時候只允許將一個段放在映像文件的開頭。


-last section-id


這個選項將所選擇的輸入段放在運(yùn)行域的最后。例如,用這個選項能夠強(qiáng)制性的將包含校驗和的輸入段放置在RW段的最后。使用下面的參數(shù)可以替換section-id。


1.symbol


選擇定義symbol的段放置在運(yùn)行域的最后。不能指定一個有多處定義的symbol。使用該參數(shù)的例子如下:


-last checksum


2.object(section)


從目標(biāo)文件中選擇section段。在目標(biāo)文件和后面的括號間不能有空格,用該參數(shù)的例子為:


-last checksum.o(check)


3. object


選擇只有一個輸入段的目標(biāo),如果該目標(biāo)文件中有多個輸入段,armlink會給出出錯信息。


和-first選項一樣,需要讀者注意的是;


使用-last選項不能改變在域中將RO段放在開始,接著放置RW段,最后放置ZI段的輸出段基本的排放順序。如果一個域含有ZI段,則RW段不能放在最后,如果一個域含有RW或ZI段,則RO段不能放在最后。


在同一個運(yùn)行域中,兩個不同的段不能同時放在域的最后位置。


-libpath pathlist


這個選項為ARM標(biāo)準(zhǔn)的C和C++庫指定了搜索路徑列表。


注意,這個選項不會影響對用戶庫的搜索路徑。


這個選項覆蓋了環(huán)境變量ARMLIB所指定的路徑。參數(shù)pathlist是一個以逗號分開的多個路徑列表,即為path1, path2,... pathn,這個路徑列表只是用來搜索要用到的ARM庫函數(shù)。默認(rèn)的,對于包含ARM庫函數(shù)的默認(rèn)路徑是由環(huán)境變量ARMLIB所指定的。


-scanlib


這個選項啟動對默認(rèn)庫(標(biāo)準(zhǔn)ARM C和C++庫)的掃描以解析引用的符號。這個選項是默認(rèn)的設(shè)置。


-noscanlib


該選項禁止在鏈接時候掃描默認(rèn)的庫。


-locals


這個選項指導(dǎo)鏈接器在生成一個可執(zhí)行映像文件的時候,將本地符號添加到輸出符號信息表中。該選項是默認(rèn)設(shè)置。


-nolocals


這個選項指導(dǎo)鏈接器在生成一個可執(zhí)行映像文件的時候,不要將本地符號添加到輸出符號信息表中。如果想減小輸出符號表的大小,可以使用該選項。


-callgraph


該選項創(chuàng)建一個HTML格式的靜態(tài)函數(shù)調(diào)用圖。這個調(diào)用圖給出了映像文件中所有函數(shù)的定義和引用信息。對于每一個函數(shù)它列出了:


1.函數(shù)編譯時候的處理器狀態(tài)(ARM狀態(tài)還是Thumb狀態(tài));


2.調(diào)用func函數(shù)的集合;


3.被func調(diào)用的函數(shù)的集合;


4.在映像文件中使用的func尋址的次數(shù)。


此外,調(diào)用圖還標(biāo)識了下面的函數(shù):


1.被interworking veneers所調(diào)用的函數(shù);


2.在映像文件外部定義的函數(shù);


3.允許未被定義的函數(shù)(以weak方式的引用);


靜態(tài)調(diào)用圖還提供了堆棧使用信息,它顯示出了:


1.每個函數(shù)所使用的堆棧大小;


2.在全部的函數(shù)調(diào)用中,所用到的最大堆棧大小。


-info topics


這個選項打印出關(guān)于指定種類的信息,這里的參數(shù)topics是指用逗號間隔的類型標(biāo)識符列表。類型標(biāo)識符列表可以是下面所列出的任意一個:


1.sizes


為在映像文件中的每一個輸入對象和庫成員列出了代碼和數(shù)據(jù)(這里的數(shù)據(jù)包括,RO數(shù)據(jù),RW數(shù)據(jù),ZI數(shù)據(jù)和Debug數(shù)據(jù))的大小;


2.totals


為輸入對象文件和庫,列出代碼和數(shù)據(jù)(這里的數(shù)據(jù)包括,RO數(shù)據(jù),RW數(shù)據(jù),ZI數(shù)據(jù)和Debug數(shù)據(jù))總的大小;


3. veneers


給出由armlink生成的veneers的詳細(xì)信息;


4. unused


列出由于使用-remove選項而從映像文件中被刪除的所有未使用段。


注意:在信息類型標(biāo)識符列表之間不能存在空格,比如可以輸入


-info sizes,totals


但是不能是


-info sizes, totals(即在逗號和totals之間有空格是不允許的)


-map


這個選項創(chuàng)建映像文件的信息圖。映像文件信息圖包括映像文件中的每個加載域,運(yùn)行域和輸入段的大小和地址,這里的輸入段還包括調(diào)試信息和鏈接器產(chǎn)生的輸入段。


-symbols


這個選項列出了鏈接的時候使用的每一個局部和全局符號。該符號還包括鏈接生成的符號。


-symdefs file


這個選項創(chuàng)建一個包含來自輸出映像文件的全局符號定義的符號定義文件。


默認(rèn)的,所有的全局符號都寫入到符號定義文件中。如果文件file已經(jīng)存在,鏈接器將限制生成在已存在的symdefs文件中已列出的符號。

[1] [2]
關(guān)鍵字:ARM  ADS  集成開發(fā)環(huán)境 引用地址:ARM ADS集成開發(fā)環(huán)境的使用

上一篇:基于Linux/QT與GPRS的遠(yuǎn)程集群式心臟病人實時診斷系統(tǒng)
下一篇:μC/OS-Ⅱ在ARM單片機(jī)S3C44B0x上的移植

推薦閱讀最新更新時間:2025-05-22 10:19

基于ARM920T微處理器的IDE硬盤接口設(shè)計與實現(xiàn)
1 引言 20世紀(jì)90年代后期,嵌入式系統(tǒng)在工業(yè)控制、遠(yuǎn)程監(jiān)控和數(shù)據(jù)采集等領(lǐng)域的應(yīng)用日趨廣泛,人們對嵌入式系統(tǒng)的存儲容量也提出了較高的要求。因此研制適用于嵌入式系統(tǒng)的大容量、高速率、高可靠性的數(shù)據(jù)存儲系統(tǒng)變得日益重要。本文針對一款基于ARM920T芯片的開發(fā)板,根據(jù)ATA硬盤接口規(guī)范,設(shè)計了IDE硬盤接口電路,實現(xiàn)了對IDE硬盤的讀寫,可以在Linux系統(tǒng)中對其上的文件系統(tǒng)自由訪問,達(dá)到了高速率和高可靠性的要求。 2 ARM920T與S3C2410介紹 ARM 包括一系列微處理芯片技術(shù)。ARM920T是ARM系列微處理器的一種,它采用5階段管道化ARM9TDMI內(nèi)核,同時配備了Thumb擴(kuò)展、EmbeddedICE調(diào)
[單片機(jī)]
學(xué)習(xí)ARM+Linux之前講解用ADS或RealViewMDK調(diào)試ARM開發(fā)板的原因
在 ARM + Linux 培訓(xùn)班學(xué)習(xí),講師一般首先講解用 ADS 或 RealView MDK 去調(diào)試 ARM 開發(fā)板。原因在于: 1、掌握 ARM 體系結(jié)構(gòu)。ARM 是一種計算機(jī),掌握其體系結(jié)構(gòu)也就是掌握ARM的工作原理。在大學(xué)里一般會開設(shè)《微機(jī)原理》這門課程,講解x86計算機(jī)的工作原理,并學(xué)習(xí)x86匯編語言。因為ARM與x86體系結(jié)構(gòu)上的不同,所以學(xué)習(xí)ARM+Linux之前,要首先掌握ARM這種計算機(jī)的工作原理,并學(xué)習(xí)ARM匯編語言。 2、掌握ARM匯編語言。眾所周知,匯編語言是低級語言,與計算機(jī)硬件關(guān)系密切。因為體系結(jié)構(gòu)的不同,ARM匯編語言與x86匯編語言有很大的不同。前幾年有一本書《ARM體系結(jié)構(gòu)與編程》專門講解A
[單片機(jī)]
ARM---解決ads工程轉(zhuǎn)到MDK(keil)可能出現(xiàn)的error
最近把ADS1.2工程轉(zhuǎn)到MDK4.03出現(xiàn)一些error,羅列了可能出現(xiàn)的error,并給予相關(guān)的辦法,讓大家在以后的轉(zhuǎn)換中盡快搞定 1:error : No section matches selector –no section to be FIRST/LAST. 把原來的Init 代碼段名修改成RESET: ; AREA Init,CODE,READONLY AREA RESET,CODE,READONLY 2:error Undefined symbol Main (referred from 2440init.o). error: scatter-load file declares no hea
[單片機(jī)]
<font color='red'>ARM</font>---解決<font color='red'>ads</font>工程轉(zhuǎn)到MDK(keil)可能出現(xiàn)的error
EWSTM8系列教程08_IDE選項配置(一)
1寫在前面 前面兩篇文章針對的是工程節(jié)點各選項的配置,而本文講述的是關(guān)于集成開發(fā)環(huán)境(IDE)各選項的配置。 本文講述的內(nèi)容包含字體、快捷鍵、語言、編輯、消息等許多與IDE相關(guān)的配置。因為屬于Tools菜單,我也把它稱為“工具配置選項”。也就是菜單Tools - Options下IDE選項,如下圖: 由于IDE選項的配置較多,我將其分為IDE選項配置(一)和IDE選項配置(二)兩篇文章來講述。 為了方便大家平時公交、地鐵、外出辦事也能用手機(jī)隨時隨地查看該教程,本文章收錄于【EWSTM8系列教程】,在微信公眾號回復(fù)【EWSTM8系列教程】即可查看。 2 Common Fonts普通字體 本節(jié)內(nèi)容主要是配置除
[單片機(jī)]
EWSTM8系列教程08_<font color='red'>IDE</font>選項配置(一)
賽普拉斯推出PSoC 6 BLE Pioneer套件和PSoC Creator 4.2集成開發(fā)環(huán)境
電子網(wǎng)消息,賽普拉斯半導(dǎo)體公司今日宣布推出PSoC? 6 BLE Pioneer套件和PSoC Creator? 4.2集成開發(fā)環(huán)境(IDE),使設(shè)計人員能夠利用PSoC 6 ?MCU開發(fā)各種創(chuàng)新型物聯(lián)網(wǎng)應(yīng)用。作為業(yè)內(nèi)功耗最低、靈活性最高的MCU,PSoC ?BLE 6內(nèi)置BLE藍(lán)牙低功耗無線連接,并在單一器件中集成了基于硬件的安全功能。 賽普拉斯MCU事業(yè)部副總裁兼總經(jīng)理John Weil表示:“客戶對PSoC 6表現(xiàn)出濃厚興趣,數(shù)月內(nèi)就有超過2500個客戶注冊參加PSoC 6的早期試用項目。他們最初的反饋是:‘PSoC 6的特性組合準(zhǔn)確地?fù)糁辛宋锫?lián)網(wǎng)設(shè)計的痛點,我們非常期待看到大量客戶如何利用賽普拉斯PSoC 6 ?
[半導(dǎo)體設(shè)計/制造]
賽普拉斯IDE3.0簡化PSoC3軟硬件協(xié)同設(shè)計
賽普拉斯半導(dǎo)體公司日前宣布推出其PSoC? Creator?集成開發(fā)環(huán)境(IDE)的3.0版,用于PSoC 3, PSoC 4 和PSoC 5LP可編程片上系統(tǒng)架構(gòu)。賽普拉斯基于客戶的要求開發(fā)的PSoC Creator 3.0減小了代碼量,顯著改善了集成固件編輯器,并允許導(dǎo)出到主要的ARM? IDE。PSoC Creator 3.0拓充了PSoC 解決方案的功能,簡化了軟硬件協(xié)同設(shè)計的流程,如采用新引入的通用數(shù)字模塊(UDB)編輯器,還具有定制PSoC Components?的能力。 基于Windows的PSoC Creator IDE包含了超過110個PSoC組件(即經(jīng)過預(yù)先驗證的“虛擬芯片”,在軟件中以圖標(biāo)表示),用戶
[嵌入式]
采用ADS1118和兩個熱電偶的溫度測量電路設(shè)計
設(shè)計說明 本指導(dǎo)手冊的設(shè)計介紹采用 ADS1118 和兩個熱電偶的溫度測量電路。該設(shè)計使用 ADS1118 內(nèi)部電壓基準(zhǔn)進(jìn)行熱電偶電壓測量,而使用板載溫度傳感器進(jìn)行冷端補(bǔ)償 (CJC) 測量。ADC 的兩個通道用于兩個K 型熱電偶,溫度測量范圍為 –270°C 至 1370°C。該設(shè)計包含用于配置器件的 ADC 寄存器設(shè)置以及用于配置和讀取器件的偽代碼。該電路可用于適用于PLC 的模擬輸入模塊、實驗室儀表和工廠自動化等應(yīng)用。 設(shè)計說明 1. 為電源使用電源去耦電容器。必須使至少為 0.1μF 的電容器對 VDD 進(jìn)行去耦。 2. 如果可能,使用 C0G (NPO) 陶瓷電容器進(jìn)行輸入濾波。這些電容器中使用的電介質(zhì)可在電壓、頻率
[測試測量]
采用<font color='red'>ADS</font>1118和兩個熱電偶的溫度測量電路設(shè)計
ADS軟件對倍頻器的嵌入式電特性仿真
摘要:利用ADS射頻仿真軟件和嵌入法對倍頻器的環(huán)境阻抗、有效激勵電平進(jìn)行了研究,針對倍頻器輸出端外加負(fù)載后對倍頻效率產(chǎn)生的影響,提出了改進(jìn)方法并進(jìn)行了實際驗證。 關(guān)鍵詞:ADS;環(huán)境阻抗;激勵電平;倍頻器;倍頻效率 1 引言 眾所周知,在用倍頻鏈實現(xiàn)高頻、高穩(wěn)微波振蕩源的過程中,倍頻器倍頻效率的高低不僅對簡化電路和保持電路穩(wěn)定性影響較大,而且對整個電路雜散、諧波的抑制都起著重要作用。傳統(tǒng)的設(shè)計過程需要復(fù)雜的理論推導(dǎo)、大量的試驗驗證,或者依賴于經(jīng)驗進(jìn)行設(shè)計而在現(xiàn)實工程應(yīng)用中,有時卻需要一些特殊的倍頻器,如頻率不是很常用,倍頻次數(shù)又較高,采用外協(xié)加工,成本和時間都不劃算等。對于這些既沒有相關(guān)的工程設(shè)計經(jīng)驗,又無法獲得倍頻三極
[嵌入式]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章
隨便看看

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京B2-20211791 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 聂拉木县| 三明市| 唐海县| 榆中县| 湖口县| 平安县| 慈溪市| 泸西县| 博客| 泊头市| 吕梁市| 鸡东县| 岳阳县| 临高县| 惠州市| 忻城县| 蒲江县| 海丰县| 当阳市| 武宁县| 岢岚县| 朝阳区| 南皮县| 永德县| 巴中市| 许昌市| 张家港市| 牡丹江市| 安国市| 黄大仙区| 吉隆县| 九江市| 朝阳市| 民勤县| 津市市| 杭锦后旗| 黑水县| 霍州市| 凌云县| 铜山县| 黄龙县|