由于通过USB烧录方式比较繁琐,且每次编译好可执行文件,都需要制作文件系统烧录到开发板,这里介绍一种比较简单的方式,通过nfs服务,将Ubuntu的共享目录挂载到开发板的共享目录下,直接就可以通过nfs将可执行程序文件直接下发到开发板中,省去了镜像烧录的步骤。
前提:请确保你的Ubuntu能够上网,如果你的Ubuntu无法上网,但是Windows能够通过samba访问到Ubuntu的文件,可以参考《如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享》进行配置。
一、Ubuntu下载NFS并做NFS服务的相关配置
- 步骤1:进入Ubuntu,打开终端,输入下面的命令,安装NFS
sudo apt-get install nfs-kernel-server
- 步骤2:分步执行下面的命令,创建一个nfs的共享目录,并给访问权限
cd ~
mkdir nfs
chmod 777 nfs
- 步骤3:执行下面的命令,打开nfs的配置文件
sudo vim /etc/exports
- 按下键盘
i
键进入输入模式,在文件最下面添加如下所示的配置。
其中:
/home/nfst_shared —要共享的目录(就是步骤2创建的nfs目录的绝对路径)
192.168.0.—允许访问的网段,也可以是ip地址、主机名(能够被服务器解析)、如果设置为,就是所有人都能访问
(rw,sync,no_root_squash,no_subtree_check)
rw:读/写权限
sync:数据同步写入内存和硬盘
no_root_squash:服务器允许远程系统以root特权存取该目录
no_subtree_check:关闭子树检查
/home/hispark/nfs 192.168.*(rw,sync,no_root_squash,no_subtree_check)
-
按键盘的
Esc
键,然后输入:wq
命令,保存退出
-
步骤4:执行下面的命令,重启portmapper 端口映射服务
sudo service portmap restart
- 步骤5:执行下面的命令,重启 NFS服务
sudo service nfs-kernel-server restart
*步骤6、执行下面的命令,测试Ubuntu的 nfs是否开启,如果开启成功,会打印出nfs共享的目录
showmount -e
二、进行开发板的网络配置
-
步骤1、将开发板与windows电脑,通过网线进行连接。网线的具体连接方式可参考《Taurus计算机视觉基础开发套件操作指导.pdf》的6.8节的内容。
-
步骤2:配置开发板在Windows的IP地址,点击电脑右下角的电脑图标,进入网络和Internet设置
然后再点击以太网,再点击更改适配器选项。
选中与开发板连接的那个网络设备,鼠标右键,点击属性
鼠标双击Internet协议版本4,进入IP地址的配置
选择使用下面的IP地址,再配置IP地址和子网掩码,然后再一路点击确定。
如果开发板和Windows能够互相ping通,则说明网络配置成功。
三、配置虚拟机的网络连接模式
-
步骤1:在Windows的搜索位置输入 VMnet,并以管理员身份运行
-
步骤2:进入虚拟网络编辑器,选择Vmnet0,在已桥接至处选择 Windows与开发板连接的那个网络设备,然后再点击应用,再点击确定。
-
步骤3:关闭Ubuntu,然后点击编辑虚拟机设置
-
步骤4:进入虚拟机设置,点击网络适配器,选择自定义特定虚拟网络:选择VMnet0(桥接模式),再点击确定即可。
-
步骤5:将Ubuntu开机,点击右上角的网络连接按钮,再点击有线设置。
-
步骤6:点击设置按钮
-
步骤7: 点击IPv4,选择手动,输入IP地址和子网掩码,再点击应用
-
步骤8:验证Ubuntu与开发板是否能ping通,如下图所示,开发板与Ubuntu是能够互相ping通的
四、将Ubuntu的 nfs目录挂载到开发板的nfs目录下
- 步骤1:在开发板的根目录,创建一个nfs文件夹
cd /
mkdir nfs
- 步骤2: 执行下面的命令,挂载nfs目录
其中:
192.168.200.2 是Ubuntu的IP地址
/home/hispark/nfs 是Ubuntu的nfs共享目录
/nfs 是开发板的nfs共享目录
mount -t nfs -o nolock 192.168.200.2:/home/hispark/nfs /nfs
- 步骤3:验证nfs是否能共享
分步执行下面的命令,在开发板的nfs目录下,创建一个test.txt 文件,看Ubuntu的nfs目录下是否能看到
cd /nfs
echo " test nfs " > test.txt
分步执行下面的命令,进入Ubuntu的 nfs共享目录,查看是否有test.txt这个文件,且内容是否是 “test nfs”
cd /home/hispark/nfs
sync
ls -la
chmod 777 test.txt
cat test.txt
到此,Ubuntu与开发板之间的nfs共享文件的服务器就搭建成功了。
五、举例说明
如果你在Ubuntu中重新编译了任何可执行文件,都可以将他复制到Ubuntu的nfs目录下,然后再在开发板的nfs目录下,将对应的可执行文件拷贝到开发板的对应目录下,给权限并执行。
这里以hispark_taurus_helloworld_sample这边demo为例进行演示。
按照视频,编译好后,本来是要拷贝到root目录下,然后制作文件系统的,这里我们使用nfs的方式来操作,看一下到底有多方便。
- 首先进入smp目录下,将编译好的sample_lcd 可执行文件拷贝的nfs的共享目录下。
cp sample_lcd /home/hispark/nfs/
- 执行完cp操作之后,我们可以在开发板下执行
sync
命令,进行一下同步,再执行ls命令,可以看到 开发板的nfs目录已经有了 sample_lcd这个文件了。
- 这个时候,执行cp命令,就可以将sample_lcd文件拷贝到开发板的 root目录下
cp sample_lcd /root/
- 接下来,就是给可执行权限,再运行就可以啦,是不是很方便。