RT-Thread中使用adbd传输文件

#使用adbd传输文件

参考何元杰的文章 用adb建立rtt于PC的文件传输通道
以及之前撰写的相关文档 rtt下的adbd使用

本文介绍 智龙开发板 应用ADB 包 ,与PC机进行文件传输。

1. 引言

与开发进行文件传输,可使用 tftp ,要在开发板端打开tftp服务。 另外还有一种方法: adbd, 利用 pkgs, 可以方便地实现在PC端将文件传到开发板上,还可以传送文件夹。

2. 使用环境

2.1 硬件平台

智龙开发板V3.4,128M Flash 32M RAM。

2.2 软件平台

RT-Thread 4.0.2 。

3.使用方法

3.1 网络配置

  • 使用env和pkgs 配置网络组件
    首先按照 龙芯RTT教程 21.1 配置 网络组件,这里选择 Lwip 2.1.0 需要选中以下网络选项:
    [*] Enable lwIP stack                                                      
           lwIP version (lwIP v2.1.0)  --->
	
  • 使用env配置网络SAL组件
    按照 龙芯RTT教程 21.2 配置 SAL组件
	-*- Enable socket abstraction layer
	protocol stack implement  --->
		[*] Support lwIP stack
	-*-   Enable BSD socket operated by file system API
	(4)   the maximum number of protocol families
  • 使用env配置文件系统选项
	[*]   Enable elm-chan fatfs
		  elm-chan's FatFs, Generic FAT Filesystem Module  --->
	 -*-   Using devfs for device objects

3.2 ADBD配置

  • 使用env配置网络ADBD组件
RT-Thread online packages  --->
     tools packages  --->
	  [*] ADBD: Android Debug Bridge daemon implementation in RT-Thread  ---
         [*]   Using TCPIP transfer                                              
         [ ]   Using USB transfer                                                
         (1280) Set transfer thread stack size                                   
         [*]   Enable Shell service                                              
         -*-   Enable File service                                               
         (2304)  Set file service thread stack size                              
         (2000)  Set file service receive timeout(ms)                            
         [*]   Enable external MOD                                               
         [*]     Enable File SYNC Mod                                            
         [*]     Enable File LIST Mod  --->                                      
               Version (latest)  --->

配置成功后如图:
RT-Thread中使用adbd传输文件_第1张图片

3.3 测试过程

在env环境中直接使用adb 命令进行 push 和 pull 测试。这里有2个设备,智龙开发板为一端,PC机为一端。

智龙开发板建立文件夹:board, 该 文件夹下有board文件,该文件内容为: This is board file. 如图1示。

PC机建立文件夹:pc, 该 文件夹下有 PC 文件,该文件内容为: This is pc file. 如图2示。

在 env 中配置好后,编译下载到开发板。
开发板启动后,在串口助手中用 ifconfig 检查开发板的IP的地 如图:

RT-Thread中使用adbd传输文件_第2张图片

在PC上的 env 环境中,用 ping 指令检查能 ping 通开发板.

建立连接:

adb connect 192.168.0.104

连接成功后如图:

RT-Thread中使用adbd传输文件_第3张图片

将开发板上的文件夹拉到 PC 机上:

adb pull /board board

将PC机上文件夹推到开发板上:

adb push pc /pc

传送文件过程如图

RT-Thread中使用adbd传输文件_第4张图片

adb --help命令查看帮助。

file transfer:
 push [--sync] LOCAL... REMOTE
     copy local files/directories to device
     --sync: only push files that are newer on the host than the device
 pull [-a] REMOTE... LOCAL
     copy files/dirs from device
     -a: preserve file timestamp and mode
 sync [all|data|odm|oem|product|system|vendor]
     sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)
     -l: list but don't copy
 sync a local build from $ANDROID_PRODUCT_OUT to the device (default all)
 -l: list but don't copy

你可能感兴趣的:(rt-thread)