<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于以太網(wǎng)的嵌入式開(kāi)發(fā)環(huán)境的研究與實(shí)現

基于以太網(wǎng)的嵌入式開(kāi)發(fā)環(huán)境的研究與實(shí)現

作者:■ 北京工業(yè)大學(xué)電控學(xué)院 張小全 吳晴 時(shí)間:2005-01-17 來(lái)源:電子設計應用2004年第11期 收藏

摘    要:本文探討了在以太網(wǎng)環(huán)境下嵌入式開(kāi)發(fā)環(huán)境的構建方法,以ARM+嵌入式開(kāi)發(fā)系統為例,詳細地研究了方式在嵌入式開(kāi)發(fā)中的使用。
關(guān)鍵詞:;;;
引言
的開(kāi)發(fā)與應用是目前發(fā)展的一個(gè)熱點(diǎn),而的開(kāi)發(fā)手段在嵌入式開(kāi)發(fā)中起著(zhù)至關(guān)重要的作用。其中,通過(guò)以太網(wǎng)調試和運行開(kāi)發(fā)程序的方法在嵌入式系統的開(kāi)發(fā)中得到了廣泛應用,本文就此展開(kāi)說(shuō)明。

本文引用地址:http://dyxdggzs.com/article/4359.htm

特點(diǎn)簡(jiǎn)介
1. 取消了內存管理單元MMU,具有完整的網(wǎng)絡(luò )功能。
2. 完備的文件系統支持,采用了romfs文件系統作為根文件系統,相對于一般的ext2文件系統要求更少的空間。
3. 使用了flat可執行文件格式:elf格式有很大的文件頭,flat文件對文件頭和一些段信息做了簡(jiǎn)化。
4. 體積小,可移植性強。

圖1  開(kāi)發(fā)環(huán)境示意圖

常見(jiàn)的基于mClinux的嵌入
式系統開(kāi)發(fā)環(huán)境的構建方法
在嵌入式系統的開(kāi)發(fā)過(guò)程中,通常都要建立交叉編譯環(huán)境,圖1為常見(jiàn)的嵌入式系統開(kāi)發(fā)環(huán)境示意圖,基于以太網(wǎng)下的調試一般應將宿主機和用戶(hù)板接入到局域網(wǎng)中,本文以mClinux +S3C4510B的開(kāi)發(fā)環(huán)境為例進(jìn)行說(shuō)明。通常的做法是在宿主機上安裝RedHat  Linux操作系統,并同時(shí)安裝針對ARM開(kāi)發(fā)的工具鏈arm-elf-tools。這樣,在宿主機上編輯和編譯好的用戶(hù)程序,就可以通過(guò)以太網(wǎng),將編譯后的可執行文件下載到用戶(hù)板來(lái)運行。下載方式主要有以下幾種。
方式
首先需要打開(kāi)一個(gè)超級終端,設置好相應的通訊參數,再給系統上電,就可以在超級終端里看到mClinux的啟動(dòng)信息。這里指明宿主機的IP地址是:10.5.22.247,用戶(hù)板的IP地址是:10.5.22.8,執行如下命令來(lái)配置用戶(hù)板的IP:
# ifconfig eth0 10.5.22.8
eth0 指網(wǎng)絡(luò )設備。需要注意的是,用戶(hù)板的IP地址需和宿主機的IP地址在同一網(wǎng)段,否則難以正常的訪(fǎng)問(wèn)宿主機。
這時(shí)如果可以ping通宿主機,就可以通過(guò)FTP方式訪(fǎng)問(wèn)宿主機的網(wǎng)絡(luò )資源了。
接下來(lái)選擇用戶(hù)程序的存放目錄。應注意,如果用戶(hù)板用的是romfs文件系統,那么只有少數幾個(gè)目錄可以訪(fǎng)問(wèn)(如tmp ,var等)。選好存放目錄之后,就可以通過(guò)FTP方式訪(fǎng)問(wèn)宿主機了,鍵入如下命令:
# cd  /tmp
# ftp 10.5.22.247
然后輸入用戶(hù)名和密碼以確定是否具有訪(fǎng)問(wèn)權限,成功登陸之后,需要確定文件傳送格式。FTP可以用binary和ascii兩種方式來(lái)傳送文件,這里選擇的是binary方式。輸入以下指令來(lái)獲取文件:
# binary
# get filename
# bye
執行# bye后就可以退出FTP。這時(shí)可以鍵入ls命令來(lái)查看文件是否已經(jīng)傳到選定的目錄下。接下來(lái)要做的是改變文件的權限,如果沒(méi)有可執行權限,在用戶(hù)板中就無(wú)法運行程序。
# chmod 755 filename
這里的參數“7”表示擁有讀、寫(xiě)和執行的權限;“5”僅代表?yè)碛凶x和執行的權限。完成以上配置后,就可以用如下命令執行用戶(hù)程序了:
# ./filename
方式
使用NFS (NetWork File System)方式可以使嵌入式應用程序的開(kāi)發(fā)和調試變得更為方便,并在不同的機器、不同的操作系統間共享文件,因此,NFS在嵌入式開(kāi)發(fā)中得到了廣泛的應用。目前,在mClinux-2.4-x版本下配置NFS相對比較困難,下面就配置問(wèn)題進(jìn)行詳細說(shuō)明。
服務(wù)器(Sever)端的設置
首先需要設置 Linux下的/etc/exports文檔,它是NFS的主要設定文檔。在Linux下的shell終端,進(jìn)行如下操作:
# vim /etc/exports
將這個(gè)默認的空文件修改為只有如下一行內容:
/home/tmp  *(rw,no_root_ squash)
這就表示在任何情況下,客戶(hù)端都可以訪(fǎng)問(wèn)服務(wù)器端的/home/tmp目錄。
接下來(lái)要在服務(wù)器端開(kāi)啟如下的兩個(gè)進(jìn)程:
1.開(kāi)啟NFS服務(wù)
# /etc/rc.d/init.d/nfs      start
啟動(dòng)NFS服務(wù):             [ OK ]
Starting NFS quotas:      [ OK ]
啟動(dòng)NFS 守護進(jìn)程:     [ OK ]
啟動(dòng)NFS mounted :       [ OK ]
2.開(kāi)啟portmap服務(wù)
# /etc/rc.d/init.d/portmap    start
配置完成后,可用如下辦法簡(jiǎn)單測試一下NFS是否配置成功(注意在Linux下要將防火墻關(guān)閉):在宿主機上自己mount自己,看是否成功。例如,在宿主機/目錄下執行:
mount 10.5.22.247:/root/   /home/zhang/mount
然后到/home/zhang/mount/目錄下看是否可以列出/root/目錄下的所有文件和目錄。若可以,則說(shuō)明NFS在服務(wù)器端的配置成功。
客戶(hù)端(Client)的設置
相對于Sever端的設置,Client端使用的是 mClinux, 設置起來(lái)相對復雜一些,需要對mClinux的內核重新編譯,并進(jìn)行相關(guān)配置。需要設置Customize  Kernel Settings 和 Customize Vender/User Setings(NEW)兩項。
1. 對Customize  Kernel Settings進(jìn)行配置
[ * ] Customize  Kernel Settings
進(jìn)入File systems的設置,可以看到Network file systems---,將NFS File system support選中。
2.設置Customize Vender/User Setings(NEW)
[ * ] Customize Vender/User Setings(NEW)
在Customize Vender/User Setings 項目中,選擇Network Applications之后,需要其中的portmap服務(wù),[*]  portmap即可。然后選擇mount和umount服務(wù)使mClinux支持mount和umount指令。mClinux-2.4-x的內核對NFS mount的支持不夠,這使得在mClinux上添加NFS服務(wù)存在一些困難,而在較新的mClinux版本mClinux-2.6-x中重寫(xiě)了對NTFS文件系統的支持。在BusyBox中選擇mount和umount及mount NFS support三項即可,這樣客戶(hù)端的配置完成。最后重新編譯內核,指令如下:
# make menuconfig ------------- 內核配置
# make dep -------------尋找依存關(guān)系
# make clean------------清除以前構造內核時(shí)生成的文件
# make lib_only-----------該命令編譯庫文件
# make user_only----------編譯用戶(hù)應用程序文件
# make romfs ----------生成romfs文件系統
# make image----------生成romfs.o文件
# make
重新編譯后,會(huì )在.../image/目錄下生成image.rom文件,它是壓縮了的內核在rom的映像文件,將其燒寫(xiě)到用戶(hù)板的Flash即可。用戶(hù)板重新啟動(dòng)之后,新的內核已經(jīng)開(kāi)始工作,這時(shí)就可以在終端里進(jìn)行NFS mount了(以在minicom為例)。輸入如下指令:
#mount -t nfs 10.5.22.247:/home/tmp /var/tmp /nfsmount -o  nolock
# mount
執行完兩條指令后,在Linux下的minicom里會(huì )看到如下信息:
 Rootfs on / type rootfs (rw)
/dev/rom0 on / type rootfs (ro)
/proc on/proc type proc (rw)
/dev/ram0 on/var type ext2 (rw)
/dev/ram1 on /disk type ext2 (rw)
10.5.22.247:/home/tmp on /var/tmp type nfs (rw,v3,rsize=8192,hard, udp,nolock,addr=10.5.22.2)
這樣就將宿主機的/home/tmp目錄掛載到了用戶(hù)板的/var/tmp目錄。

結語(yǔ)
通過(guò)以上兩種方式的比較,可以看到,就開(kāi)發(fā)的效率來(lái)說(shuō),NFS的方式明顯具有優(yōu)勢。畢竟,用戶(hù)開(kāi)發(fā)的程序往往不能一次就調試成功,采用NFS方式使得多人同時(shí)開(kāi)發(fā)一個(gè)程序成為可能。事實(shí)上,除了文中提到的兩種方式以外,還有其它以太網(wǎng)環(huán)境下的嵌入式開(kāi)發(fā)手段,如telnet等,限于篇幅,不再詳細介紹?!?/p>

參考文獻
1 郭英見(jiàn). 網(wǎng)絡(luò )文件系統( NFS) 的工作原理和應用技術(shù). 計算機與通訊
2 李駒光. ARM應用系統開(kāi)發(fā)詳解. 清華大學(xué)出版社, 2003.12
3 鄒思鐵. 嵌入式Linux設計與應用. 清華大學(xué)出版社, 2002.4



關(guān)鍵詞: FTP mClinux NFS 嵌入式系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>