編譯elf1_cmd_net程序
(一)設(shè)置交叉編譯環(huán)境。
(二)查看elf1_cmd_net文件夾Makefile文件。查看當前編譯規(guī)則,net_demo是編譯整個工程,clean是清除工程。
(三)輸入命令。
(四)編譯無錯誤將生成elf1_cmd_net可執(zhí)行文件。
(五)將可執(zhí)行文件拷貝到開發(fā)板中,例如/home/root 路徑下。
開發(fā)板測試
如圖,直連電腦網(wǎng)口和ELF?1板子的eth0。
(一)開發(fā)板做TCP客戶端,虛擬機做TCP服務(wù)端。
以開發(fā)板IP:192.168.2.98,虛擬機IP:192.168.2.97 為例進行以下測試。
注意:在測試之前要保證開發(fā)板和虛擬機能夠互ping成功。
(1)在開發(fā)板上運行的應(yīng)用是arm架構(gòu)的,在虛擬機中運行的應(yīng)用是x86架構(gòu)的。所以我們應(yīng)該編譯出x86架構(gòu)的應(yīng)用,讓應(yīng)用能夠在虛擬機中運行。
?重新打開一個終端,進行編譯。
(2)在虛擬機執(zhí)行elf1_cmd_net應(yīng)用,建立監(jiān)聽。
(3)通過調(diào)試串口,在終端界面下進入到/home/root 路徑,執(zhí)行elf1_cmd_net應(yīng)用,開發(fā)板與虛擬機建立鏈接。
(4)開發(fā)板與虛擬機建立鏈接后。當開發(fā)板主動發(fā)送數(shù)據(jù)后,虛擬機將接收到的數(shù)據(jù)再次轉(zhuǎn)發(fā)到開發(fā)板。效果如下:
(二)開發(fā)板做TCP服務(wù)端,虛擬機做TCP客戶端。
(1)通過調(diào)試串口,在終端界面下進入到/home/root 路徑,執(zhí)行elf1_cmd_net應(yīng)用。建立監(jiān)聽。
(2)在虛擬機執(zhí)行elf1_cmd_net應(yīng)用,開發(fā)板與虛擬機建立鏈接。
(3)開發(fā)板與虛擬機建立鏈接后。當虛擬機主動發(fā)送數(shù)據(jù)?后,開發(fā)板會將接收到的數(shù)據(jù)再次轉(zhuǎn)發(fā)到虛擬機。效果如下:
(三)開發(fā)板做UDP客戶端,虛擬機做UDP服務(wù)端。
說明:因為UDP協(xié)議是無連接的,所以UDP客戶端應(yīng)先發(fā)數(shù)據(jù),讓UDP服務(wù)端綁定UDP客戶端的IP和端口,方能互相通信。到實際測試時,方法是UDP客戶端先主動發(fā)送數(shù)據(jù),UDP服務(wù)端獲取UDP客戶端的IP和端口。
(1)在虛擬機執(zhí)行elf1_cmd_net應(yīng)用。
(2)通過調(diào)試串口,在終端界面下進入到/home/root 路徑,執(zhí)行elf1_cmd_net應(yīng)用,主動發(fā)送數(shù)據(jù)。
(3)當開發(fā)板發(fā)送數(shù)據(jù)后,虛擬機會將接收到的數(shù)據(jù)再次轉(zhuǎn)發(fā)到開發(fā)板。效果如下:
(四)開發(fā)板做UDP服務(wù)端,虛擬機做UDP客戶端。
(1)通過調(diào)試串口,在終端界面下進入到/home/root 路徑,執(zhí)行elf1_cmd_net應(yīng)用,
(2)在虛擬機執(zhí)行elf1_cmd_net應(yīng)用,主動發(fā)送數(shù)據(jù)。
(3)當虛擬機發(fā)送數(shù)據(jù)后,開發(fā)板會將接收到的數(shù)據(jù)再次轉(zhuǎn)發(fā)到虛擬機。效果如下: