AT91SAM9260開發環境搭建大全(tftp - nfs - 編譯器安裝等) - 下載本文

安裝就可以了

sudo rm /usr/bin/gcc (刪除GCC,它只是個到gcc-4.3.2的軟鏈接文件) sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的軟鏈接) 1.2、修改sh版本 如果運行 ls -la /bin/sh

看到鏈接的是 dash ,則請運行以下命令 sudo dpkg-reconfigure dash 選擇 no 以刪除 dash

此處如果不改好的話,編譯時會出現錯誤

2.解壓軟件包,并進入該目錄,查看重要的腳本文件。 $cd downloads

$tar –zxvf crosstool-0.43.tar.gz $cd crosstool-0.43

在此目錄下可以看到有很多.sh腳本和.dat配置文件,每一個支持的處理器都有它所相應的腳本。假如選用demo-arm-softfloat.sh 就是建立目標為支持軟浮點的arm交叉編譯工具鏈。 3.修改demo-arm-softfloat.sh $vim demo-arm-softfloat.sh 修改下面兩句

TARBALLS_DIR=$HOME/downloads //表示下載的源碼的存放目錄 RESULT_TOP=/opt/crosstools //表示生成的工具鏈的存放目錄 為:

TARBALLS_DIR=/home/linux/downloads(源碼存放目錄) RESULT_TOP=/home/linux/crosstools(生成工具鏈目錄) 4.修改 gcc-3.4.5-glibc-2.3.6.dat $ vim gcc-3.4.5-glibc-2.3.6.dat 修改內容為:

BINUTILS_DIR=binutils-2.15 GCC_DIR=gcc-3.4.5 GLIBC_DIR=glibc-2.3.6 LINUX_DIR=linux-2.6.26.5

LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0 GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6 5.$ ./ demo-arm-softfloat.sh 這個過程較長(半個小時左右) 6.修改環境變量

修改環境變量有多種方法我們介紹兩種

(1)第一種方法:在當前用戶目錄的.bashrc中添加如下內容

$export PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin: (2)第二種方法:或直接修改/home/linux/.bashrc cd /home/linux vim .bashrc 添加如下內容:

PATH=$PATH:/home/linux/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin: 然后

source .bashrc 7.執行如下命令

$ arm-softfloat-linux-gnu-gcc -v 顯示

Reading specs from /home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/lib/gcc/arm-softfloat-linux-gnu/3.4.5/specs

Configured with: /home/david/downloads/crosstool-0.43/build/arm-softfloat-linux-gnu/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure --target=arm-softfloat-linux-gnu --host=i686-host_pc-linux-gnu --prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu --with-float=soft --with-headers=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu/include --with-local-prefix=/home/david/project/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/arm-softfloat-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long Thread model: posix gcc version 3.4.5 ok交叉編譯環境創建成功! 8.恢復我們修改的系統配置: 恢復gcc為4.3 sudo rm /usr/bin/gcc

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc 重新安裝dash

sudo dpkg-reconfigure dash 選擇 yes 以重新安裝 dash

000000000000000000000000000000000000000000000000000 內核編譯的安裝

000000000000000000000000000000000000000000000000000

開發板附帶的安裝過程參考:

如果還沒有安裝armv5-linux-gcc這個編譯器,按如下方法安裝。

從光盤中拷貝armv5-linux-gcc.tar.bz2 文件到linux PC 的/opt/timesys/toolchains文件夾下面,用如下命令進安裝。

[[email protected] opt]$ tar –jxvf armv5-linux-gcc.tar.bz2

這時在/opt/timesys/toolchains這個文件夾下面可看到文件,這里面就是安裝的編譯器 1.1. 編譯Linux內核 從光盤中拷貝linux-2.6.19.tar.bz2文件PC機某個目錄下面并解壓,然后進入內核源碼的根目錄。 [[email protected] 9260s]$ ls

linux-2.6.19.tar.bz2

[[email protected] 9260s]$ tar -xjvf linux-2.6.19 [[email protected] 9260s]$ ls

linux-2.6.19 linux-2.6.19.tar.bz2 [[email protected] 9260s]$ cd linux-2.6.19

[[email protected] linux-2.6.19]$ make menuconfig

按照開發板附帶的安裝Linux編譯文件,執行以下步驟后發現,執行make menuconfig命令后,提示如下錯誤信息:

HOSTCC scripts/kconfig/lxdialog/checklist.o

In file included from scripts/kconfig/lxdialog/checklist.c:24:0:

scripts/kconfig/lxdialog/dialog.h:32:20: 致命錯誤: curses.h:沒有那個文件或目錄 編譯中斷。

make[1]: *** [scripts/kconfig/lxdialog/checklist.o] 錯誤 1 make: *** [menuconfig] 錯誤 2

解決辦法:ubuntu系統中缺少一個套件 ncurses devel ,把此套件安裝下即可 $ sudo apt-get install libncurses5-dev 然后可以進行編譯內核的配置。 [注:]

配置文件的保存可以采用默認的名字,編譯時會自動選擇默認的名字。也可以在Makefile中進行更改,gedit xxx.cfg 進行查看內核的配置,文件中的內容與用Make menuconfig打開的界面內容選項對應。 0000000000000000000000000000000000000000000000

一、交叉編譯環境 arm-linux-gcc-2.95.3 的建立 1.下載cross-2.95.3.tar.bz2 2.建目錄,復制,解壓 # cd /usr/local # mkdir arm # cd arm

復制cross-2.95.3.tar.bz2 到當前目錄 # tar jxvf cross-2.95.3.tar.bz2

3.導出/usr/local/arm/2.95.3/bin 到環境變量

在/etc/profile 最后添加 PATH=$PATH:/usr/local/arm/2.95.3/bin

二、交叉編譯環境 arm-linux-gcc-3.4.1的建立

書中介紹的crosstool制作工具的鏈的方法很好,但是很浪費時間,因為編譯一次要數個小時,很是麻煩,也不適合初學這,這里的方法是書中3.2節提 到的第一種方法,很簡單,但是正如書中所說,不是自己定制的受到局限不是很理想,但對我們的開發這已經足夠用了。建議大家還是先選用這種方法 1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下。 arm-linux-gcc-3.4.1.tar.bz2 的下載地址如下:

http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2

2.解壓 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2

解壓過程需要一段時間,解壓后的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下 # cd usr/local/

#cp -rv arm /usr/local/

現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了

3. 修改環境變量,把交叉編譯器的路徑加入到PATH。(有三種方法,強烈推薦使用方法一) 方法一:修改/etc/bash.bashrc文件 #vim /etc/bash.bashrc 在最后加上:

export PATH=$PATH:/usr/local/arm/3.4.1/bin export PATH (注意:“=”前后不能有空格) (如果不能編輯,先修改相關文件的權限使用chmod命令。) 方法二:修改/etc/profile文件: # vim /etc/profile

增加路徑設置,在末尾添加如下,保存/etc/profile文件: export PATH=$PATH:/usr/local/arm/3.4.1/bin

方法三:#export PATH=$PATH:/usr/local/arm/3.4.1/bin 注:(這只能在當前的終端下才是有效的!) 4. 立即使新的環境變量生效,不用重啟電腦: 對應方法一:#source /root/.bashrc 對應方法二:# source /etc/profile 5. 檢查是否將路徑加入到PATH: # echo $PATH

顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交叉編譯環境安裝完成。

6.測試是否安裝成功 # arm-linux-gcc -v

上面的命令會顯示arm-linux-gcc信息和版本,這是我顯示的信息:

Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs

Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc- 3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu

--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm

-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable

-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-

languages=c,c++ --enable-shared --enable-c99 --enable-long-long Thread model: posix gcc version 3.4.1

7.編譯Hello World程序,測試交叉工具鏈

寫下下面的Hello World程序,保存為 hello.c #include int main() {

printf(\return 0; }

執行下面的命令:

# arm-linux-gcc -o hello hello.c

源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標板上運行了!

接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執行文件只能在ARM體系下運行,不能在其于X86的PC機上運行。

有時會有如下的警告:

warning: no newline at end of file

英文的意思就是說文末沒有換行符。Unix文檔的回車換行符是一個字符\\n,Windows的是分別的兩個\\n\\r,所以你在Windows下編輯的最后一個字符是\\r不是\\n,所以編譯器以為有錯誤。在文件最后補一個新行即可。

源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標板上運行了! 接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執行文件只能在ARM體系下運行,不能在其于X86的PC機上運行。 想要在PC機linux上運行,只需執行如下命令: gcc hello.c -o hello ./hello 顯示打印結果

至此嵌入式的開發環境搭建完畢





黑龙江22选5兑奖期限