中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

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

        本文引用地址:http://www.antipu.com.cn/article/4359.htm

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

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

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

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

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



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

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉