当前位置: 首页 > news >正文

【IMX6ULL】学习笔记(一)使用ADB替代NFS实现开发板文件传输与调试

【IMX6ULL】学习笔记(一)使用ADB替代NFS实现开发板文件传输与调试

文章目录

  • 【IMX6ULL】学习笔记(一)使用ADB替代NFS实现开发板文件传输与调试
    • @[toc]
    • 一、为什么使用ADB?
    • 1.1 传统NFS
    • 1.2 NFS与ADB的区别
    • 二、开发环境说明
    • 三、ADB命令
      • 3.1 使用adb命令传输文件
      • 3.2 ubuntu ==> imx6ull
      • 3.3 imx6ull ==> ubuntu

一、为什么使用ADB?

在传统嵌入式Linux开发中,经常使用NFS实现开发机与开发板之间的文件共享。但是NFS依赖网络环境,需要保证开发板、Ubuntu处于同一局域网。当网络环境不方便时,可以利用USB OTG模式,通过ADB协议直接与开发板通信。

1.1 传统NFS

在开发板上 挂载网络文件系统

## 开发板上 串口[root@100ask:~]# mount-t nfs-o nolock,vers=3192.168.1.31:/home/book/nfs_rootfs/mnt
传统 NFS 传输文件的方法

1.2 NFS与ADB的区别

方式连接方式优点缺点
NFS网络适合大型项目开发依赖网络
ADBUSB简单稳定,不需要网络传输效率有限

二、开发环境说明

  • 连接电源

  • USB OTG :虚拟机<==>板子 使用安卓口的USB线连接;

    IMX6ULL 的 USB OTG 支持两种角色切换:主机模式 (Host) 和 从机模式 (Device),这是 OTG 的核心,一个口两用。

  • 如果ubuntu有启动会弹出如下窗口

ubuntu窗口

三、ADB命令

adb命令都是在ubuntu中执行

3.1 使用adb命令传输文件

adb devices# list connected devices (-l for long output)adb push1.txt /root# 把Ubuntu的文件放到开发板的/root目录adb pull /root/1.txt2.tx# 把开发板的/root/1.txt下载并改名为2.txtadb shell# 登录开发板。与在串口上开发板交互方式一致
  • adb 传输文件 虚拟机<==>板子
    • book@100ask:~$ adb push 1.txt /root//把虚拟机的文件推给板子
    • book@100ask:~$ adb pull /root/2.txt//从板子中把文件拉到虚拟机中
## 把虚拟机的文件推给板子book@100ask:~$ adb push1.txt /root1.txt:1filepushed.0.0MB/s(15bytesin0.008s)book@100ask:~$ book@100ask:~$## 登录开发板。与在串口上开发板交互方式一致book@100ask:~$ adb shell sh-5.0#sh-5.0# pwd/ sh-5.0# cd rootsh-5.0# pwd/root sh-5.0# ls1.txt S05lvgl sh-5.0# vi 2.txtsh-5.0### 从板子中把文件拉到虚拟机中book@100ask:~$ adb pull /root/2.txt /root/2.txt:1filepulled.0.0MB/s(18bytesin0.012s)

3.2 ubuntu ==> imx6ull

adb push 【那个文件】 【开发板中地址】
## 开发板端book@100ask:~$ adb shell sh-5.0# pwd/root sh-5.0#sh-5.0# ls1.txt2.txt S05lvgl test_dirv

3.3 imx6ull ==> ubuntu

sh-5.0# mv test_dirv test_dir2 ## 移动 / 重命名sh-5.0# ls1.txt2.txt S05lvgl test_dir2
adb pull 【开发板中的文件_绝对地址】

http://www.cnnetsun.cn/news/3873168.html

相关文章:

  • UE5 City Traffic Pro插件:交通模拟与性能优化实战
  • 高速电路地弹现象:原理、危害与PCB设计实战应对策略
  • MATLAB基础运算核心:向量化编程与数组思维实战指南
  • 赤峰网站建设公司如何选择?揭秘专业团队背后的匠心与诚信之道
  • Python SDK实现Collection相似性检索与性能优化
  • 无源蜂鸣器驱动全攻略:从PWM原理到音乐播放与实战调优
  • python 中的 APScheduler 使用详解
  • 终极指南:5分钟掌握LeagueToolkit自动连接,告别繁琐登录的英雄联盟客户端智能解决方案
  • Spring AI 更新 Local-model-java-0.1.87-native-llama-bundle.jar 包
  • 锁相放大器原理、噪声源分析与选型应用全解析
  • 2024年如何选择合适的营销型网站建设服务以最大化投资回报率
  • 宏智树AI,正在把论文写作从“黑箱”变成“透明流水线”
  • 2025年Java开发者成长地图:从核心原理到微服务架构的实战进阶
  • PCBA三防涂覆工艺详解|工控/储能/车载电路板防护避坑指
  • TC118S电机驱动芯片实战:从原理到PCB布局,驱动小型直流电机
  • 2026靠谱AI论文工具测评[特殊字符]OKBIYE AI降重凭什么通过率高达98%?
  • 从0到1:一家扎根广西南宁的网站建公司如何帮老板们省下冤枉钱并真正赚到钱
  • FantiaDL终极指南:如何高效备份你的Fantia数字收藏
  • MySQL Join 工作原理与性能优化实战
  • 成都网站建设推广怎么干?揭秘本地中小企业从0到1的逆袭实战与避坑指南
  • HsMod:炉石传说终极增强插件,解锁50+游戏优化功能
  • 弱电工程师光纤实战指南:从选型到排障的完整解决方案
  • Unity InputSystem复合输入实战:解决单击双击长按冲突与优化
  • 终极指南:如何用biliTickerBuy轻松抢购B站会员购热门商品
  • 西安网站建设培训:零基础小白如何低成本掌握实战技能并实现职场跃迁
  • 混合多目标进化算法在制造业调度优化中的应用
  • ACPI!GetPciAddress函数调试与PCI设备配置解析
  • 泰戈尔的诗歌39
  • 在Windows上安装安卓应用:APK安装器让你告别模拟器
  • 新闻门户网站建设:如何在流量红海中打造具备核心竞争力的资讯平台,实现品牌价值最大化与用户信任重建