本文讲解一下通过 NFS 网络文件系统来调试我们的应用程序,我们这里以 linux qt 系统为
例。
我们在 qt 系统上调试应用的时候,首先是在虚拟机 Ubuntu 上通过交叉编译生成可执行的二进制文件,
然后把生成的二进制文件拷贝到文件系统里面,然后用命令重新生成 system.img,然后烧写 system.img 到
开发板,然后启动开发板运行我们的程序,或者是通过 tftp 把执行文件下载到开发板上。
上面说的这两种方式操作起来都很麻烦,下面我们讲一下利用 NFS 调试程序。
首先我的 NFS 挂载的目录是 “/home/broswer/nfs/root” (如何搭建 NFS, 可以参考我们的 《iTOP-4412
实现 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,如下图所示:
编译完成后,会生成 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 很方便的调试程序了。
版权声明:本文为博主原创文章,未经博主允许不得转载。