借助 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 卡之后,连接到开发板上,连接好之后我们要先确定我们的开发板上有没有自动挂载,使用 df命令来查看,如果他是自动挂载的,我们直接访问挂载的路径就可以了,如果不是自动挂载的,我们要使用 mount 命令手动挂载,使用 mount 命令我们要确定设备的名称,确定设备的名称我们可以通过打印信息来确定,如果没有打印信息,我们可以通过查看分区信息命令来确定,然后我们手动挂载上之后就可以直接访问我们的挂载点也就是访问我们的 U 盘或者 TF 卡了,这个思路并不难,大家可以自己体验下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89872.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89872.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/89872.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【亲测有效】防检测插件playwright_stealth 2.X版本快速使用

这里写自定义目录标题核心方法apply_stealth_syncuse_sync和use_async一. playwright_stealth 2.0以上版本1.同步方法2.异步方法3.实例二.playwright_stealth 2.0以下版本playwright-stealth 是一个用于 Playwright 的库,旨在帮助自动化脚本避开一些检测机制&#x…

docker安装与简单项目上手

1.docker安装 系统版本为almalinux9.6 首先添加一下docker的软件安装源(源选择的阿里云,只要是rhel的系统都适用,无论是rockylinux还是almalinux还是红帽企业版) dnf config-manager --add-repo https://mirrors.aliyun.com/doc…

计算机网络基础:从协议到通信全解析(大致框架)

本节重点:1.了解网络发展背景,对局域网/广域网的概念有基本认识2.了解网络协议的意义,重点理解TCP/IP五层结构模型3.学习网络传输的基本流程,理解封装和解包分用一、计算机网络发展背景:人与人之间是需要协同工作的&am…

PDF 编辑器:多文件合并 拆分 旋转 顺序随便调 加水印 密码锁 页码背景

各位打工人、学生党们,你们是不是也遇到过这种情况,领导甩来一个PDF让你改,结果你捣鼓半天,发现这玩意儿根本动不了,简直想原地爆炸!别急别急,今天就给你们安利一个办公软件——PDF编辑器&#…

【软件基础学习配置那些事 4-3】3ds Max2026 菜单栏常用命令-----文件、视图、编辑、工具、组

3ds Max学习的笔记小知识!!!!!!!!后续都会补充添加!!!!(个人的一些学习笔记,如有不对,欢迎订正&am…

网络爬虫的介绍

网络爬虫库网络爬虫通俗来讲就是使用代码将HTML网页的内容下载到本地的过程。爬取网页主要是为了获取网中的关键信息,例如网页中的数据、图片、视频等。Python语言中提供了多个具有爬虫功能的库,下面将具的介绍。urlib库:是Python自带的标准库&#xff0…

C# 编程实战进阶:字符串与字符串数组 (3)

目录 1、给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 2、无重复字符的最长字符串 ,给定一个字符串 s 请你找出其中不含有重复字符的最长字符串的长度。 3、给定两个字符串 s 和 t ,它们只包含小…

Python趣味算法:百钱百鸡问题——双重循环优化与算法效率分析

如何用Python解决中国古代数学难题?本文从暴力枚举到高效优化,带你领略算法之美,效率提升100倍! 看在每天坚持分享有趣知识的份上,点个关注吧(づ ̄ 3 ̄)づ 关注是我更新的动力 ̄︶ ̄∗ ̄︶ ̄∗) 作者会分享更多涉及到各种编程语言的有趣知识!(^∀^●)ノシ 目录 …

JAVA_TWO-初识Java2

1.IDEA管理Java程序的结构2.idea编译后的class文件在哪在工程out文件夹下。3.idea一些快捷键4.导入模块File→New→Module from Existing Sources → 添加后缀.iml文件5.注释单行注释 //多行注释 /* 注释内容1注释内容2 */文档注释 /** 注释内容 */ (文档注释内容可…

二、Dify 版本升级教程(LInux-openeuler)

首先,你需要先按照好dify,然后才能升级,本文教程是基与Docker Compose 如果你还没有安装,可以看看这个教程。 一、Dify 私有部署、本地安装教程(LInux-openeuler)_dify1.5版本部署-CSDN博客 安装完成后&a…

Java 大视界 -- Java 大数据在智能安防门禁系统中的多生物特征融合识别与权限管理(280)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也期待你毫无保留地分享独特见解,愿我们于此携手成长,共赴新程!💖 本博…

【Tools】Ubuntu24.04安装详细教程

00. 目录 文章目录00. 目录01. Ubuntu 24.04简介02. Ubuntu 24.04下载03. Ubuntu 24.04虚拟机创建04. Ubuntu 24.04安装步骤05. Ubuntu 24.04常用软件06. 附录01. Ubuntu 24.04简介 Ubuntu 24.04 LTS(代号“Noble Numbat”)是Canonical于2024年4月25日发…

linux基础入门Ubuntu 22.04 系统中添加、删除和授予用户 sudo权限

在 Ubuntu 中,sudo 允许授权用户以 root 级别权限执行任务,即使他们不知道 root 用户密码。这对于执行管理任务非常重要,因为它可以避免直接使用 root 用户,从而减少系统被误操作的风险,同时在企业生产中由于ubuntu系统…

npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1

问题描述使用git bash, cmd运行npm都可以,但是用Power Shell运行npm,却报错:npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/…

【面经】实习经历

文章目录一、求职准备篇1.1提升技术水平1.1.1学什么?1.1.2怎么学?1.2做项目1.3做简历1.4找实习二、求职难度篇找实习难不难?笔试面试三、实习内容篇新人入职 -- 学会看代码参与小需求实习日常实习到底难不难?四、总结 一、求职准备…

The Missing Semester of Your CS Education 学习笔记以及一些拓展知识(二)

文章目录The Missing Semester of Your CS Education 学习笔记以及一些拓展知识Bash脚本笔记部分一些在Bash脚本中的常用命令补充常用标准输入输出命令常用环境变量(普通变量)控制命令常用系统时间信息获取命令常用函数执行状态控制命令常用脚本执行控制命令Bash脚本的创建和运…

教育科技内容平台的用户定位与产品方案:从需求到解决方案的精准匹配

教育科技内容平台的用户定位与产品方案:从需求到解决方案的精准匹配打造一款成功的内容平台,核心在于 “懂用户”—— 明确不同用户的需求场景、使用目的,才能设计出真正有价值的产品功能。本文以面向互联网从业者的教育科技内容平台为例&…

网络之路16:认识虚拟化环境H3C CAS

正文共:3888 字 54 图,预估阅读时间:6 分钟目录网络之路第一章:Windows系统中的网络0、序言1、Windows系统中的网络 1.1、桌面中的网卡 1.2、命令行中的网卡 1.3、路由表 1.4、家用路由器网络之路第二章:认识企业设备2…

Sklearn 机器学习 IRIS数据 理解分类报告

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Sklearn 机器学习 IRIS 数据分类报告解读 鸢尾花(Iris)数据集是机器学习入门中最经典…

ni-app 对鸿蒙的支持现状

自 HBuilderX 4.27 版本开始,uni-app 支持 Harmony Next 平台的 App 开发,目前仅支持 Vue3 项目编译到鸿蒙平台。uni-app x 从 4.61 版本起支持纯血鸿蒙,即 Harmony NEXT,其组件、API、CSS 与 Android 和 iOS 基本拉齐。 开发与配…