999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM和Linux的嵌入式網關的設計與實現

2010-08-15 00:49:27馬新濤李洪平
中國新技術新產品 2010年7期
關鍵詞:嵌入式

馬新濤 李洪平

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

1 引言

本文中所要設計實現的嵌入式網關需要完成的功能就是連接兩個不同協議的無線網絡,實現數據的轉發。基于ZigBee網絡協議的無線傳感器節點采集有用數據,并通過ZigBee網絡將數據準確傳輸至ZigBee協調器,網關通過讀串口操作將協調器的數據寫入緩沖區,最后將緩沖區的數據通過與網關相連的usb無線網卡打包送入無線局域網。網關本質上是一個RS232協議轉換為802.11g協議的協議轉換器。

2 開發平臺配置

2.1 硬件平臺介紹

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

2.2 軟件平臺搭建

2.2.1 開發方式介紹

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

2.2.2 搭建交叉編譯環境

所謂交叉編譯,簡單地說就是在一個平臺上生成在另一個平臺上執行的代碼,即在宿主機上對應用程序進行交叉編譯,生成可以在目標板上執行的代碼。制作交叉編譯器可行性較高的方法是采用現成的、有專門的機構維護的交叉工具鏈,出現問題容易得到技術支持。在這里,我們仍以面向DG9301的開發為例:

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

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

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

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

至此,PC機的交叉編譯環境就已經建立起來了,可以用arm-linux-gcc命令編譯在PC機上編輯好的程序,然后下載到目標板上測試執行。

2.2.3 搭建NFS環境

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

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

2.2.4 配置TFTP服務

進入System services菜單界面,選中tftp一項,并去掉ipchains和iptables兩項服務。

然后,退出setup界面,執行service xinetd restart命令以啟動TFTP服務。

3 Linux下讀串口程序的開發設計

前面已經介紹過,嵌入式網關的功能在本質上是實現RS232串口到無線局域網的數據轉發,所以應用層軟件實際上就是讀串口數據,借助于公共緩沖區,打成標準的TCP數據包,利用無線網卡實現數據的發送。

在Linux系統中,串口的驅動由Linux內核的drivers文件夾內的serial.c來實現。在Linux下,/dev是提供給應用層的接口,Linux通過識別/dev下串口設備的主設備號和次設備號,配合找到底層的串口驅動,并進行調用。而我們需要做的就是在應用層借助read()和write()函數進行讀串口程序的開發。

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

4 嵌入式Linux下的網絡編程

4.1 Linux網絡編程基礎

Linux中的網絡編程是通過socket接口來進行的。系統在pc機與ARM開發板之間通過一個可靠的面向連接的網絡套接字服務,使得嵌入式網關可以通過連有無線網卡的usb口與連有無線ap的pc機進行數據交換。

4.2 Linux網絡編程模型

在客戶端/服務器模式中,一個服務程序通常在一個指定的地址監聽對服務的請求,當一個客戶對這個服務的地址提出了連接請求。此時,服務程序被激活,它創建一個子進程為客戶提供服務,而父進程繼續在原地址監聽。在子進程完成了相應的操作后,服務器關閉此連接套接字,并結束此子進程。

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

在這里,我們的嵌入式網關被看作是客戶端,無線局域網的pc節點被看作是服務器端。通過socket編程和讀串口程序的綜合,可以在實現服務器和客戶端網絡連接的基礎上,完成讀串口寫網口的操作以及數據的轉發、傳輸和接收。

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

然后再將client通過網口下載到ARM開發板上。同時在服務器端編輯編譯server程序,配置好雙方的ip地址之后就可以執行應用程序實現開發板和主機之間的通訊。實驗證明,我們可以在服務器端接收到來自ZigBee協調點的數據信息。

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

5 結束語

和通用計算機不同,嵌入式系統是面向應用、產品和用戶的。本文就是結合實際需求,以應用為基礎,詳細介紹了嵌入式設備--網關開發設計和實現的整體過程,并在實際項目中得到了檢驗,希望能對其他嵌入式系統產品的開發有一定的借鑒意義。

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

[2]尤盈盈,孟利民.構建嵌入式Linux交叉編譯環境[J].計算機與數字工程,2006:30-32.

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

[4]王丹,祝躍飛,李勤,等.基于 Linux2.6 內核的嵌入式VPN網關實現[J].微電子學與計算機,2006:137-140.

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

[6]俞冬麗.基于嵌入式Linux系統的網絡編程技術[J].中國科技信息,2006:77-80.

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 欧美高清三区| 国产视频入口| 又黄又爽视频好爽视频| 91久久精品日日躁夜夜躁欧美| 再看日本中文字幕在线观看| 国产第一页免费浮力影院| 综合色亚洲| 亚洲乱码视频| 最新国产午夜精品视频成人| 激情国产精品一区| 国产视频大全| 欧美日本视频在线观看| 亚洲性网站| 欧美激情二区三区| 国产一区二区福利| 999国内精品久久免费视频| 国产在线精品香蕉麻豆| 亚洲中字无码AV电影在线观看| 不卡无码h在线观看| 热这里只有精品国产热门精品| 亚洲美女一区| 久久久久人妻一区精品| 国产精品三级av及在线观看| 扒开粉嫩的小缝隙喷白浆视频| 91麻豆国产视频| 欧类av怡春院| 国产美女免费| 在线观看免费国产| 激情综合激情| 亚洲高清中文字幕| 国产簧片免费在线播放| 国产亚卅精品无码| 亚洲日韩精品综合在线一区二区| 亚洲电影天堂在线国语对白| 亚洲成A人V欧美综合| 性欧美在线| 91精品情国产情侣高潮对白蜜| 国产麻豆精品久久一二三| 婷婷六月综合| 91精品啪在线观看国产| 亚洲午夜综合网| 日本不卡在线| 日韩第一页在线| 91成人在线观看| 伦精品一区二区三区视频| 在线观看精品自拍视频| 综合亚洲网| 成人一级免费视频| 国产精品成人不卡在线观看| 51国产偷自视频区视频手机观看| 亚洲中文在线视频| 欧美一级大片在线观看| 亚洲不卡无码av中文字幕| 91久久天天躁狠狠躁夜夜| 亚洲伊人电影| 又粗又大又爽又紧免费视频| 精品小视频在线观看| 精品国产91爱| 嫩草国产在线| 亚洲精品福利网站| 国产一级毛片在线| 国产成人一二三| 亚洲欧美国产视频| 在线欧美日韩| 久久久久青草线综合超碰| 女人毛片a级大学毛片免费| 欧美在线精品一区二区三区| 亚洲综合香蕉| 色综合五月| 无码精品一区二区久久久| AV不卡国产在线观看| 四虎影视库国产精品一区| 中国成人在线视频| 91精品国产自产91精品资源| 日韩在线播放欧美字幕| 青青操国产| 久久亚洲高清国产| 狠狠做深爱婷婷久久一区| 亚洲一区二区无码视频| 无码不卡的中文字幕视频| 97人人做人人爽香蕉精品| 99精品在线看|