Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上 - 教程
目录
一、步骤一:保证 U 盘或者 TF 卡的格式为 FAT32 格式,TF 卡要用读卡器和电脑相连。
二、步骤二:把 U 盘或者 TF 卡连接到 VMware 软件上,之后使用 df 命令确定挂载的路径。
三、步骤三:把 U 盘或 TF 卡连接到开发板,TF 卡使用读卡器和开发板连接
借助 U 盘或 TF 卡拷贝工具到开发板上
我们已经学习了怎么在 ubuntu和 windows上互传文件,那么怎么把ubuntu或 win 上的程序拷贝到开发板呢,这里给大家介绍第一种方法,使用 U盘或者 TF 卡来完成,要是大家使用的是U 盘,那么大家直接把 U盘插到电脑上就可以了,如果大家使用的是TF 卡,那么大家要把TF 卡连接到读卡器上,之后把读卡器插到电脑,其他的操作方法都是一样的,我就不给大家做区分了,我现在把 U盘插到电脑上。
一、步骤一:保证 U 盘或者 TF 卡的格式为 FAT32 格式,TF 卡要用读卡器和电脑相连。
我们最初要检查 U盘或者 TF 卡是不是 FAT32 格式的,打开我的电脑,继而找到识别出来的U 盘或 TF卡的盘符,点击右键,选择属性,我们可以看到文件系统 FAT32,就是文件系统的类型,这里我们要使用FAT32 格式,不能使用其他格式。

如果大家的格式不是这个,可能格式化一下,选中 U盘或者 TF 卡,点击右键,选择格式化,文件系统这里选择默认的 FAT32格式,然后点击开始。
我们格式化之前要保证 U盘或 TF 卡里面没有重要的东西,源于格式化完了,里面的东西就全部没有了,如果大家之前的 U盘或者 TF 卡分成了好几个区,就要先把它变成一个区然后在格式化。
我们 TF 卡使用读卡器和电脑相连,接着我们虚拟机VM 软件识别出来的就是U 盘而不是 TF 卡,倘若你直接插 TF卡,那么虚拟机软件可能会识别不出来,所以要用读卡器和电脑相连,把windows上的文件或程序拷贝到 TF卡。
二、步骤二:把 U 盘或者 TF 卡连接到 VMware软件上,然后使用df 命令确定挂载的路径。
大家要怎么把 ubuntu上的文件拷贝到U 盘或者 TF 卡呢。
第一步,我们要把 U盘或者 TF 卡连接到虚拟机VM,大家行点击VM 里“虚拟机”这个选项,选择“可移动设备”,然后选择“Unknown Mass Storage ”,连接(断开与主机的连接),()里是断开与说我们选上这个选项之后,他会把我们的 U 盘或者 TF 卡与 windows 电脑连接断开,然后把它们连接到 ubuntu 上,我们点一下,连接成功以后,ubuntu 会弹出来 U 盘或者 TF 卡里面的存储的界面。弹出这个界面就说明我们已经连接成功了,如下图所示。点击左上角的 x 关掉这个界面就是机的连接,这就

把ubuntu里面的程序或者文件拷贝到TF卡,我们就可以使用df命令查看U盘或者TF卡挂载到了Ubuntu 哪个目录上,我先把 U盘断开,点击“可移动设备”,然后断开连接。如下图所示。

现在我的 windows电脑已经识别了U 盘,说明他已经从虚拟机里面断开了,然后我输入df 命令。如图所示。接着我再把 U盘连接到虚拟机软件里,连接成功之后,再输入df 命令。如图 29.4 所示。
大家对比下这两个 df命令的输出结果,大家第二次输入df 命令 ,这里多了个/dev/sda1的设备,那么这个设备就是 U盘或者 TF 卡,我们第一次没有连接U 盘或者 TF 卡的时候是没有这个设备的,如下图所示。

设备挂载到了 mounted on这个挂载点,它挂载到了这个路径上,我们直接可能启用“cd “命令进到这个路径。如下图所示。

这个路径下面就是我们的 U盘或者 TF 卡里面的文件列表,我们的内容都可以在这个路径下看到,我们可以来试一下,我现在再打开一个控制台,我们还是利用之前的 hello.c作为例子,大家使用交叉编译器来编译这个 .c文件,源于这个可执行文件是要在开发板运行的,所以大家这里要使用交叉编译器,输入
arm-linux-gnueabihf-gcc hello.c -o hello
可以看到是在 arm运行的,如下图所示。

随后大家把这个可执行文件拷贝到 U盘或者 TF 卡上,直接使用cp 命令,如下图所示。

这就是我们的路径,把它复制过来,然后我们再来看下,拷贝成功,如下图所示。

我们已经把 hello该可执行文件拷贝到我们的U 盘上了,接着我们断开连接,我们把它连接win 电脑上,大家打开看一下,这里面就多了个 hello的可执行程序。如下图所示。

三、步骤三:把 U盘或 TF 卡连接到开发板,TF 卡采用读卡器和开发板连接
接着就可以把 U盘或者 TF 卡拔下来连接到开发板上了。我们先给开发板上电,连接好超级终端,这里作者已经连接好了,然后我们启动开发板,现在把 U通过盘从电脑上拔下来,大家等待系统启动成功。系统启动成功之后我们就能够把 U盘或者 TF 卡连接到 TF 上了,这里大家使用TF 卡的话,大家要用读卡器连接到我们的开发板上。如下图所示。

作者开发板的启动是 yocto文件系统,我现在把U 盘插到开发板上,插好了之后我们开发板会弹出来一些打印信息,这个是正常的。如下图所示。

作者是连接到这个USB 口上,搭建连接到下边的USB 口也是没有问题的,如下图所示。

大家要怎么访问我们的 U盘或者 TF 卡呢。
第一步我们要先知道,U盘或者 TF 卡挂载到了哪个路径上,就跟我们在ubuntu上使用 df 命令是一样的,我们能够在开发板上同样敲入df 命令。如下图所示。

这里面的根目录下的 sdb1就是我们 U 盘或者 TF 卡的设备,它挂载到了/run/media/sdb1这个路径上大家也能够把大家的U盘或者 TF卡拔下来对比下,然后我们进到这个路径,直接利用cd /run/media/sdb1我们就可以看到 hello这个可执行文件了,如下图所示。

我们允许直接使用 cp命令把它拷贝到开发板opt 目录下,输入cp hello /opt然后我们进到根目录的opt 目录下,输入cd /opt我们可能运行下hello 这个可执行文件,我们先给他改下权限,改成777 输入chmod 777 hello,我们运行下./hello,这样他就打印了hello world!如下图所示。

因为我这里给开发板烧写的是 yocto的文件系统,yocto 文件系统是自动挂载U 盘和 TF 卡的。什么是自动挂载呢,自动挂载就是不用再手动使用命令把我们的 U盘或者是 TF 卡挂载到大家的挂载点上,即自动帮你搞定挂载到 /run/media/sdb1这个路径上,但是有的文件系统不会自动帮你挂载,比如说busyboxy、buildroot 默认是不会帮你自动挂载的,我们就可以手动先来挂载下,我把开发板的文件系统烧写成busybox文件系统,烧写过程就不给大家演示了,然后我们再来看下,我们要怎么使用命令来挂载。我现在给开发板烧写好了 busybox文件系统,然后我插上U 盘,插上 U 通过盘之后,他会弹出来一些打印信息,我们可以通过这个打印信息就能够知道识别出来的是 dev下边的哪个设备,他这里识别的是sdb1 。如下图所示。

然后我运用 df没有自动挂载我们就是命令,下面dev 下边 sdb1 设备的,如下图所示。

这时候我们就要启用手动挂载,手动挂载我们使用的是 mount命令,我们输入该命令 ,
mount 设备名称 挂载点 ,
设备的名称是 dev下边的 sdb1 ,
我们把它挂载到 mnt路径,也就是我们的挂载点是mnt ,如下图所示。
mount /dev/sdb1 /mnt![]()

mnt 的作用我们在之前fsh 规范的时候已经讲过了,之后我们再使用df 命令,我们再来查看下,这里就多了一个设备,如下图所示。

接着它挂载到了 mnt上,然后我们进到mnt 这个命令,ls 看一下,这里面就有hello 这个可执行程序,如下图所示。

所以说这个目录下就是我们 U盘的目录,我们许可把hello 拷贝到开发板上,我们把它拷贝到根目录下,然后我们来运行下也是没有疑问的,如下图所示。

dev就是有的文件系统是不会给你弹出来打印信息的,这时候我们要怎么确定他识别出来的下边哪个设备呢,比如说 ubuntu你插上 U 盘之后,他是没有打印信息的,这时候就不知道是sda1 还是 sdb1 ,我们可以使用 cat命令查看下准确信息,我们直接使用这个命令,他下边的sdb1 就是我们的 U 盘,如下图所示。

我们可以拔掉 U盘,之后我们再来查看下,他就没有这个sdb1 了,故而说这个分区信息就是U 盘的,如下图所示。
接着我们在插上他。我们这里 TF 卡连接到开发板也使用读卡器连接的
连接好了之后,第一步先使用 df命令查看下我们当前的文件系统是不是自动挂载的U 盘或者 TF 卡,如果不是自动挂载的,大家要用 mount命令来挂载一下。如下图所示。
mount 命令格式 :
mount 设备名称 挂载点
利用 mount 命令我们要先确定我们的设备名称,这个设备名称就是 dev 下边的 sdb1 ,mnt 是挂载点
mount /dev/sdb1 /mnt
设备名称的确定我们可以通过打印信息来查看,如果插上没有打印信息,我们允许采用 cat 命令来查看下分区信息,输入cat /proc/partitions

如果我们的 U盘或者 TF 卡时自动挂载的,我们接下来直接访问就可以了。
我们要怎么卸载呢,我们启用的是 umount命令,
卸载命令:umount命令
格式:umount挂载点
我现在卸载掉 U盘挂载的 mnt 这个挂载点,我们直接输入umount,后边跟我们的挂载点就可以了,我们输入umount /mnt

卸载后,大家来查看下,这里就没有我们 dev/sda1挂载的 mnt 这个挂载点了,如下图所示。

四、TF 卡直接和卡座连接
开发板上也预留了 TF卡座子给大家,我们可以不使用读卡器和开发板连接,直接把TF 插到我们的开发板 TF卡座子上,如下图所示。刚刚我已经把U 盘拔下来了,作者现在把TF 卡插到这个座子,

然后我们看下,我们在超级终端就打印出了我们插上 TF卡之后的打印信息。如下图所示。

我们按照刚刚学到的,我们第一步要判断下他有没有给我们自动挂载,采用 df命令,显然他这里是没有给我们自动挂载的。如下图所示。

我就要使用 mount命令手动挂载一下,我先要确定我设备的名称,设备的名称我这里可以借助打印信息来确定,他这里打印的是 mmcblk0:p1,如下图所示。

我们使用mount /dev/mmcblk0p1 /mnt然后在使用 df 命令来查看下,我们TF 卡就挂载到了mnt 这个挂载点,我们使用cd /mnt直接访问就允许了,ls 看到 TF 卡里的信息,这个是TF 卡自带的一个文件和hello文件,如下图所示。

使用 U 盘或者 TF 卡拷贝文档到开发板上,我们一般是在开发板没有预留出网口等其他接口的时候,我们利用这个办法来拷贝,因为比较麻烦。
我们来总结下,第一步要保证 U盘或者 TF 卡的格式为 FAT32 程序拷贝到就是格式,大家把文件或者U盘或者 TF卡之后,连接到开发板上,连接好之后我们要先确定我们的开发板上有没有自动挂载,使用自动挂载的,我们要使用 mount就是df命令来查看,如果他是自动挂载的,我们直接访问挂载的路径就可能了,倘若不命令手动挂载,使用mount 命令大家要确定设备的名称,确定设备的名称我们行利用打印信息来确定,假如没有打印信息,我们可以利用查看分区信息命令来确定,随后我们手动挂载上之后就行直接访问我们的挂载点也就是访问我们的 U盘或者 TF 卡了,这个思路并不难,大家可以自己体验下。