之前學linux時做過一個小例程,測試PX2開發板上的tcp通信,現發到論壇里和大家分享一下, 主要是實現板與PC機的一個簡單的通信測試,首先,配上兩個程序(程序中沒注釋,不過具體函數的功能想了解也可以百度下),一個是tcp中負責接收的(tcp_ser.c),一個負責發送數據的(tcp_cli.c),如果在linux下編譯,再分別開啟兩個終端執行,會是如下效果: 由于PC是x86內核的,而PX2板是arm內核的,故我們要在板上運行就得通過別的方式編譯下,編譯過程如下: 1.先在根目錄先,執行sourcebuild/envsetup.sh,使得我們可以在“當前”目錄下能執行mm這個命令 2.然后樓主是在/kernel/drivers/目錄下建了兩個目錄,分別為/tcp_ser和tcp_cli,將相應的C程序放進去, 在tcp_cli新建一個Android.mk文件(注意大小寫),然后寫入如下內容, 然后在tcp_ser也執行同樣的操作,修改的只需要是把tcp_cli.c改為tcp_ser.c,和把生成測試文件的名字改一下,然后在兩個目錄下分別執行一次mm就會生成測試文件 然后在/sdk/out/target/product/rkpx2/system/bin這個目錄下找到測試文件,復制出來,用adb工具push進板中(注:這步得在window下執行), 3,進入文件所在目錄,然后用chmod777 tcp×賦上權限,然后先查看我們自己網絡的地址,然后在將板上的IP地址設置一下,使其處于同一個局域網,如:當未機子的IP為192.168.1.1時,板子也得設置為192.168.1.×××,板子的IP修改在設置那邊可以改。然后用網線將PX2板與電腦連接起來,記住此時最好把電腦的防火墻關閉下,不然沒法通信。 4.這時候測試我們便需要用到一個工具-網絡助手,已經在附件中,如測試板子tcp的發送,則將網絡助手設置為tcp_server,然后對應的端口號得看程序,我在程序中定義為3333.IP地址則是跟我們在板上設置的一樣,然后在adbshell 進入板中,在cli文件所在的目錄下執行: ./tcpcliapp 網絡助手的ip地址 然后便會和之前在linux下操作的一樣,而測試tcp的接收也是一樣,執行./tcpserapp 然后把網絡助手設置為tcp_client,端口,IP修改一下,點連接,在輸入端輸入的數據便可以送到板子上的服務器端了,由于樓主的電腦防火墻設置沒辦法取消,故這部分就不配圖啦,不過之前在別人的電腦上試過,是可行的。有興趣的伙伴可以試試, |