<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è) > 嵌入式系統 > 設計應用 > 基于Linux-ARM平臺的3G無(wú)線(xiàn)聯(lián)網(wǎng)方案設計

基于Linux-ARM平臺的3G無(wú)線(xiàn)聯(lián)網(wǎng)方案設計

作者: 時(shí)間:2010-09-25 來(lái)源:網(wǎng)絡(luò ) 收藏

2.1 設備驅動(dòng)與KERNEL
Linux內核采用的是2.6.24版本,需要移植到ARM平臺。設備驅動(dòng)程序可以被看作操作系統的一部分。設備驅動(dòng)既可以交叉編譯到內核鏡像中,也可以以模塊的形式存放在文件系統中,并在運行時(shí)加載模塊。本系統采用的方式是編譯到鏡像文件中。
驅動(dòng)程序分為主機控制器驅動(dòng)程序(HostController Driver,HCD)、主機端設備驅動(dòng)程序(D)和不同的設備的設備類(lèi)驅動(dòng)(Sla-ve Device Driver)。USB的HCD是USB主機驅動(dòng)程序中直接與硬件交互的軟件模塊,USBD是整個(gè)USB主機驅動(dòng)程序的核心,而USB設備類(lèi)驅動(dòng)則是最終與應用程序交互的軟件模塊。

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

14c.JPG


USBD和HCD需在配置內核編譯選項時(shí)選擇編譯進(jìn)內核。對于USB設備類(lèi)驅動(dòng),AC580使用的是高通公司的MSM6085芯片,這款芯片能在USB下仿真出串口,并通過(guò)它來(lái)完成撥號工作。將中興的USB Serial驅動(dòng)源碼加入內核源碼中,修改Makefile和Kconfig,將USB Serial驅動(dòng)編譯進(jìn)內核。
另外AC580是一個(gè)多合一設備,有CDROM、USBMASS Storage、USB Serial三部分,因此還需添加對SCCICDROM、USB MASS Storage的支持。同時(shí)為了實(shí)現撥號,編譯的內核還應添加對PPP協(xié)議的支持。
2.2 建立Cramfs文件系統
Cramfs文件系統是專(zhuān)門(mén)針對閃存設計的只讀壓縮的文件系統。當系統需要訪(fǎng)問(wèn)Cramfs文件系統中某個(gè)位置的數據時(shí),計算出該數據在文件系統中的位置,并實(shí)時(shí)解壓到內存中。文件系統中的系統基本應用程序可以使用Busybox來(lái)定制。
本系統中使用的AC580無(wú)線(xiàn)網(wǎng)卡連接到主機時(shí),USB缺省工作方式是USB存儲設備,在Linux下顯示為CDROM和USB Storage兩個(gè)設備,撥號需要找到USB Serial設備。首先需要安裝好USB Serial驅動(dòng),其次使用eject/dev/srl命令彈出USB存儲設備。這時(shí)AC580中的高通芯片將翻轉為串口模式(在/dev目錄下顯示為/ttyUSB0、/ttyUSBl、/ttyUSB2、/ttyUSB3幾個(gè)設備),可以用于撥號及無(wú)線(xiàn)網(wǎng)絡(luò )數據傳輸。因此在配置編譯BusyBOX時(shí),除必須的系統基本應用程序外,還必須置eject命令。
在/lib目錄下添加共享鏈接庫。添加內核模塊和配置腳本,包括rt73.ko、/linuxrc、/etc目錄下的配置文件等。在/dev目錄下創(chuàng )建設備節點(diǎn)。字符設備的設備文件由字符“c”來(lái)識別,塊設備由字符“b”來(lái)識別。通常而言,主設備號標識設備對應的驅動(dòng)程序,大多數設備按照“一個(gè)主設備號對應一個(gè)驅動(dòng)程序”的原則組織,次設備號由內核使用,用于正確確定設備文件所指的設備。以下幾個(gè)節點(diǎn)是必須的:
14d.JPG
2.3 PPP撥號接入CDMA2000 lx/EVDO無(wú)線(xiàn)網(wǎng)
PPP是簡(jiǎn)單鏈路設計的鏈路層協(xié)議,設計目的主要是用來(lái)建立點(diǎn)對點(diǎn)連接進(jìn)行數據收發(fā)。一個(gè)PPP會(huì )話(huà)分為四個(gè)步驟:連接建立、連接質(zhì)量控制、網(wǎng)絡(luò )層協(xié)議配置、連接終止。PPP協(xié)議作為鏈路層協(xié)議,它是在Linux內核中實(shí)現的。
PPP撥號需要撥號程序及撥號腳本。撥號程序選擇的是PPP-2.4.1,將交叉編譯生成的chat、pppd、pppdump、pppstats程序文件添加至系統文件系統的/usr/sbin目錄下。
撥號腳本及所需文件存放在文件系統的/etc/ppp/目錄下:pap-secrets、chap-secrets、PPP-off、resolv.conf、chat-connect、/peers/cdma3g。其pap-secrets、chap secrcts是chap和pap認證文件;resolv.conf是域名服務(wù)器配置文件;chat-connect是chat腳本;PPP-off是下線(xiàn)腳本;cdma3g是pppd腳本,里面配置了pppd程序參數。以下是主要的PPPd程序參數:
/dev/ttyUSB0 Modem在ttyUSBO上;115200串口的速率;noipdefault不使用指定ip;defaultroute加入缺省路由;scr“vnet.mobi”用戶(hù)名;connect‘/usr/sbin/chat-S-V-f/etc/ppp/cbat-connect’調用chat程序并使用chat-connect腳本。
用mkcramfs工具生成Cramfs文件系統。至此,可以利用PPP撥號來(lái)實(shí)現3G無(wú)線(xiàn)網(wǎng)絡(luò )接入功能了:#pppd calledma3g

14e.JPG
3 結束語(yǔ)
本文詳細介紹了基于S3C2410微處理器的嵌入式Linux系統接入3G無(wú)線(xiàn)網(wǎng)絡(luò )的方法,對系統的硬件架構及軟件實(shí)現進(jìn)行了詳細介紹。3G無(wú)線(xiàn)寬帶網(wǎng)接入功能使得嵌入式系統在無(wú)線(xiàn)通訊、網(wǎng)絡(luò )應用、消費類(lèi)電子等方面具備廣闊的發(fā)展前景和強大的競爭力,給嵌入式系統帶來(lái)更廣泛的應用。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: USB

評論


相關(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>