基于ARM9和Linux操作系統下的TCP套接字通信95005_第1頁
基于ARM9和Linux操作系統下的TCP套接字通信95005_第2頁
基于ARM9和Linux操作系統下的TCP套接字通信95005_第3頁
基于ARM9和Linux操作系統下的TCP套接字通信95005_第4頁
基于ARM9和Linux操作系統下的TCP套接字通信95005_第5頁
已閱讀5頁,還剩18頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、. . . . 目錄1 功能描述11.1 課題背景11.2 課題意義12 基礎知識12.1開發環境介紹12.1.1硬件環境12.1.2軟件環境22.2 網絡配置22.2.1 橋接22.2.2NFS32.2.3 FTP32.2.4 Linux基本命令32.3 基于Socket的TCP通信43 系統設計4整個系統的設計流程圖如圖3-1所示:4圖3-1 系統流程圖54 實驗54.1 實驗準備54.1.1VMware workatation 7.1.2的安裝54.1.2 建立虛擬機54.1.3 在虛擬機上安裝RHL9操作系統54.1.4 驅動的安裝74.2 網絡環境搭建94.2.1網絡配置94.2.2

2、 配置NFS服務器104.2.3 配置FTP服務器124.2.4 建立交叉編譯環境154.3 程序設計164.4實習平臺搭建17總 結21參考文獻221 功能描述1.1 課題背景 傳統的數據傳輸和通訊,需要鋪設專用的介質和電纜。通過前端的傳感機器采集數據信息,并通過相關的通訊協議進行數據傳輸。比如我們經常使用的CAN,485總線等。這些總線和協議需要自己定制,硬件設備需要自己設計開發,面向的對象不同,解決的設計問題不同,主要面向專業設計開發,由于技術上的門檻,普通人元很難理解和使用。基于嵌入式系統的通信設計,設計開發網絡應用產品具有重要的意義。(1)嵌入式通信設計為終端設備網絡化提供了保障;(

3、2) 嵌入式通信設計技術為工業控制領域設備的發展提供動力;(3)嵌入式通信設計為家庭生活的智能化提供了技術支持。1.2 課題意義 本次實習整個系統包括Red Hat Linux 9虛擬機系統,再此基礎上設置與宿主機的橋接,實現基于公共的鏈路層協議將兩個通信網絡互連,并基于鏈路地址選擇要傳遞的數據的過程。實現NFS功能,可以通過網絡,讓不同的機器、不同的操作系統、可以彼此分享自己的文件。套接字(sockets)是支TCP/IP協議的網絡通信的基本操作單元??梢詫⑻捉幼?看作不同主機間的進程進行雙向通信的端點。它構成了在單個主機與整個網際間的編程 界面。一般來說,跨機應用進程之間要在網絡環境下進行

4、通信必須要在網絡的每一端都要 建立一個套接字,兩個套接字之間是可以建立連接的,也是可以無連接的并通過對套接字的“讀”、“寫”操作實現網絡通信功能。類似于UNIX系統中的I/O概念像文件那樣有打開讀寫關閉的方 式。 2 基礎知識2.1開發環境介紹2.1.1硬件環境 (1)ARM介紹 對于ARM(Advanced RISC Machines),既可認為是一個公司的名字,也可認為是一個公司的名字,也可認為是對一類微處理器的通稱,還可認為是一種技術的名字。1991年,ARM公司成立于英國劍橋,主要出售芯片設計技術的授權。目前,采用ARM技術知識產權IP核的微處理器,即通常所說的ARM微處理器,已遍與工

5、業控制、消費類電子產品、通信系統、網絡系統、無線系統與軍用系統等各類產品市場,基于ARM技術的微處理器應用占據了32位RISC微處理器70%以上的市場份額,ARM技術正在滲入到生活中的各個方面。ARM公司是專門從事基于RISC技術芯片設計開發的公司,作為知識產權供應商,它本身并不直接從事芯片生產,而是靠轉讓設計許可,由合作公司生產各具特色的芯片。世界各大半導體生產商從ARM公司購買其ARM微處理器核,根據各自不同的應用領域,加入適當的外圍電路,從而形成自己的ARM微處理器芯片進入市場。目前,全世界有幾十家大的半導體公司都使用ARM公司的授權,因此,既使ARM技術獲得更多的第三方工具、制造、軟件

6、的支持,又使整個系統成本降低,使產品更容易進入市場并被消費者接受,從而更具競爭力。 (2)S3C2410X微處理器介紹 S3C2410X微處理器是一款由Samsung公司為手持設備涉與到低損耗、高集成度的基于ARM920T核的微處理器。為了降低系統總成本和減少外圍部件,這款芯片中還集成了一下部件:16KB指令Cache、16KB數據 Cache、MMU、外圍存儲器控制器、LCD控制器(STN和TFT)、NAND Flash控制器、4個DMA通道、3個UART通道、1個I2C總線控制器、1個I2S總線控制器,以與PWM定時器和一個部定時器、通用I/O口、實時時鐘、8通道10位ADC和觸摸屏接口、

7、USB主、USB從、SD/MMC卡接口等?,F在它廣泛應用于PDA、移動通信、路由器、工業控制等領域。2.1.2軟件環境 (1)VMware workatation 7.1.2 (2)Red Hat Linux 9操作系統Linux是的強大功能體現在服務器級的用途上。比如說運行數據庫:Oracle,DB2,MySQL,webs erver,mail server,router,firewall。2.2 網絡配置2.2.1 橋接上網常用的方法總共有三種:橋接,HOST-ONLY,NAT,我們在虛擬機中安裝了操作系統后,網上鄰居會出現兩個虛擬的網卡,其中1是用來HOST-ONLY上網的,和宿主機之間

8、建立專有的連接,宿主機上一塊虛擬網卡,虛擬機上一塊虛擬網卡,HOST-ONLY是連接到主機的vmnet1網卡!8是用來NAT上網的,NAT主要是用于寬帶連接的,NAT是連接到主機的vmnet8網卡!橋接是連接到主機的物理網卡,等于連接到宿主機所在的交換機,一般是用于局域網,和宿主機有同樣的身份和地位,宿主機可以上網的話,虛擬機也可以。2.2.2NFS NFS就是 Network FileSystem 的縮寫,最早之前是由Sun所發展出來的,他最大的功能是可以通過網絡,讓不同的機器、不同的操作系統、可以彼此分享自己的文件(share file),所以也可以簡單的將他看做是一個file serve

9、r。這個NFS Server可以讓你的PC將網絡遠程的NFS主機分享的目錄掛載到本地端的機器當中,所以,在本地端的機器看起來,那個遠程主機的目錄就好像是自己的partion一樣。這里遠程的那臺給你共享的機器就是server,而你的PC就是client.把網絡上的一臺電腦當成一個磁盤文件系統使用,譬如,電腦A打開了NFS功能,那么對于同一網絡上的電腦B來說,電腦A就是一塊硬盤,電腦B訪問電腦A的過程就是電腦A把它們之間的連線轉換為磁盤的連線,當電腦B讀寫電腦A的文件時,電腦A自動完成中間和系統、文件系統、硬件驅動的所有過程,直接向電腦B提供文件服務,NFS是依靠現有數據建立新的文件系統。 2.2

10、.3 FTPFTP以它所使用的協議:文件傳輸協議(File Transfer Protocol)來命名的。正如其名所示:協議的任務是從一臺計算機將文件傳送到另一臺計算機,它與這兩臺計算機所處的位置、聯系的方式、以與使用的操作系統無關。假設兩臺計算機能與FTP協議對話,并且能訪問INTERNET,就可以用FTP軟件的命令來傳輸文件。FTP是個非常有用的工具,你可以在任意個可經FTP訪問的公共有效的聯機數據庫或文檔中找到你想要的任何東西。全世界現在已有1000多(96年的數據)個FTP文件服務器對所有INTERNET用戶開使用,用戶可以通過與INTERNET相連的計算機,把自己需要的文件傳輸過來。

11、2.2.4Linux基本命令mount1.作用mount命令的作用是加載文件系統,它的用權限是超級用戶或/etc/fstab中允許的使用者。2.格式mount a fv t vfstype n rw F device dirmkdir1.作用mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用權限是所有用戶。2.格式mkdir options 目錄名ls1.作用ls命令用于顯示目錄容,類似DOS下的dir命令,它的使用權限是所有用戶。2.格式ls optionsfilenameifconfig1.作用ifconfig用于查看和更改網絡接口的地址和參數

12、,包括IP地址、網絡掩碼、廣播地址,使用權限是超級用戶。2.格式ifconfig -interface options addresstar1.作用tar命令是Unix/Linux系統中備份文件的可靠方法,幾乎可以工作于任何環境中,它的使用權限是所有用戶。2.格式tar 主選項+輔選項 文件或目錄2.3 基于Socket的TCP通信Socket在所有網絡操作系統和網絡應用程序中都是必不可少的,它是網絡通信中應用進程和網絡協議之間的接口。在Linux操作系統中,socket屬于文件系統的一部分,網絡通信可以被看作是對文件的讀取。這就使得用戶對網絡的控制像對文件的控制一樣方便。在Linux 下開發

13、高性能的網絡通信程序, 是充分發揮Linux 網絡特性的一個關鍵因素。Socket 接口是TCP /IP 網絡最為通用的API, Socket 在計算機中提供了一個通信端口, 可以通過這個端口與任何一個具有Socket 接口的計算機通信。3 系統設計整個系統的設計流程圖如圖3-1所示:圖3-1 系統流程圖4 實驗4.1 實驗準備4.1.1VMware workatation 7.1.2的安裝4.1.2 建立虛擬機 第一步、 打開軟件VMware workatation 7.1.2 第二步、選擇新建虛擬機4.1.3 在虛擬機上安裝RHL9操作系統 第一步、對虛擬機進行設置,選擇第一個鏡像文件,然

14、后根據提示進行安裝。 第二步、以下是安裝中需要注意的設置步驟,按定制方式設置,如圖4-1-1所示: 圖 4-1-1 選擇安裝系統的類型為定制 圖 4-1-2 選擇需要安裝的軟件 圖4-1-3 更換第二光盤進入虛擬機設置,將鏡像文件設置為第二個鏡像。第五步.安裝成功后,登錄,如圖4-1-4所示 圖 4-1-4 更換第三光盤 圖 4-1-5 系統安裝后的桌面 4.1.4 驅動的安裝(1) 鼠標右鍵點擊VMware界面左側中的虛擬系統,選擇“Install VMware Tools”,如圖4-1-6所示: 圖 4-1-6 選擇安裝驅動(2)找到VMware Tools安裝包右鍵點擊Linux桌面,打

15、開終端,依次輸入以下命令(注意有空格): #cd /mnt/cdrom(注:進入到虛擬光驅的文件夾里)#ls(注:查看文件夾里的文件和子文件夾)這個時候出現的“VMware Tools-8.1.4-227600.tar.gz”即安裝包名字,記住它,稍后將會用到。(3)移動安裝包,然后解壓安裝在剛剛的終端中,繼續輸入一下命令: #cd /(注:回到根目錄) #cp /mnt/cdrom/VMwareTools-5.5.3-34685.tar.gz /tmp(注:將安裝包復制到tmp文件夾) #cd /tmp(注:進入tmp文件夾里)#tar zxf VMwareTools-5.5.3-34685

16、.tar.gz(注:解壓安裝包) #cd vmware-tools-distrib(注:進入解壓出來的文件夾里) #./vmware-install.pl(注:執行安裝文件)如果你的Linux中已經安裝了所有的X窗口環境和開發工具,上述的安裝過程應該比較順利,在安裝過程中,會遇到諸如“In which directory do you want to install your binary files”這類的問題,直接按回車就行了。如遇到諸如帶有yes的詢問時,輸入yes后按回車即可。如遇到諸如帶有No的詢問時,輸入No后按回車即可。(4) 安裝完成以后,還會讓我們配置分辨率:Do you w

17、ant to change your guest X resolution?1640x4802800x60031024x768. .我的機器能支持1024x768,選擇的是3,自己根據自己機器的情況來決定。設置分辨率,能使得屏幕在全屏顯示下更清晰漂亮注意,這的分辨率適用于全屏顯示,很多人可能習慣用窗口模式來操作虛擬系統(比如我),那么就應該把分辨率設置得小些,比如800x600。至此,VMware Tools就安裝成功了,(5) 需要重啟一下虛擬機,使配置生效。4.2網絡環境搭建4.2.1網絡配置(1)虛擬機->設置->虛擬機設置 ,將網絡適配器設置為自定義,并指定虛擬網絡為VMn

18、et0,如圖4-2-1所示: 圖4-2-1 虛擬機設置(2)編輯->編輯虛擬網絡->設置VMnet0為橋接方式,并且指定其橋接的網卡 ,如圖4-2-2所示: 圖4-2-2 選擇橋接網卡(3)Red Hat IP配置 開始->系統設置->網絡,雙擊eth0配置IP信息如下: 地址:60 子網掩碼: 默認網關地址: DNS: (注意:在此更改IP有可能不生效,在終端里改ifconfig eth0 60)(4)點擊激活(5)測試網絡連接是否正常 1)打開網頁 2)

19、Ping ,測試結果如圖4-2-3所示: 圖4-2-3 測試橋接結果4.2.2 配置NFS服務器 (1)設置:開始->系統設置->服務器設置->NFS服務器打開配置對話框; (2)添加NFS共享 首先要建立目錄 /home/jason/nfs,代碼如下: #cd /home #ls #mkdir jason #cd /home # cs #cd /home/jason #mkdir nfs #ls 其次,設置目錄 homejasonnfs,設置能夠訪問的主機設置為*, 表示任何主機都可以訪問,基本權限設置讀/寫,結果如圖4-2-4所示: 圖4-2-4 N

20、FS共享設置 圖4-2-5 NFS設置結果 接著,重新啟動nfs服務 /etc/init.d/nfs restart,如圖4-2-6所示: 圖4-2-6 NFS啟動結果 最后,測試連接是否正常 mount 20:/home/Jason/nfsboot /home/tmp。4.2.3 配置FTP服務器 第一步、配置TFTP服務器 ,勾選tftp服務,并重啟服務,如圖4-2-7所示: 圖 4-2-7 勾選tftp服務 第二步、配置本機的IP地址,要與虛擬機Linux的IP在同一個網段,這樣主機就能就能與虛擬機進行通信; 圖4-2-8 配置本機的IP地址 第三步、關閉主機的防火

21、墻和殺毒軟件; 第四步、測試下主機和虛擬機之間是否能進行通信; 第五步、上述步驟若是能ping通,我們要在虛擬機Linux上新建一個用戶,如圖4-4-9到圖4-2-11所示,使主機能通過ftp訪問,方便之間實現文件的共享。若是上面步驟中,還不能ping通,檢查下自己電腦的IP和虛擬機Linux的IP是否在同一網段,還有看看主機的防火墻有沒有關閉等等。 圖4-2-9 進入FTP設置 圖4-2-10 創建新用戶 圖4-2-11 用戶創建成功 第六步、使用軟件FlashFXP在主機建立ftp,如圖4-4-6所示: 圖4-2-12 創建FTP站點 第七步、輸入虛擬機用戶名、虛擬機Linux的IP以與密

22、碼,之后建立連接,如圖4-2-13所示: 圖4-2-13 實現FTP連接 第八步、將桌面上的cross-2.95.3.tar和linux-jx2410.tar.gz壓縮包移動到虛擬機Linux用戶里,如圖4-2-14所示: 圖4-2-14 cross-2.95.3.tar移到虛擬機Linux用戶里4.2.4 建立交叉編譯環境 在 Linux 平臺下,要為開發板編譯核,圖形界面Qtopia,bootloader,還有其他一些應用程序,均需要交叉編譯工具鏈。之前的系統,要使用不同的編譯器版本才能正常編譯各個部分,因此要在開發過程不斷切換設置,這十分不利于初學者使用,也降低了開發的效率;自從Linu

23、x-2.6.29 開始(本開發板所配核已為最新的Linux-),我們把交叉編譯器統一為arm-linux-gcc-4.3.2,它的安裝設置步驟如圖4-2-15所示: 圖4-2-15 交叉編譯軟件解壓安裝 直接解壓!將虛擬機Linux用戶里面的交叉編譯壓縮包進行解壓 ,解壓結果如圖4-2-16所示: 圖4-2-16 cross-2.95.3.tar 安裝結果 4.3 程序設計程序設計流程圖如圖4-3-1所示:圖4-3-1 客戶與服務器通信建立過程4.4實習平臺搭建 JXARM9-2410 ARM實驗系統基本實驗模型如圖4-4-1所示: 圖4-4-1 JXARM9-2410 ARM實驗系統基本實驗模型 搭建過程與程序測試如下所示: (1) 線路連接如圖4-4-1示;(2) 建立超級終端的過程,如圖4-4-2到圖4-4-4所示: 圖 4-4-2 超級終端名稱設置 圖4-4-3 超級終端端口選擇 圖4-4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論