法國聯賽 TKStudio是一款支持TKStudio IDE集成開發(fā)環(huán)境的輔助LINUX交叉編譯工具鏈軟件,交叉編譯就是跨架構編譯,編譯出來的程序不能在本機執(zhí)行(當然有例外情況)。所以這個時候就需要交叉編譯工具鏈。譯工具鏈一般最簡化的為 binutils + gcc + glibc + kernel-header 組合的環(huán)境。
工具鏈一般由編譯器、連接器、解釋器和調試器組成。在X86的Linux主機上,交叉開發(fā)工具鏈除了能夠編譯生成在ARM、MIPS、PowerPC等硬件架構上運行的程序,還可以為X86平臺上不同版本的Linux提供編譯開發(fā)的程序功能。所以,可以通過在同一臺Linux主機上使用交叉編譯工具的方式來維護不同版本的X86目標機。當然,這里我們主要用于編譯在ARM硬件架構上的程序,這也是嵌入式開發(fā)的一種經常使用的方式。
下面,我們主要介紹Linux經常使用的工具鏈軟件:Binutils、GCC、Glibc和Gdb.其主要特點如下。Binutils是二進制程序處理工具,包括連接器、匯編器等目標程序處理的工具。GCC(GNU Compiler Collection)是編譯器,不但能夠支持C/C++語言的編譯,而且能夠支持FORTRAN JA ADA等編程語言。不過,一般不需要配置其他語言的選項,也可以避免編譯其他語言功能而導致的錯誤。對于C/C++語言的完整支持,需要支持Glibc庫。Glibc是應用程序編程的函數庫軟件包,可以編譯生成靜態(tài)庫和共享庫,完整的GCC需要支持Glibc.Gdb是調試工具,可以讀取可執(zhí)行程序中的符號表,對程序進行源碼調試。通過這些軟件包,可以生成gcc、g++、ar、as、ld等編譯鏈接工具,還可以生成glibc庫和gdb調試器。在生成交叉開發(fā)的工具鏈時,可以在文件名字上加一個前綴,用來區(qū)別本地的工具鏈,例如arm-linux-gcc,表示這個編譯器用于編譯在Linux系統(tǒng)下ARM目標平臺上運行的程序。
?