當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]與非網(wǎng)(EEFOCUS)電子產(chǎn)業(yè)社區(qū)平臺(tái)為中國(guó)電子行業(yè)首家采用強(qiáng)大技術(shù)平臺(tái),由專業(yè)的電子技術(shù)編輯服務(wù),為全球3000家知名半導(dǎo)體廠家及電子技術(shù)系統(tǒng)廠商提供技術(shù)信息發(fā)布、廠商網(wǎng)站、技術(shù)社區(qū)建設(shè)服務(wù),并以電子術(shù)語(yǔ)詞典,集成電路數(shù)據(jù)手冊(cè)查詢,電子產(chǎn)品新聞訪談資訊信息以及互動(dòng)技術(shù)交流社區(qū)為上百萬(wàn)電子技術(shù)工程師以及高校師生提供最完整的電子技術(shù)信息查詢和交流服務(wù)。

通常為了把一個(gè)應(yīng)用程序從源文件轉(zhuǎn)變?yōu)榭蓤?zhí)行的二進(jìn)制代碼,需要以下三個(gè)部分:

一、編譯器

二、(目標(biāo)代碼)連接器

三、程序庫(kù)

其中編譯器部分還可細(xì)分為預(yù)處理器,C編譯器和匯編編譯器等. GCC的功能是C編譯器1.Binutils 最重要的成員是匯編編譯器和連接器,還包括一些二進(jìn)制代碼工具. 程序庫(kù)通常是C或C++標(biāo)準(zhǔn)庫(kù). 注意這三部分是彼此獨(dú)立的,也就是說(shuō),GCC并不是非要Binutils中的工具,也可以使用其它匯編編譯器和連接器,也可以使用其它C程序庫(kù).

1.1 GCC

GCC是GNU公社的一個(gè)項(xiàng)目。是一個(gè)用于編程開發(fā)的自由編譯器。最初,GCC只是一個(gè)C語(yǔ)言編譯器,他是GNU C Compiler 的英文縮寫。隨著眾多自由開發(fā)者的加入和GCC自身的發(fā)展,如今的GCC以經(jīng)是一個(gè)包含眾多語(yǔ)言的編譯器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原來(lái)的GNU C Compiler變?yōu)镚NU Compiler Collection。也就是 GNU編譯器家族 的意思。

GNU編譯器集GCC是通過(guò)使用一種叫做“寄存器轉(zhuǎn)換語(yǔ)言”(RTL)的方式實(shí)現(xiàn)的。假定現(xiàn)在有一種基本的機(jī)器描述性文件,它已經(jīng)能滿足大家的需要?,F(xiàn)在要做的僅僅是設(shè)置默認(rèn)情況下使用的參數(shù)和如何將文件組合成可執(zhí)行文件的方式。GNU的文檔提供了所有必需的資料,使得用戶可以為新型的處理器的指令集合提供支持。如果要針對(duì)體系的機(jī)器建立一個(gè)新的目標(biāo)機(jī)器,那么就必須指定默認(rèn)編譯參數(shù)和定制系統(tǒng)的特定參數(shù)。對(duì)于特定的目標(biāo)系統(tǒng),可以使用TARGET_DEFAULT宏來(lái)在target.h文件中定義編譯器的開關(guān)。目標(biāo)t-makefile段指定了應(yīng)該構(gòu)建哪一個(gè)額外的例程和其編譯的方式。

1.2 GNU binutils簡(jiǎn)介

GNU 開發(fā)工具鏈(toolchain)主要是指­ GNU Compiler Collection、GNU libc 以及用來(lái)編譯、測(cè)試和分析軟件的 GNU binutils三個(gè)大的模塊。

GNU binutils 是一套用來(lái)構(gòu)造和使用二進(jìn)制文件所需要的工具。其中兩個(gè)最為關(guān)鍵的 binutils 是 GNU 鏈接器——ld 和 GNU 匯編程序——as。這兩個(gè)工具是 GNU 工具鏈中的兩個(gè)完整部分,通常是由 GCC 前端進(jìn)行驅(qū)動(dòng)的。

binutils包含的程序有:

addr2line:程序地址轉(zhuǎn)換為文件名和行號(hào)。在命令行中給它一個(gè)地址和一個(gè)可執(zhí)行文件名,它就會(huì)使用這個(gè)可執(zhí)行文件的調(diào)試信息指出在給出的地址上是哪個(gè)文件以及行號(hào)。

ar:建立、修改、提取歸檔文件。歸檔文件是包含多個(gè)文件內(nèi)容的一個(gè)大文件,其結(jié)構(gòu)保證了可以恢復(fù)原始文件內(nèi)容。

As: 主要用來(lái)編譯GNU C編譯器gcc輸出的匯編文件,產(chǎn)生的輸出文件由連接器ld連接。gasp:是一個(gè)匯編語(yǔ)言宏預(yù)處理器。

gprof:顯示程序調(diào)用段各種數(shù)據(jù)。

ld:把一些目標(biāo)和歸檔文件結(jié)合在一起,重定位數(shù)據(jù),并鏈接符號(hào)引用。通常,建立一個(gè)新編譯程序的最后一步就是調(diào)用ld。

nm :列出目標(biāo)文件中的符號(hào)。

objcopy :把一個(gè)目標(biāo)文件中的內(nèi)容復(fù)制到另一個(gè)目標(biāo)文件。

objcopy使用GNU BFD庫(kù)來(lái)讀寫目標(biāo)文件。源文件和目的文件可以是不同的格式。

objdump:顯示一個(gè)或者更多目標(biāo)文件的信息。使用選項(xiàng)來(lái)控制其顯示的信息。

ranlib:產(chǎn)生歸檔文件索引,并將其保存到這個(gè)歸檔文件中。

readelf:顯示elf格式的可執(zhí)行文件的信息。

size:列出目標(biāo)文件每一段的大小以及總體的大小。默認(rèn)情況下,對(duì)于每個(gè)目標(biāo)文件或者一個(gè)歸檔文件中的每個(gè)模塊只產(chǎn)生一行輸出。

Strings:打印某個(gè)文件的可打印字符串,這些字符串最少4個(gè)字符長(zhǎng),也可以使用選項(xiàng)-n設(shè)置字符串的最小長(zhǎng)度。默認(rèn)情況下,它只打印目標(biāo)文件初始化和可加載段中的可打印字符;對(duì)于其它類型的文件它打印整個(gè)文件的可打印字符。這個(gè)程序?qū)τ诹私夥俏谋疚募膬?nèi)容很有幫助。

Strip:丟棄某些目標(biāo)文件中的全部或者特定符號(hào)。這些目標(biāo)文件中可以包括歸檔文件。它至少需要一個(gè)目標(biāo)文件名作為參數(shù)。strip直接修改參數(shù)指定的文件,不為修改后的文件重新命名。

1.3 GDB

Gdb:調(diào)試器,可使用多種交叉調(diào)試方式,gdb-bdm(背景調(diào)試工具),gdbserver(使用以太網(wǎng)絡(luò)調(diào)試)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉