亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM和Linux的嵌入式網(wǎng)關(guān)的設(shè)計與實現(xiàn)

        2010-08-15 00:49:27馬新濤李洪平
        中國新技術(shù)新產(chǎn)品 2010年7期
        關(guān)鍵詞:開發(fā)板網(wǎng)卡網(wǎng)關(guān)

        馬新濤 李洪平

        (1、中國海洋大學(xué)信息科學(xué)與技術(shù)學(xué)院,山東 青島 2661002、中國海洋大學(xué)海洋遙感所,山東 青島 266100)

        1 引言

        本文中所要設(shè)計實現(xiàn)的嵌入式網(wǎng)關(guān)需要完成的功能就是連接兩個不同協(xié)議的無線網(wǎng)絡(luò),實現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)?;赯igBee網(wǎng)絡(luò)協(xié)議的無線傳感器節(jié)點采集有用數(shù)據(jù),并通過ZigBee網(wǎng)絡(luò)將數(shù)據(jù)準(zhǔn)確傳輸至ZigBee協(xié)調(diào)器,網(wǎng)關(guān)通過讀串口操作將協(xié)調(diào)器的數(shù)據(jù)寫入緩沖區(qū),最后將緩沖區(qū)的數(shù)據(jù)通過與網(wǎng)關(guān)相連的usb無線網(wǎng)卡打包送入無線局域網(wǎng)。網(wǎng)關(guān)本質(zhì)上是一個RS232協(xié)議轉(zhuǎn)換為802.11g協(xié)議的協(xié)議轉(zhuǎn)換器。

        2 開發(fā)平臺配置

        2.1 硬件平臺介紹

        我們選用了聯(lián)智公司基于EP9301處理器的開發(fā)板DG9301。DG9301開發(fā)板的主要組件包括:EP9301 ARM9處理器,16M的FLASH 和32M的SDRAM,兩個RS232串行接口,一個自適應(yīng)的10M/100M以太網(wǎng)接口,24個引出的GPIO引腳,支持用戶外接,標(biāo)準(zhǔn)的 JTAG 接口,2個 USB host,5路 12bit的模擬輸入等等。

        2.2 軟件平臺搭建

        2.2.1 開發(fā)方式介紹

        由于目標(biāo)板不具備一定的處理器能力和存儲空間,所以只有在宿主機上對即將在目標(biāo)機上運行的應(yīng)用程序進(jìn)行編譯,生成可以在目標(biāo)機上運行的代碼格式,然后移植到目標(biāo)板上,才可以完成程序開發(fā),即目前嵌入式程序開發(fā)的Host/Target模式。宿主機采用的是運行redhat9.0系統(tǒng)的x86通用PC機平臺,并安裝交叉編譯環(huán)境。

        2.2.2 搭建交叉編譯環(huán)境

        所謂交叉編譯,簡單地說就是在一個平臺上生成在另一個平臺上執(zhí)行的代碼,即在宿主機上對應(yīng)用程序進(jìn)行交叉編譯,生成可以在目標(biāo)板上執(zhí)行的代碼。制作交叉編譯器可行性較高的方法是采用現(xiàn)成的、有專門的機構(gòu)維護的交叉工具鏈,出現(xiàn)問題容易得到技術(shù)支持。在這里,我們?nèi)砸悦嫦駾G9301的開發(fā)為例:

        首先,將資料光盤中的arm-linux-gcc-3.3.tar拷貝到開發(fā)機的根目錄,并將文件解壓縮。

        然后,再把資料光盤中的arm-elf-gcc-3.2.1-full.tar.bz2拷貝到開發(fā)主機的根目錄,并將文件解壓縮。

        最后,為了不每次設(shè)置PATH,將下面這行加到開發(fā)主機的.bash_profile文件中:

        PATH =/usr/local/arm/3.3/bin:/usr/local/arm/3.2.1-elf/bin:$PATH

        至此,PC機的交叉編譯環(huán)境就已經(jīng)建立起來了,可以用arm-linux-gcc命令編譯在PC機上編輯好的程序,然后下載到目標(biāo)板上測試執(zhí)行。

        2.2.3 搭建NFS環(huán)境

        首先,在裝有redhat9.0的PC主機上執(zhí)行setup命令,彈出菜單界面后選中System services進(jìn)入系統(tǒng)服務(wù)選項菜單,在其中選中[*]nfs,然后退出setup界面返回到命令提示符下。

        編輯/etc/exports文件,將這個默認(rèn)的空文件修改為只有一行內(nèi)容:/(rw),保存退出后執(zhí)行如下命令以啟動NFS服務(wù):service nfs restart,如果每個啟動項的結(jié)果都顯示為OK,則說明配置成功。

        2.2.4 配置TFTP服務(wù)

        進(jìn)入System services菜單界面,選中tftp一項,并去掉ipchains和iptables兩項服務(wù)。

        然后,退出setup界面,執(zhí)行service xinetd restart命令以啟動TFTP服務(wù)。

        3 Linux下讀串口程序的開發(fā)設(shè)計

        前面已經(jīng)介紹過,嵌入式網(wǎng)關(guān)的功能在本質(zhì)上是實現(xiàn)RS232串口到無線局域網(wǎng)的數(shù)據(jù)轉(zhuǎn)發(fā),所以應(yīng)用層軟件實際上就是讀串口數(shù)據(jù),借助于公共緩沖區(qū),打成標(biāo)準(zhǔn)的TCP數(shù)據(jù)包,利用無線網(wǎng)卡實現(xiàn)數(shù)據(jù)的發(fā)送。

        在Linux系統(tǒng)中,串口的驅(qū)動由Linux內(nèi)核的drivers文件夾內(nèi)的serial.c來實現(xiàn)。在Linux下,/dev是提供給應(yīng)用層的接口,Linux通過識別/dev下串口設(shè)備的主設(shè)備號和次設(shè)備號,配合找到底層的串口驅(qū)動,并進(jìn)行調(diào)用。而我們需要做的就是在應(yīng)用層借助read()和write()函數(shù)進(jìn)行讀串口程序的開發(fā)。

        讀串口程序設(shè)計大致可以分為打開串口、配置串口、讀串口三個步驟。其中,打開串口可以使用open_port函數(shù)來實現(xiàn)。配置串口可以使用set_opt函數(shù)來實現(xiàn)。讀串口操作可以使用read()函數(shù)來實現(xiàn)。

        4 嵌入式Linux下的網(wǎng)絡(luò)編程

        4.1 Linux網(wǎng)絡(luò)編程基礎(chǔ)

        Linux中的網(wǎng)絡(luò)編程是通過socket接口來進(jìn)行的。系統(tǒng)在pc機與ARM開發(fā)板之間通過一個可靠的面向連接的網(wǎng)絡(luò)套接字服務(wù),使得嵌入式網(wǎng)關(guān)可以通過連有無線網(wǎng)卡的usb口與連有無線ap的pc機進(jìn)行數(shù)據(jù)交換。

        4.2 Linux網(wǎng)絡(luò)編程模型

        在客戶端/服務(wù)器模式中,一個服務(wù)程序通常在一個指定的地址監(jiān)聽對服務(wù)的請求,當(dāng)一個客戶對這個服務(wù)的地址提出了連接請求。此時,服務(wù)程序被激活,它創(chuàng)建一個子進(jìn)程為客戶提供服務(wù),而父進(jìn)程繼續(xù)在原地址監(jiān)聽。在子進(jìn)程完成了相應(yīng)的操作后,服務(wù)器關(guān)閉此連接套接字,并結(jié)束此子進(jìn)程。

        4.3 Linux下socket與讀串口程序的綜合編程

        在這里,我們的嵌入式網(wǎng)關(guān)被看作是客戶端,無線局域網(wǎng)的pc節(jié)點被看作是服務(wù)器端。通過socket編程和讀串口程序的綜合,可以在實現(xiàn)服務(wù)器和客戶端網(wǎng)絡(luò)連接的基礎(chǔ)上,完成讀串口寫網(wǎng)口的操作以及數(shù)據(jù)的轉(zhuǎn)發(fā)、傳輸和接收。

        在client.c程序編輯完成后,使用Linux下ARM的交叉編譯工具arm-linux-gcc將其編譯成ARM芯片上可運行的應(yīng)用程序client:arm-linux-gcc-o client client.c

        然后再將client通過網(wǎng)口下載到ARM開發(fā)板上。同時在服務(wù)器端編輯編譯server程序,配置好雙方的ip地址之后就可以執(zhí)行應(yīng)用程序?qū)崿F(xiàn)開發(fā)板和主機之間的通訊。實驗證明,我們可以在服務(wù)器端接收到來自ZigBee協(xié)調(diào)點的數(shù)據(jù)信息。

        測試成功后我們還需要將客戶端應(yīng)用程序client添加到ramdisk文件系統(tǒng)中,然后再將其壓縮的映像文件ramdisk.gz下載燒寫到開發(fā)板的flash上。同時,我們還需要修改系統(tǒng)腳本/etc/rc.sysinit,使開發(fā)板能夠在系統(tǒng)啟動后自動加載無線網(wǎng)卡驅(qū)動和客戶端應(yīng)用程序client。

        5 結(jié)束語

        和通用計算機不同,嵌入式系統(tǒng)是面向應(yīng)用、產(chǎn)品和用戶的。本文就是結(jié)合實際需求,以應(yīng)用為基礎(chǔ),詳細(xì)介紹了嵌入式設(shè)備--網(wǎng)關(guān)開發(fā)設(shè)計和實現(xiàn)的整體過程,并在實際項目中得到了檢驗,希望能對其他嵌入式系統(tǒng)產(chǎn)品的開發(fā)有一定的借鑒意義。

        [1]許先斌,熊慧軍,李洲,等.基于 ARM9 的嵌入式Linux開發(fā)流程的研究[J].微計算機信息,2006:87-89.

        [2]尤盈盈,孟利民.構(gòu)建嵌入式Linux交叉編譯環(huán)境[J].計算機與數(shù)字工程,2006:30-32.

        [3]李駒光,鄭耿,江澤明.嵌入式 Linux 系統(tǒng)開發(fā)詳解[M].清華大學(xué)出版社,2006:166-182.

        [4]王丹,祝躍飛,李勤,等.基于 Linux2.6 內(nèi)核的嵌入式VPN網(wǎng)關(guān)實現(xiàn)[J].微電子學(xué)與計算機,2006:137-140.

        [5]孫瓊.嵌入式Linux應(yīng)用程序開發(fā)詳解[M].人民郵電出版社,2006.

        [6]俞冬麗.基于嵌入式Linux系統(tǒng)的網(wǎng)絡(luò)編程技術(shù)[J].中國科技信息,2006:77-80.

        猜你喜歡
        開發(fā)板網(wǎng)卡網(wǎng)關(guān)
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
        Server 2016網(wǎng)卡組合模式
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        淺析單片機開發(fā)板的設(shè)計與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
        移動通信(2015年18期)2015-08-24 07:45:08
        應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
        太陽能(2015年7期)2015-04-12 06:49:50
        Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
        Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
        国产一区二区三区再现| 国内精品无码一区二区三区| 亚洲成人福利在线观看| 蜜臀av无码精品人妻色欲| 国产精品一区二区久久| 亚洲最大成av人网站| 91精品国产91热久久p| 韩国黄色三级一区二区| 国产精品国产三级国产aⅴ下载| 中国国语毛片免费观看视频| 国产在线不卡AV观看| 国产黄色看三级三级三级 | 亚洲国产成人久久综合碰碰| 伊人久久大香线蕉av网禁呦| 免费AV一区二区三区无码| 女同性恋一区二区三区四区| 国产精品久久久三级18| 爆爽久久久一区二区又大又黄又嫩 | 成人精品综合免费视频| 国产中文久久精品| 久久午夜av一区二区| 美女脱了内裤张开腿让男人桶网站| 久久无码人妻一区二区三区午夜 | 亚洲av无码一区二区三区在线 | 免费无码中文字幕A级毛片| 国产一区二区三区再现| 国产猛男猛女超爽免费视频| 亚洲xxxx做受欧美| 亚洲精品综合第一国产综合| 亚洲天堂av中文字幕| 狼人伊人影院在线观看国产| 亚洲热线99精品视频| 伊人22综合| 精品av一区二区在线| 精品久久久久久亚洲综合网| 久久久久国产一区二区三区| 国产AV无码专区亚洲AWWW| 日本精品一区二区三区在线观看| 丰满大爆乳波霸奶| 九九久久精品无码专区| 久久青草国产精品一区|