資料介紹
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。
?。踨oot@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
?。踨oot@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
?。踨oot@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。
?。踨oot@localhost arm]# tar –jxvf cross-3.3.2.bar.bz2
[root@localhost arm]# ls
3.3.2 cross-3.3.2.tar.bz2
?。踨oot@localhost arm]# cd 。/3.3.2
[root@localhost arm]# ls
arm-linux bin etc include info lib libexec man sbin share VERSIONS
?。踨oot@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固件 1268次閱讀
- 【從0開始創建AWTK應用程序】編譯應用到嵌入式Linux平臺運行 736次閱讀
- 嵌入式開發中的交叉編譯詳解 1326次閱讀
- 嵌入式框架Zorb Framework搭建方案 1494次閱讀
- 為MindSDK搭建armgcc編譯環境(Windows版) 1297次閱讀
- 如何搭建BIFACES+HighTec開發環境 1578次閱讀
- 嵌入式系統的全面解析 3280次閱讀
- 基于嵌入式軟件的JNI技術應用解析 1106次閱讀
- 基于sopc嵌入式文字識別系統設計 1462次閱讀
- 基于FPGA嵌入式系統的智能小車全面解析 9454次閱讀
- 在Nios II平臺下搭建RTEMS嵌入式開發簡析 1589次閱讀
- 什么是交叉編譯?為何要有交叉編譯 3.8w次閱讀
- 嵌入式開發環境的搭建 8548次閱讀
- 嵌入式開發環境介紹,嵌入式文件系統要求分析 1201次閱讀
- 編譯環境和交叉編譯環境的搭建 1400次閱讀
下載排行
本周
- 1PC2596 40V 輸入 150KHz 3A 降壓型電源轉換器數據手冊
- 2.44 MB | 3次下載 | 免費
- 2臺式主板DDR5內存插槽引腳功能表資料
- 0.17 MB | 2次下載 | 5 積分
- 3高壓LED線性驅動芯片NU517應用規格書
- 0.61 MB | 2次下載 | 免費
- 4ZYNALOG徴格半導體|ZGAD125S14技術參數書
- 982.53 KB | 2次下載 | 免費
- 5SM9001電磁爐IGBT驅動芯片應用原理圖資料
- 0.12 MB | 2次下載 | 1 積分
- 6BK4802P 玩具無線對講/遙控 IC數據手冊
- 1.81 MB | 1次下載 | 2 積分
- 7SE10F10B5.0UA 低電容ESD二極管
- 199.49 KB | 1次下載 | 免費
- 8電阻元件\電感元件\電容元件知識大全
- 4.67 MB | 1次下載 | 5 積分
本月
- 1常用電子元器件集錦
- 1.72 MB | 24495次下載 | 免費
- 2三相逆變主電路的原理圖和PCB資料合集免費下載
- 27.35 MB | 111次下載 | 1 積分
- 3蘋果iphone 11電路原理圖
- 4.98 MB | 17次下載 | 5 積分
- 4運算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費
- 5常用電子元器件介紹
- 3.21 MB | 13次下載 | 免費
- 6PC2456高壓浪涌抑制器控制器數據手冊
- 3.03 MB | 13次下載 | 免費
- 7PC2464具理想二極管的浪涌抑制控制器數據手冊
- 4.42 MB | 8次下載 | 免費
- 8PC2466高電壓浪涌抑制器數據手冊
- 3.37 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191401次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73816次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評論