新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM11在Linux平臺下網絡通信的設計與實現

        基于ARM11在Linux平臺下網絡通信的設計與實現

        作者: 時間:2013-06-27 來源:網絡 收藏

        摘要: 系列微處理器是ARM 公司近年推出的新一代RISC 處理器,其性能得到全面的提高。嵌入式 有著微型的內核、可裁剪的模塊以及高性能的等功能。兩者的結合能滿足消費類電子、無線設備、網絡應用、汽車電子等嵌入式應用的需求。

        本文引用地址:http://www.104case.com/article/148007.htm

        隨著CPU制造工藝的飛速發展,越來越多的高性能、低功耗的嵌入式微處理器應用到我們生活中的各個方面,采用ARM公司新一代的指令架構ARMv6,其主頻最高可達到1GHz,功耗低至0.4mW/MHz,采用8級流水線技術。另一方面,它對存儲器系統進行改善,使其更加適用于操作系統對硬件上的需求。

        是在Unix的基礎上發展起來的,它是一種安全、穩定、免費并且能移植到多種架構的處理器分為多個模塊,可裁剪一些次要的模塊以減小程序量,從而更好地滿足微處理器對功耗和成本的要求。

        1 嵌入式Linux 軟件開發環境的搭建

        1.1 嵌入式Linux 開發環境簡述

        嵌入式Linux驅動程序的開發需在以Linux為內核的操作系統系統下進行,為方便開發時的數據傳輸及信息反饋,安裝VMware虛擬機軟件,并且在其中安裝Ubuntu 10.10操作系統。需要注意的是,操作系統的版本不能太低,因為版本過低,很多工具都無法找到對應的支持包,導致一些軟件的失效。

        Ubuntu是以Linux為內核的操作系統,在Ubuntu安裝之初,系統會要求你輸入要新建的賬戶和密碼,這個新建的賬戶用于Ubuntu第一次啟動時的默認登錄賬戶。Ubuntu10.10支持圖形用戶界面,但Linux中還有很多功能都不能以圖形界面的形式表達。

        因此,要學好Linux,就必須對Linux的命令行有比較深入的了解。

        Ubuntu10.10會自動安裝VMware工具,用于虛擬機系統與宿主機之間的文件傳輸等,即用戶可以直接拖動宿主機的文件到虛擬機中。若沒有自動安裝,則選擇VM項下的Install VMware Tools進行安裝。

        Linux對普通用戶有一定的權限限制,如安裝一些支持包時就必須以根用戶的權限才能進行操作。為方便每次啟動Linux時都以根用戶登陸,可在第一次登陸時進入超級終端,并打開/etc/gdm目錄下的用戶配置文件:custom.conf.即每次登陸時都以root的權限進行登陸。

        1.2 交叉編譯器

        交叉編譯器是一種計算機環境中運行的編譯程序,能編譯出可在另外一種環境下運行的代碼,我們就稱這種編譯器為交叉編譯器。該文中,我們要在CISC X86架構的普通個人電腦中編寫代碼,編譯后的程序在RISC ARMv6架構的微處理器中運行。

        1.3 網絡文件系統

        NFS是Network File System的簡寫,即網絡文件系統。NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。在嵌入式開發中,NFS使得開發時硬件和電腦間文件的傳輸極為方便。

        1.4 網絡編程實驗

        典型的客戶機/服務器程序。客戶機、服務器模式要求每個應用程序應由兩部分組成:一個部分負責啟動通信,另一個部分負責對它進行應答。他們通常運行在不同的主機上,分別被稱為客戶機和服務器。服務器是指能在網絡上可提供服務的任何程序。客戶機是指用戶為了得到某種服務所需要運行的應用程序。一個服務器接受網絡上客戶機的請求,完成服務后將結果返回給客戶機。

        2 嵌入式Linux硬件的搭建

        2.1 linux 引導程序

        嵌入式linux引導程序一般選用u-boot,全稱Universal Boot Loader ,是遵循GPL條款的開放源碼項目。首先設置撥碼開關配置ARM11從SD卡中讀取u-boot,再通過超級終端,將讀取到的u-boot拷貝到ARM11板載的NAND Flash中,再設置啟動方式配置ARM11從Flash中啟動,至此,完成嵌入式linux在ARM11平臺下引導程序的加載。

        2.2 linux 內核

        完成u-boot的加載后,內核文件可以直接通過超級終端從PC中傳輸到嵌入式開發平臺中。通常是把內核文件傳輸到nandflash特定的地址中暫存起來,再通過燒寫命令將該內核文件燒寫到特定的內核地址中去即完成嵌入式linux內核的燒寫。

        2.3 嵌入式Linux 文件系統

        嵌入式Linux文件系統中的文件是數據的集合,文件系統不僅包含著文件中的數據而且還有文件系統的結構,所有Linux 用戶和程序看到的文件、目錄、軟連接及文件保護信息等都存儲在其中。常用的文件系統為yaffs2文件系統和cramfs文件系統。Yaffs是第一個專門為Nandflash存儲器的嵌入式文件系統,適用于大容量的存儲設備,并且是在GPL協議下發布的。Cramfs文件系統是專門為NorFlash的只讀壓縮的文件系統,采用實時解壓縮方式,小巧且快速。

        3 結束語

        ARM11在Linux平臺下程序的流程圖總結如圖2所示。

        本文就目前對于嵌入式linux及其進行闡述,以嵌入式為知識背景,該主要由六個過程(NFS、交叉編譯器、網絡編程實驗、linux引導程序、linux內核、嵌入式Linux文件系統)組成。其他嵌入式Linux應用程序的編寫過程也與此類似。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程


        通信相關文章:通信原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特右旗| 壶关县| 西充县| 邵阳县| 崇仁县| 长顺县| 卢龙县| 登封市| 汝城县| 贵州省| 临沧市| 麻阳| 比如县| 江华| 喀什市| 灌阳县| 利津县| 平乡县| 兰坪| 江达县| 江安县| 博兴县| 丰镇市| 天全县| 芜湖县| 合水县| 东安县| 左云县| 项城市| 延安市| 鹿泉市| 南昌县| 利川市| 武定县| 台湾省| 吐鲁番市| 辉南县| 孝义市| 任丘市| 时尚| 民丰县|