【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
文章目录
- 【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 | 网络 | 适合大型项目开发 | 依赖网络 |
| ADB | USB | 简单稳定,不需要网络 | 传输效率有限 |
二、开发环境说明
连接电源
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_dirv3.3 imx6ull ==> ubuntu
sh-5.0# mv test_dirv test_dir2 ## 移动 / 重命名sh-5.0# ls1.txt2.txt S05lvgl test_dir2| adb pull 【开发板中的文件_绝对地址】 |
|---|