迅為iTOP-4412開發板以NFS方式除錯應用程式
本文講解一下通過 NFS 網路檔案系統來除錯我們的應用程式,我們這裡以 linux qt 系統為
例。
我們在 qt 系統上除錯應用的時候,首先是在虛擬機器 Ubuntu 上通過交叉編譯生成可執行的二進位制檔案,
然後把生成的二進位制檔案拷貝到檔案系統裡面,然後用命令重新生成 system.img,然後燒寫 system.img 到
開發板,然後啟動開發板執行我們的程式,或者是通過 tftp 把執行檔案下載到開發板上。
上面說的這兩種方式操作起來都很麻煩,下面我們講一下利用 NFS 除錯程式。
首先我的 NFS 掛載的目錄是 “/home/broswer/nfs/root” (如何搭建 NFS, 可以參考我們的 《
實現 NFS 網路檔案系統.pdf》 ) 。
然後我們以 helloword 程式為例來實現,我的 helloword.c 儲存在“/home/brower/test 目錄” ,在虛
擬機的終端使用“vi helloworld.c”命令,開啟 helloword.c,如下圖所示:
我們可以看到 helloword.c 裡面就一條列印語句,輸出“int_Hello World!” 。
接下來在虛擬機器的終端使用命令“arm-none-linux-gnueabi-gcc -o helloworld helloworld.c -static”編譯
helloword.c,生成可執行檔案
編譯完成後,會生成 helloword,如下圖所示:
接下來我們啟動開發板,進入 linux qt(掛載的 NFS 系統)系統,串列埠列印資訊如下圖所示:
通過上面的圖片我們可以看到掛載的 NFS 的資訊。
接下來我們在串列埠輸入“ls”命令,可以檢視根檔案系統下的檔案,如下圖所示:
然後我們在虛擬機器的終端上輸入命令“cp helloworld /home/broswer/nfs/root/” ,拷貝編譯生成的執行文
件“helloword”到網路檔案系統的目錄下(我這裡的網路檔案系統是“/home/broswer/nfs/root/” ,大家
需要根據自己的網路檔案系統目錄來修改) ,如下圖所示:
然後在串口裡面輸入”ls“,我們可以看到板子的檔案系統上有”helloword“檔案了,如下圖所示:
接下來在串列埠輸入”./helloword“命令執行”helloword“,執行結果如下圖所示:
我們可以看到串列埠列印” int_Hello World! “了。
通過上面的步驟我們就可以使用 NFS 很方便的除錯程式了。