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

================( 可以在ubuntu11.10中成功進行安裝配置)============= 1、tftp服務器的安裝注意:

如果在apt-get install過程中,出現找不到一大堆的東西,一般是源有問題。到新立得下面操作,標記安裝,一般就可以,還不行的話,換個源。在新立得下如果卸載出現什么子進程的什么什么東東。要到/var/lib/dpkg/info/下刪除相應的tftp-hpa和tftpd_hpa文件。然后到/var/cache/apt/archives下刪除相應的tftp-hpa和tftpd_hpa文件。 在ubuntu11.10中,在終端中輸入如下命令進行安裝:(使用root用戶)

1.apt-get install tftp-hpa tftpd-hpa(或者在新立得中標記安裝)前者為客戶程序,后者為服務程序

2. mkdir /home/tang/tmp (可根據需要建立相應的目錄,此目錄為tftp的共享目錄) chmod 777 /home/tang/tmp cd /home/tang/tmp vi test.txt

隨便輸入數據保存 cd /home/tang

vi test1.txt (需要用root權限進行創建,否則無法進行保存退出) 隨便輸入數據保存

3.vi /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME=\

TFTP_DIRECTORY=\這里是你的tftpd-hpa的服務目錄,這個想建立在哪里都行 TFTP_ADDRESS=\

TFTP_OPTIONS=\這里是選項,-c是可以上傳文件的參數,-s是指定tftpd-hpa服務目錄,上面已經指定

4. service tftpd-hpa restart 啟動服務,這里要注意,采用的獨立服務形式。而不是采用超級服務xinetd啟動tftpd的方式。在網上有人說用tftpd-hpa和tftp- hpa再加上在/etc/xinetd.d下編寫tftp服務文件的方式,經過我的反復測試,并不能用service xinetd restart來啟動tftpd服務。至于用較老的版本tftpd和tftp再加上xinetd能否成功,我沒有測試過。既然新版本能成功,我也就不再測試了。

5.測試

cd /home/tang root tftp 127.0.0.1

tftp>get test.txt (if not root ,will warning permission denied) tftp>put test1.txt tftp>quit $ls

會看見test.txt cd tmp ls

test.txt,test1.txt都存在

如果成功,會沒有任何提示,而且基本上看不見任何延時。注意嚴格按照以上操作,不要動xinetd的配置。只需要修改/etc/default/tfptd-hpa即可。

安裝過程整理總結:

1、前期按照其他方法來進行安裝配置,但是系統提示tftp無法進行文件傳輸。 2、卸載掉原來安裝的版本,重新上面的安裝方法進行安裝配置

3、在安裝過程中可以不安裝守護進程xinetd,配置完成后可以在本機下進行測試。

[備注:]

驗證tftp是否生效(先在本機下進行測試) 上傳文件:

切換到/home/用戶/ 下并創建test.txt文件 tftp 127.0.0.1 tftp> put test.txt tftp>quit

此時/home/tang/tmp目錄下應該有test.txt文件了 下載文件:

到其他的目錄下(當前目錄不要與創建文件的目錄一樣) tftp 127.0.0.1 tftp> get test.txt tftp>quit

就可以把test.txt下載到當前目錄

與開發板的文件傳輸過程: tftp服務器的使用:

1>在主機(也就是服務器端)開啟tftp服務器

service tftpd-hpa restart 啟動服務(由于沒有安裝守護程序,可直接重啟服務器)

2>打開終端,用minicom進入到uclinux

3>修改AT91SAM9260開發板的IP地址跟主機在同一個網段 ifconfig eth0 192.168.9.100

4>進入其中的一個下載目錄:如/mnt

5>在開發板的終端中

輸入:tftp 192.168.9.103(假設我這臺主機的IP是這個)

注意這里的ARM開發板板要跟主機在同一個網段,若ARM板不是跟主機在同一個網段,則會出現無法登錄的情況,修改方法是:在ARM(9260)上輸入ifconfig eth0 192.168.9.*(這里假設主機的網關是192.168.9.1)若成功登錄則會有如下的提示:tftp >

6>輸入:get <你要下載的文件名> //注意這個文件名必須是在tftp的工作目錄下,如前面我設置為 /home/tang/tmp

7>如果下載成功則會提示用了多少秒

8>接下來我們就可以直接運行這個文件了(有時候會出現不能運行的情況,如badcommand等,此時可以用以下的命令:chmod 777 文件名)。

====================在ubuntu11.10中可以成功安裝=============== 2、安裝NFS

嵌入式開發時,nfs(網絡文件系統)可以實現主機和開發板共享文件

(1)安裝所需軟件包

apt-get install nfs-common nfs-kernel-server portmap (2)配置 vim /etc/exports 增加下面這一行內容:

/home/alextang *(rw,sync,no_root_squash) #(注意:在共享目錄后面要留有一個空格!) ps:/home/alextang: 表示共享的目錄(同時需要在/home目錄下新建alextang做為共享目錄) * :允許所有的網段訪問,也可以設置成某一個ip段,如192.168.0.* rw :讀寫權限

sync:資料同步寫入內在和硬盤

no_root_squash:nfs 允許客戶端共享目錄所有者權限 (3)啟動服務

/etc/init.d/nfs-kernel-server restart --重啟nfs服務器 /etc/init.d/nfs-kernel-server status --查看nfs狀態 也可以使用:netstat -a | grep nfs 查看

查看nfs的設置:

showmount -e 192.168.1.130 檢驗一下設置是否有問題

(4)測試NFS

在本機環境下進行NFS測試: 在/mnt下創建nfs目錄 sudo mkdir /mnt/nfs

將主機/home/alextang目錄掛載到/mnt/nfs下 sudo mount -t nfs 127.0.0.1:/home/alextang /mnt/nfs

查看/mnt/nfs目錄下所有的文件,跟/home/alextang目錄下的文件一樣 ls -l /mnt/nfs/ 卸載:

sudo umount /mnt/nfs/

在開發板進行NFS測試可能會出現的一些問題:

1、提示NFS服務器的權限拒絕時,可能是主機的/etc/exports文件的網段設置與mount的網段不一致,或者是文件中的共享目錄設置與mount的目錄不一致。

2、啟動目標板并連通網絡后,首先查看kernel自身是否支持nfs, cat /proc/filesystems

查看其中是否有nfs一行,若沒有則表示內核不支持nfs,就需要重新編譯和燒錄內核;有則OK,接下來就可以直接mount操作。

3、提示NFS服務器沒有回應,超時,應該在mount 命令后面添加nolock,命令格式: mount -o nolock 192.168.9.103:/home/alextang /mnt

原因是連接到舊版本的NFS服務器時需要用到禁止文件鎖。也有可能是因為在其他的終端中已經mount了別的目錄,需要將已掛載的目錄umount。

4、主機防火墻有設置時,也可能導致目標板無法正常訪問。(一般ubuntu系統會默認把防火墻關掉,如果打開的話就得先關掉防火墻后再測試。

【備注:】

通過NFS掛接遠程主機的文件系統時,使用一些不同的選現可以使得mount比較簡單易用。這些選項可以在mount命令中使用,也可以在/etc/fstab和autofs中設定。 以下是NFS mount常用的一些選現:

? hard or soft -- 指定當程序無法通過NFS連接使用服務器輸出的文件系統上的文件時,是否需要等待服務器重新在線。如果是soft情況,它將報錯。如果指定hard,用戶 無法不能終止程序等待NFS通訊恢復,除非同時指定了intr選項。如果指定了soft,用戶可以設置附加選項timeo=指定了錯誤報告之前的秒數。 ? intr -- 當服務器宕機或者無法到達時,允許中斷NFS請求。 ? nfsvers=2或者nfsvers=3 -- 指定使用那個版本的NFS協議。

? nolock -- 禁用文件鎖。這個設置在連接到一個舊版本的NFS服務器時偶爾會用到。

? noexec -- 防止執行被掛接的系統上的二進制文件。這在系統通過NFS掛接一個包含有不兼容的二進制文件的非linux系統時是很有用的。

? nosuid -- 禁用\設置用戶標志位\(set-user-identifier)或者\設置組標志位\(set-group-identifier)。這樣防止遠程用戶運行setuid程序獲得更高權限。

? rsize=8192和wsize=8192 -- 通過設定大的同時傳輸的數據塊大小(bytes),以提高NFS讀寫的速度。改變這些值時要當心,一些舊的linux內核和網卡在大的塊大小不能正常工作。 ? tcp -- 指定NFS使用TCP協議mount,替換UDP。

成功把測試文件傳到NFS服務器的共享目錄后,從開發板終端將開發板共享目錄掛載到某個目錄下,就可以進行相關的測試: 1、進行串口測試: ./uart_test

然后出現選擇端口的命令Select a port to test (0-6) 輸入一個數字如:0。選擇好端口后,就可以進行串口的測試 即在開發板終端中輸入字符會自動返回顯示出來

===================================== ====================================== 此處以下以后再進行詳細過程整理總結

====================================================== =====================

嵌入式Linux實戰篇--交叉編譯環境的建立(基于ubuntu 11.10)

在進行嵌入式開發之前,首先要建立一個交叉編譯環境,這是一套編譯器、連接器和libc庫等組成的開發環境。本文具體說明了嵌入式交叉編譯環境的建立過程和具體的操作步驟,希望能夠對各位朋友搭建對應的交叉編譯環境有所幫助。

一、所需軟硬件環境 ■ 主機環境

建立交叉編譯工具鏈的主機環境: Ubuntu 11.10,gcc-4.3.2 ■ Ubuntu 11.10軟件環境

保證你的 Ubuntu 11.10 安裝了如下的軟件: Bison flex build-essential patch libncurses5-dev 安裝這些軟件包:

sudo apt-get install Bison flex build-essential patch libncurese5-dev 或直接下載下列deb軟件包

bison_13a2.3.dfsg-4build1_i386.deb build-essential_11.4_i386.deb flex_2.5.33-10build1_i386.deb

libncurses5-dev_5.6+20071124-1ubuntu2_i386.deb m4_1.4.8-1build1_i386.deb patch_2.5.9-5_i386.deb

然后 sudo dpkg –i *.deb 安裝這些軟件包。 ■ 相關軟件包

本方案所選軟件包如下: gcc-3.4.5.tar.gz glibc-2.3.6.tar.gz linux-2.6.26.5.tar.gz crosstool-0.43.tar.gz binutils-2.15.tar.gz

glibc-linuxthreads-2.3.3.tar.gz linux-libc-headers-2.6.12.0.tar.bz2 二、具體工作步驟 1、修改系統配置

1.1、Ubuntu 8.10 默認安裝的 gcc 版本為4.3.2,這個版本對于語法要求較高,編譯會出錯,目前不宜選用,于是選擇了 gcc-4.1.1 ,但并不需要卸載 gcc-4.3.2。 (1)第一種方法:直接在終端輸入安裝gcc-4.1 sudo apt-get install gcc-4.1 (2)第二種方法:下載下列軟件包: gcc-4.1_4.1.2-23ubuntu3_i386.deb gcc-4.1-base_4.1.2-23ubuntu3_i386.deb cpp-4.1_4.1.2-23ubuntu3_i386.deb 然后sudo dpkg –i *.deb





黑龙江22选5兑奖期限