歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> AT91SAM9260交叉編譯環境的搭建

AT91SAM9260交叉編譯環境的搭建

日期:2017/3/1 11:09:19   编辑:Linux編程

目標板:AT91SAM9260EK

首先,到atmel官方網站atmel.com去下載相關源碼。因為我是要在Linux系統上搭建arm交叉編譯環境,因此需要下載所需源碼,順便將所需代碼全部下載下來。

進入www.linux4sam.org網站,下載交叉編譯工具鏈:

arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

下載AT91的Boottrap包:

AT91Bootstrap1.15.zip

下載u-boot和補丁包:

u-boot-1.3.4.tar.bz2

u-boot-1.3.4-exp.3.diff

下載linux內核及補丁包:

linux-2.6.30.tar.bz2

2.6.30-at91-exp.tar.gz

2.6.30-at91.patch.gz

剩下就是文件系統了,後面會繼續描述。

有了上面的源碼,我們就可以搭建交叉編譯環境了。我是在/usr/local/下面創建的toolchain文件夾,並將交叉編譯環境的源碼放在此文件夾中的src文件夾中。

[root@localhost local]# mkdir toolchain

[root@localhost local]# cd toolchain/src/

[root@localhost src]# ls

arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 arm-linux-cross-2.95.3.tar.bz2

[root@localhost src]# tar xvf arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C ../

上面一條的命令是將交叉編譯鏈解壓到上一層目錄。

[root@localhost toolchain]# ls

arm-2007q1 src

這個arm-2007q1就是交叉編譯鏈的文件夾。下面聲明環境變量,否則每次啟動機器都要聲明環境變量。

[root@localhost toolchain]# vim /etc/bashrc

在該文件最後一行加入如下一行信息:

export PATH=:$PATH:/usr/local/toolchain/arm-2007q1/bin

保存退出。

在命令行下輸入如下信息,如:

[root@localhost local]# source /etc/bashrc

這樣可以讓環境變量立即生效,上一步不執行也行,不過要重新啟動機器的哦。^_^

此時查看交叉編譯環境是否搭建成功,如下:

[root@localhost local]# arm-none-linux-gnueabi-gcc -v

Using built-in specs.

Target: arm-none-linux-gnueabi

Configured with: /scratch/paul/arm/src/gcc-4.2/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-shared --enable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --prefix=/opt/codesourcery --enable-languages=c,c++ --enable-symvers=gnu--enable-__cxa_atexit --with-versuffix=CodeSourcery Sourcery G++ Lite 2007q1-10 --with-pkgversion=CodeSourcery Sourcery G++ Lite 2007q1-10 --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/paul/arm/install/arm-none-linux-gnueabi/libc --enable-poison-system-directories --with-build-time-tools=/scratch/paul/arm/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/paul/arm/install/arm-none-linux-gnueabi/bin

Thread model: posix

gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)

若出現如下信息,恭喜你,交叉編譯環境搭建完成!o(∩_∩)o...哈哈

在下面的嵌入式開發中,大部分的編譯都要用到該編譯鏈。不過,有些要用2.95.3的交叉編譯鏈,如boa、net-snmp等,至少我用當前的編譯器編譯是不能通過或者存在其他問題。

下面顯示一下部分文件的路徑:

[root@localhost toolchain]# pwd

/usr/local/toolchain

[root@localhost src]# pwd

/usr/local/toolchain/src

[root@localhost arm-2007q1]# pwd

/usr/local/toolchain/arm-2007q1

Copyright © Linux教程網 All Rights Reserved