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