在学习linux的嵌入式开发时,嵌入式的开发环境和工具是最为重要及首要应该学习的。由于嵌入式系统本身资源的匮乏,所以在开发时常采用PC宿主机+目标机的交叉调试方式。关于PC宿主机和目标机的搭建在此不再累述。开发者一般会首先在PC宿主机上开发,然后通过某种通信方式发送到目标机上进行调试。而本文就是对某种通信方式进行讨论。一般来说二者之间的主要通过以下几种方式进行通信:U盘、SD卡、NFS、FTP、UART...
1、U盘
首先把需要通信的文件拷贝到U盘上,然后通过U盘进行传输。目标机上插入U盘后会提示如下信息(信息是通过串口发送到超级终端上的):
在 mount/dev/sda1 /mnt 之前会看到U盘对应的设备文件是 sda1 即/dev/sda1
上图是mountU盘后,查看U盘中的文件及umount命令等。mount后,操作和在linux中操作是一样的。上图是常用的命令。
注意:在mount到的目录下,不能umount,否则提示:Device or resourcebusy,此时只需退到更上层的目录即可。
2、SD卡
SD和U盘同为移动存储设备,所以操作基本一致。在此不在详述。
3、NFS
NFS方式,是通过网络进行通信的,所以必须保证:1、二者之间已连接网线。2、PC端linux下的NFS服务已配置好,并开启。3、目标机端NFS服务也已配置完成,主要是IP地址的配置。
以上配置完成后,假设已经挂接NFS文件系统到开发板的/mnt目录下。其余操作同U盘操作。
4、UART
通过UART,PC宿主机和目标机通信时,需要求二者之间通过串口连接。
首先设置PC端串口接收发送工具的接收和发送的路径。具体工具设置方示不一样。下文以电脑自带的超级终端为例。注意超级终端的数据流控制要设为无。
超级终端下,发送和接收方法请查询超级终端的使用方法。
5、FTP
FTP方式,也是通过网络进行传输的。方法同UART口类似,只不过,此时windows下的软件换成了FTP软件了。
以上五中通信方式的优缺点及使用场合:
1、U盘和SD卡
不管是数据还是文件都在U盘上,所以不存在擦写flash的问题。可延长flash的使用寿命。从上面的操作可以看出,操作起来比较麻烦,不适合在调试程序时使用。所以此种方式一般用来输入大量的信息或是存储大量的数据时使用。
2、NFS
NFS方式主要是用在linux与linux间的通信, 所以也不存在擦写flash的问题。真在的数据或是文件吧还是在PC宿主机上,有木有点像服务器的味道。所以这种方式适合开发调试程序。
3、FTP
FTP方式主要是用在windows和linux之间通信,所以在PC宿主机+目标机的开发中,先要把需要拷贝的文件发送存到windows下。优点是速度快,但操作起来也是比较麻烦。不太适合虚拟机+linux形式的开始。
4、UART
此种在linux或windows和linux下通信均可。由于使用的是串口通信,所以速度受到很大的限制。不适合大量数据的传输。用来调试程序,可勉强接受。
发表评论 取消回复