在学习linux的嵌入式开发时,嵌入式的开发环境和工具是最为重要及首要应该学习的。由于嵌入式系统本身资源的匮乏,所以在开发时常采用PC宿主机+目标机的交叉调试方式。关于PC宿主机和目标机的搭建在此不再累述。开发者一般会首先在PC宿主机上开发,然后通过某种通信方式发送到目标机上进行调试。而本文就是对某种通信方式进行讨论。一般来说二者之间的主要通过以下几种方式进行通信:U盘、SD卡、NFS、FTP、UART...

1、U盘

首先把需要通信的文件拷贝到U盘上,然后通过U盘进行传输。目标机上插入U盘后会提示如下信息(信息是通过串口发送到超级终端上的):

在 mount

/dev/sda1 /mnt 之前会看到U盘对应的设备文件是 sda1 即/dev/sda1

上图是mount

U盘后,查看U盘中的文件及umount命令等。mount后,操作和在linux中操作是一样的。上图是常用的命令。

注意:在mount到的目录下,不能umount,否则提示:Device or resource

busy,此时只需退到更上层的目录即可。

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下通信均可。由于使用的是串口通信,所以速度受到很大的限制。不适合大量数据的传输。用来调试程序,可勉强接受。

linux与pc机网络通信,PC宿主机和目标机通信方式相关推荐

  1. 20.docker cp从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

    docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面 1.从容器里面拷文件到宿主机?s 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径   ...

  2. docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面

    1.从容器里面拷文件到宿主机 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat,要 ...

  3. docker run --privileged参数(容器权限全开,不利于宿主机安全,宿主机容易重启)(与/usr/sbin/init共用)

    我在搞docker自动部署的时候,加了个--privileged参数,结果容器一创建,宿主机就重启了 docker run \ -itd \ --name ${container_name} \ -- ...

  4. 如何配置VirtualBox中的客户机与宿主机之间的网络连接

    当你在 VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现宿主机与虚拟机之间的相互访问. 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux 宿主机的网络 ...

  5. 宿主机挂载虚拟机磁盘文件guestmount

    http://libguestfs.org/guestmount.1.html 所有格式客户机磁盘 在宿主机中,挂载非Raw格式的客户机磁盘需要使用软件包libguestfs和libguestfs-t ...

  6. Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信

    因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP. 但是此时会有一个问题:采用NAT模式后,在通常情况下, ...

  7. Docker 使用容器数据卷 实现宿主机与容器共享数据 容器数据持久化

    容器数据卷:可以实现宿主机与容器进行共享.容器数据持久化,容器与容器共享数据.可以在run镜像时使用-v参数指定宿主机与容器进行挂载的目录,也可以使用dockerfile的volume指定容器中容器数 ...

  8. 【KVM系列08】使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机

    第八章 使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 1. QEMU/KVM 迁移的概念 1.1 迁移效率的衡量 1.2 KVM 迁移的原理 1.3 使用命令行的方式做动态迁移 ...

  9. KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机

    1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移.系统整理迁移,是将系统上所有软件包括操作系统完全复制到另一个物理机硬件机器上.虚拟化环境中的迁移, ...

最新文章

  1. 基于Kmeans聚类算法的图像分割(色彩分割)实战
  2. 2021-03-09 Matlab RBF神经网络及其实例
  3. python自带超参调优包
  4. 备份mysql数据库的思路
  5. 新版 chrome 将原生支持图片懒加载!
  6. kafka2.3.1+zookeeper3.5.6+kafka-manager2.0.0.2集群部署(centos7.7)
  7. android 调用 asp.net web api,从 .NET 客户端调用 Web API (C#)
  8. TypeScript算法专题 - blog1.基于TypeScript语言的单链表实现
  9. Flutter功能 中ListView和GridView嵌套报错?【教你一步搞定】
  10. RHEL6.3下如何解决DNS主从复制与selinux的并存问题
  11. Magento发布前检查清单
  12. 清洗outliers
  13. 搜狗输入法中文状态下,打出来还是英文按住键盘Ctrl+shift+E就可以了
  14. Ubuntu ISO定制
  15. 【微信小程序】uniapp开发小程序如何使用微信云托管或云函数进行云开发
  16. 增值类短信业务图文简介
  17. 我们把AI画图玩坏了,这60张图片又惊悚又可爱
  18. 自动root用户登陆
  19. HHUOJ 1687 字符串的查找删除
  20. Mybatis-Plus查询语句无故自动加条件

热门文章

  1. nacis服务注册原理_HwServiceManager篇Android10.0 HwBinder通信原理(五)
  2. 有两个关于内部类(Inner Class)的示例
  3. Lesson Plan 原文
  4. Calendar的api方法
  5. 【BZOJ4816】数字表格,反演+枚举约数
  6. 【codevs1225】八数码难题,如何精确地搜索
  7. in、at和on作为方位介词_21
  8. linux批量做信任,Linux 批量建立信任关系,实现ssh无password登陆的脚本
  9. bzoj1024 [SCOI2009]生日快乐 结论+dfs
  10. 2017.9.10 土地购买 思考记录