嵌入式 使用SecureCRT连接开发板、使用tftp方式、nfs挂载方式传输文件
一、简述
记--使用SecureCRT8.3连接开发板,并使用串口方式、tftp方式、nfs方式进行文件传输。(实验环境:开发板:(6818 cortexA53),win7 64位笔记本,VMware Workstation Pro12 + Ubuntu18.04 64位,局域网)。
软件打包(内含注册方法):链接:https://pan.baidu.com/s/1dHXJffsYuEAo7b0Vb1xg_w 密码:fovh
tftp32软件:链接: https://pan.baidu.com/s/1j6PJNHLbUcJBhSvkhnK-SA 提取码: ek7w
对于nfs挂载方式的网络情况,
1、可以在局域网(通过路由器),开发板,主机分别有网线直接连接。主机与虚拟机的网络设置为桥接方式,
主机、虚拟机、开发板的IP在同一个网段。比如例子中的主机IP:192.168.21.117、虚拟机(Ubuntu)的IP:
192.168.21.118、开发板的IP:192.168.21.115。
2、不需要联网,不需要路由器的情况也可以使用一条网线直接连接开发板和主机,主机与虚拟机的网络设置为桥接方式,
主机、虚拟机、开发板的IP在同一个网段。比如例子中的主机IP:192.168.21.117、虚拟机(Ubuntu)的IP:
192.168.21.118、开发板的IP:192.168.21.115。
设置IP方法:写在笔记的最后。
二、安装usb转串口驱动
1、解压"USB转串口驱动"压缩包,进入USB转串口驱动目录(按照转换芯片类型进行选择)
例子中安装CH341SER.EXE
插上USB转串口线,(未安装驱动) 右键我的电脑--》属性--》设备管理器--》
三、安装secureCRT
1、解压压缩包,进入目录 secureCRT+FX
2、双击运行安装程序
可默认安装
然后注册(方法可参考压缩包里面的"注册secureCRT"文档)。
四、使用secureCRT连接开发板
接上USB转串口线,开发板通电,然后打开secureCRT进行连接
五、PC机与开发板的文件传输
1、使用secureCRT将PC机,ubuntu文件下载到开发板
使用命令rx r是receive,x是X-model模式
rx 文件名 (这个文件名是,文件上传到开发板后的名称,比如说在PC机叫hello.c,输入rx helloworld.c,然后回车,选择选择hello.c进行拖拽,选择Xmoden,上传成功后helloworld.c就是上传的hello.c)
注:如果传输的是可执行文件,默认没有执行权限,请改变权限,命令:chmod 777 xxx,使得xxx具有可执行权限
主机传输文件到开发板
Ubuntu传输文件到开发板
2、使用tftp网络传输方式
PC机文件传输到开发板(使用tftp工具)
Ubuntu传输文件到开发板
连接到虚拟机中的Ubuntu。需要做以下配置让Ubuntu支持tftp服务。如果已经获取到超级权限了,命令前面就可以不用加sudo。
使用apt在线安装软件,需要Ubuntu联网。
(注:可以设置网速快的软件源,可以通过界面直接设置,或搜索Software & Updates,也可以通过修改配置文件/etc/apt/sources.list)
1)安装tftp相关软件 (需要超级权限,可以同时安装:apt-get install tftpd tftp xinetd)
命令:apt-get install tftpd
命令:apt-get install tftp
命令:apt-get install xinetd
2)建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp 命令:sudo vi /etc/xinetd.d/tftp
内容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/liang/tftp
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
server_args = -s /home/liang/tftp 中的 /home/liang/tftp就是上传文件与下载文件的路径位置(自定义)
3)创建tftp服务文件目录(不需超级权限)
mkdir /home/liang/tftp (创建/home/liang/tftp目录,上面设置的文件传输文件)
chmod 777 /home/liang/tftp (这里设置权限为777,防止因为权限不足造成文件传输异常)
4)重新启动tftp服务
sudo /etc/init.d/xinetd restart (重启tftp服务器)
5)查看tftp是否启动成功
sudo netstat -a | grep tftp --查看是否启动成功,可以看到udp 0 0 *:tftp *:*
6)设置开发板IP (根据实验环境配置,例子所在环境在局域网,此IP可用)
开发板连接网线
设置开发板的IP:命令:ifconfig eth0 192.168.21.115 (根据实际情况设置)
可以ping通主机 (例子中主机的IP是192.168.21.117,注意防火墙设置)
可以ping通Ubuntu (ping 192.168.21.118)
主机能够ping通开发板
虚拟机能ping通开发板 (例子中开发板是有系统的,能够响应IP报文,不能相应的是ping不同开发板的)
7)在开发板上下载虚拟机中Ubuntu的文件
在开发板上输入命令:tftp 192.168.21.118 -g -r xxx
192.168.21.118:服务器IP地址(虚拟机Ubuntu的IP)
xxx:要下载的文件名
注:如果传输的是可执行文件,默认没有执行权限,请改变权限,命令:chmod 777 xxx,使得xxx具有可执行权限。
3、使用nfs
nfs:net file system网络文件系统
说明:类似于主机windows与虚拟机Ubuntu之间的共享目录一样(在windows和Ubuntu都可以看到并操作),
Ubuntu设置一个共享目录,开发板通过网络也可以访问到,相当于把这个共享目录也挂载到开发板的某个子目录下,然后开发板和ubuntu可同时操作这个目录。
1)安装nfs相关工具包
sudo apt-get install nfs-common nfs-kernel-server
安装成功
2)配置nfs共享目录
指定一个目录作为nfs共享目录,例子中创建了一个新目录
mkdir /home/liang/nfs (在 /home/liang/路径下创建nfs目录)
编辑/etc/exports,命令:sudo vi /etc/exports,在文件最后增加以下内容:
/home/liang/nfs *(rw,sync,no_root_squash)
其中:
/home/liang/nfs :是要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限
使用命令查看nfs共享目录是否设置成功,命令:showmount -e
(可能需要重启nfs服务方可生效,命令:sudo /etc/init.d/nfs-kernel-server restart (重启nfs服务器))
3)重启nfs服务
命令:sudo /etc/init.d/nfs-kernel-server restart (重启nfs服务器)
命令:sudo /etc/init.d/nfs-kernel-server status (查看nfs是否开启,或使用命令:sudo netstat -a | grep nfs 进行查看)
4)测试nfs
尝试将Ubuntu本地文件挂载上去,创建一个目录/mnt/nfs 命令:sudo mkdir /mnt/nfs
然后将/home/liang/nfs挂载到/mnt/nfs上 命令:mount -t nfs localhost:/home/liang/nfs /mnt/nfs
测试完毕后,卸载挂载的目录 命令:umount /mnt/nfs/
5)将/home/liang/nfs目录挂载到开发板
在开发板创建一个目录/nfs 命令:mkdir /nfs (用来挂载Ubuntu的共享目录,相当于一个通向Ubuntu的通道)
挂载前确保网线连接好,IP地址配置好 (192.168.21.118是Ubuntu的IP,开发板的IP设置为192.168.21.115)
命令:mount -o nolock,tcp 192.168.21.118:/home/liang/nfs /nfs (将Ubuntu的/home/liang/nfs目录挂载到开发板的/nfs目录下)
这样相当于Ubuntu的/home/liang/nfs目录和开发板的/nfs进行同步,不用手动进行文件传输,而且只要网络好传输速度快。这样在Ubuntu的/home/liang/nfs目录编译的程序,直接可以在开发板的/nfs目录下看到,并运行。
注意: 如果挂在时出现:mount: RPC: Remote system error - No route to host
尝试重启一下rpcbind 命令:sudo /etc/init.d/rpcbind restart
六、设置IP方法
1、设置主机IP
点击网络图标--》打开网络和共享中心--》更改适配器设置--》右键"本地设置"--》属性--》双击"Internet 协议版本 4(TCP IPv4)"--》然后根据实际情况进行设置--》确定--》确定。
查看主机IP,打开命令行窗口,输入命令ipconfig
打开命令行窗口的方式之一
2、设置Ubuntu的IP
首先在终端使用输入命令ifconfig查看Ubuntu启用的网口,如果没有则需要启用 ,(快捷键Ctrl+Alt+t 开启一个终端)
下图中ens33就是一个已经启动的以太网口。
然后使用sudo ifconfig 某个网口 IP 来进行设置某个网口的IP。查看IP,使用命令ifconfig
3、设置开发板的IP (与设置Ubuntu的IP类似)
首先使用输入命令ifconfig查看开发板启用的网口,如果没有则需要启用,或者是网线没有接好。
然后使用sudo ifconfig 某个网口 IP来进行设置某个网口的IP。