資料介紹
5.1.1 嵌入式交叉編譯環境的搭建
交叉編譯的概念在第4章中已經詳細講述過,搭建交叉編譯環境是嵌入式開發的第一步,也是必備的一步。搭建交叉編譯環境的方法很多,不同的體系結構、不同的操作內容甚至是不同版本的內核,都會用到不同的交叉編譯器,而且,有些交叉編譯器經常會有部分的bug,這都會導致最后的代碼無法正常地運行。因此,選擇合適的交叉編譯器對于嵌入式開發是非常重要的。
交叉編譯器完整的安裝一般涉及多個軟件的安裝(讀者可以從ftp://gcc.gnu.org/pub/下載),包括binutils、gcc、glibc等軟件。其中,binutils主要用于生成一些輔助工具,如objdump、as、ld等;gcc是用來生成交叉編譯器的,主要生成arm-linux-gcc交叉編譯工具(應該說,生成此工具后已經搭建起了交叉編譯環境,可以編譯Linux內核了,但由于沒有提供標準用戶函數庫,用戶程序還無法編譯);glibc主要是提供用戶程序所使用的一些基本的函數庫。這樣,交叉編譯環境就完全搭建起來了。
上面所述的搭建交叉編譯環境比較復雜,很多步驟都涉及對硬件平臺的選擇。因此,現在嵌入式平臺提供廠商一般會提供在該平臺上測試通過的交叉編譯器,而且很多公司把以上安裝步驟全部寫入腳本文件或者以發行包的形式提供,這樣就大大方便了用戶的使用。如優龍的FS2410開發光盤里就附帶了2.95.3和3.3.2兩個版本的交叉編譯器,其中前一個版本是用于編譯Linux 2.4內核的,而后一個版本是用于編譯Linux 2.6版本內核的。由于這是廠商測試通過的編譯器,因此可靠性會比較高,而且與開發板能夠很好地吻合。所以推薦初學者直接使用廠商提供的編譯器。當然,由于時間滯后的原因,這個編譯器往往不是最新的版本,若需要更新時希望讀者另外查找相關資料學習。本書就以優龍自帶的cross-3.3.2為例進行講解(具體的名稱不同廠商可能會有區別)。
安裝交叉編譯器的具體步驟在第2章的實驗二中已經進行了詳細地講解了,在此僅回憶關鍵步驟,對于細節請讀者參見第2章的實驗二。
在/usr/local/arm下解壓cross-3.3.2.bar.bz2。
[root@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
[root@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
[root@localhost bin]# which arm-linux*
/usr/local/arm/3.3.2/bin/arm-linux-addr2line
/usr/local/arm/3.3.2/bin/arm-linux-ar
/usr/local/arm/3.3.2/bin/arm-linux-as
/usr/local/arm/3.3.2/bin/arm-linux-c++
/usr/local/arm/3.3.2/bin/arm-linux-c++filt
/usr/local/arm/3.3.2/bin/arm-linux-cpp
/usr/local/arm/3.3.2/bin/arm-linux-g++
/usr/local/arm/3.3.2/bin/arm-linux-gcc
/usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2
/usr/local/arm/3.3.2/bin/arm-linux-gccbug
/usr/local/arm/3.3.2/bin/arm-linux-gcov
/usr/local/arm/3.3.2/bin/arm-linux-ld
/usr/local/arm/3.3.2/bin/arm-linux-nm
/usr/local/arm/3.3.2/bin/arm-linux-objcopy
/usr/local/arm/3.3.2/bin/arm-linux-objdump
/usr/local/arm/3.3.2/bin/arm-linux-ranlib
/usr/local/arm/3.3.2/bin/arm-linux-readelf
/usr/local/arm/3.3.2/bin/arm-linux-size
/usr/local/arm/3.3.2/bin/arm-linux-strings
/usr/local/arm/3.3.2/bin/arm-linux-strip
交叉編譯的概念在第4章中已經詳細講述過,搭建交叉編譯環境是嵌入式開發的第一步,也是必備的一步。搭建交叉編譯環境的方法很多,不同的體系結構、不同的操作內容甚至是不同版本的內核,都會用到不同的交叉編譯器,而且,有些交叉編譯器經常會有部分的bug,這都會導致最后的代碼無法正常地運行。因此,選擇合適的交叉編譯器對于嵌入式開發是非常重要的。
交叉編譯器完整的安裝一般涉及多個軟件的安裝(讀者可以從ftp://gcc.gnu.org/pub/下載),包括binutils、gcc、glibc等軟件。其中,binutils主要用于生成一些輔助工具,如objdump、as、ld等;gcc是用來生成交叉編譯器的,主要生成arm-linux-gcc交叉編譯工具(應該說,生成此工具后已經搭建起了交叉編譯環境,可以編譯Linux內核了,但由于沒有提供標準用戶函數庫,用戶程序還無法編譯);glibc主要是提供用戶程序所使用的一些基本的函數庫。這樣,交叉編譯環境就完全搭建起來了。
上面所述的搭建交叉編譯環境比較復雜,很多步驟都涉及對硬件平臺的選擇。因此,現在嵌入式平臺提供廠商一般會提供在該平臺上測試通過的交叉編譯器,而且很多公司把以上安裝步驟全部寫入腳本文件或者以發行包的形式提供,這樣就大大方便了用戶的使用。如優龍的FS2410開發光盤里就附帶了2.95.3和3.3.2兩個版本的交叉編譯器,其中前一個版本是用于編譯Linux 2.4內核的,而后一個版本是用于編譯Linux 2.6版本內核的。由于這是廠商測試通過的編譯器,因此可靠性會比較高,而且與開發板能夠很好地吻合。所以推薦初學者直接使用廠商提供的編譯器。當然,由于時間滯后的原因,這個編譯器往往不是最新的版本,若需要更新時希望讀者另外查找相關資料學習。本書就以優龍自帶的cross-3.3.2為例進行講解(具體的名稱不同廠商可能會有區別)。
安裝交叉編譯器的具體步驟在第2章的實驗二中已經進行了詳細地講解了,在此僅回憶關鍵步驟,對于細節請讀者參見第2章的實驗二。
在/usr/local/arm下解壓cross-3.3.2.bar.bz2。
[root@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
[root@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
[root@localhost bin]# which arm-linux*
/usr/local/arm/3.3.2/bin/arm-linux-addr2line
/usr/local/arm/3.3.2/bin/arm-linux-ar
/usr/local/arm/3.3.2/bin/arm-linux-as
/usr/local/arm/3.3.2/bin/arm-linux-c++
/usr/local/arm/3.3.2/bin/arm-linux-c++filt
/usr/local/arm/3.3.2/bin/arm-linux-cpp
/usr/local/arm/3.3.2/bin/arm-linux-g++
/usr/local/arm/3.3.2/bin/arm-linux-gcc
/usr/local/arm/3.3.2/bin/arm-linux-gcc-3.3.2
/usr/local/arm/3.3.2/bin/arm-linux-gccbug
/usr/local/arm/3.3.2/bin/arm-linux-gcov
/usr/local/arm/3.3.2/bin/arm-linux-ld
/usr/local/arm/3.3.2/bin/arm-linux-nm
/usr/local/arm/3.3.2/bin/arm-linux-objcopy
/usr/local/arm/3.3.2/bin/arm-linux-objdump
/usr/local/arm/3.3.2/bin/arm-linux-ranlib
/usr/local/arm/3.3.2/bin/arm-linux-readelf
/usr/local/arm/3.3.2/bin/arm-linux-size
/usr/local/arm/3.3.2/bin/arm-linux-strings
/usr/local/arm/3.3.2/bin/arm-linux-strip
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux系統開發實驗分享 2次下載
- 3568編譯環境搭建
- 基于STC89C52RC開發板的嵌入式交叉編譯環境的搭建
- 嵌入式Linux開發環境搭建-3-安裝交叉編譯工具鏈
- 嵌入式Linux開發環境搭建-(4)安裝交叉編譯工具鏈
- 嵌入式Linux開發環境搭建-4-嵌入式編程基礎知識
- 【Linux】嵌入式Linux系統的移植(上篇:交叉編譯器、連接方式)
- 嵌入式linux開發環境搭建(Docker版,基于iTop 4412開發板) 0次下載
- 嵌入式linux一個簡單的hello程序編譯及運行示例
- 嵌入式Linux系統移植
- 嵌入式linux環境搭建
- 嵌入式系統移植-01嵌入式基本概念,嵌入式開發環境搭建,目標機搭建,TFTP服務搭建,NFS服務搭建
- 嵌入式QT多媒體
- 嵌入式開發(一):嵌入式開發新手入門
- arm-linux的交叉編譯環境解析 7次下載
- Purple Pi OH又開外掛!帶你搭建編譯環境及編譯Android 11固件 661次閱讀
- 【從0開始創建AWTK應用程序】編譯應用到嵌入式Linux平臺運行 520次閱讀
- 嵌入式開發中的交叉編譯詳解 931次閱讀
- 嵌入式框架Zorb Framework搭建方案 1314次閱讀
- 為MindSDK搭建armgcc編譯環境(Windows版) 1104次閱讀
- 如何搭建BIFACES+HighTec開發環境 1352次閱讀
- 嵌入式系統的全面解析 3146次閱讀
- 基于嵌入式軟件的JNI技術應用解析 1020次閱讀
- 基于sopc嵌入式文字識別系統設計 1324次閱讀
- 基于FPGA嵌入式系統的智能小車全面解析 9097次閱讀
- 在Nios II平臺下搭建RTEMS嵌入式開發簡析 1510次閱讀
- 什么是交叉編譯?為何要有交叉編譯 3.7w次閱讀
- 嵌入式開發環境的搭建 8304次閱讀
- 嵌入式開發環境介紹,嵌入式文件系統要求分析 1143次閱讀
- 編譯環境和交叉編譯環境的搭建 1355次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多