(盈鹏飞嵌入式SBC-T113全志T113-i主板)-USB OTG接口使用(通过ADB工具上传和下载文件)

SBC-T113产品特性:

  • 采用Allwinner公司Cortex-A7双核T113-i处理器,运行最高速度为1.2GHZ;
  • 内置64位玄铁C906 RISC-V CPU和 DSP,提供高效的计算能力; 
  • 支持1080P 视频编码,多格式1080P 60fps视频解码 (H.265,H.264, MPEG-1/2/4)
  • 支持LVDS/MIPI-DSI,分辨率最高1920x1080;
  • 支持512-1G  Bytes DDR3 SDRAM;
  • 支持SPI NAND启动和存储(256MB默认;512MB可选);可选EMMC启动和存储( 4G默认;8GB可选);
  • 支持4路USB2.0 HOST和1路OTG,1路I2C,6路UART(RS232), 1路PWM(应用于背光)
  • 支持双路CAN BUS通信
  • 支持双路以太网,一路10/100M;一路10/100/1000M;
  • 标准3.5寸主板, 尺寸为:146*102MM

SBC-T113功能评估图:

以下为USB OTG接口使用(通过ADB工具上传和下载文件):

什么是USB OTG接口呢?用一句话概括是既可以作为USB Host,也可以作为USB Device的一种接口。如果作为USB Host接口,可以按照3.4.1章节进行测试。本章节重点是介绍如何实现Host功能和Device功能的切换。在没有介绍前,我们简单介绍下SBC-T113上USB OTG接口的位置和性能。

SBC-T113的USB OTG接口设计比较特殊,它采用TYPE-A接口(见下图CN4)。这么做的好处是可以方便实现USB Host功能。另外该接口的通信速度是Highspeed(480Mbps)。

SBC-T113设计了一个USB OTG功能选择开关SW3。SW3位于1-2时,USB OTG接口作为USB Device使用;SW3位于2-3时,USB OTG接口作为USB Host使用。

1)设置为USB Host时,终端串口的信息如下:

root@T113-Embfly:~# [  171.034038]

[  171.034038] insmod_host_driver

[  171.034038]

[  171.040785] [ehci0-controller]: sunxi_usb_enable_ehci

[  171.046482] [sunxi-ehci0]: probe, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xc0eb7be0, 0x:e08ed000, irq_no:3c

[  171.058978] sunxi-ehci 4101000.ehci0-controller: 4101000.ehci0-controller supply hci not found, using dummy regulator

[  171.070992] debugfs: Directory '4101000.ehci0-controller-hci' with parent 'reg-dummy-regulator-dummy' already present!

[  171.084411] sunxi-ehci 4101000.ehci0-controller: EHCI Host Controller

[  171.091683] sunxi-ehci 4101000.ehci0-controller: new USB bus registered, assigned bus number 3

[  171.102004] sunxi-ehci 4101000.ehci0-controller: irq 60, io mem 0x04101000

[  171.134044] sunxi-ehci 4101000.ehci0-controller: USB 2.0 started, EHCI 1.00

[  171.143105] hub 3-0:1.0: USB hub found

[  171.147590] hub 3-0:1.0: 1 port detected

[  171.154697] [ohci0-controller]: sunxi_usb_enable_ohci

[  171.160384] [sunxi-ohci0]: probe, pdev->name: 4101400.ohci0-controller, sunxi_ohci: 0xc0eb7e70

[  171.170583] sunxi-ohci 4101400.ohci0-controller: 4101400.ohci0-controller supply hci not found, using dummy regulator

[  171.182594] debugfs: Directory '4101400.ohci0-controller-hci' with parent 'reg-dummy-regulator-dummy' already present!

[  171.194898] sunxi-ohci 4101400.ohci0-controller: OHCI Host Controller

[  171.202182] sunxi-ohci 4101400.ohci0-controller: new USB bus registered, assigned bus number 4

[  171.212183] debugfs: Directory 'sunxi-ohci' with parent 'ohci' already present!

[  171.220488] sunxi-ohci 4101400.ohci0-controller: irq 61, io mem 0x04101400

[  171.299286] hub 4-0:1.0: USB hub found

[  171.303657] hub 4-0:1.0: 1 port detected

[  171.468163] sunxi-ehci 4101000.ehci0-controller: ehci_irq: highspeed device connect

[  171.744035] usb 3-1: new high-speed USB device number 2 using sunxi-ehci

[  171.947418] usb-storage 3-1:1.0: USB Mass Storage device detected

[  171.958976] scsi host0: usb-storage 3-1:1.0

[  173.035197] scsi 0:0:0:0: Direct-Access      USB      SanDisk 3.2Gen1 1.00 PQ: 0 ANSI: 6

[  173.046832] sd 0:0:0:0: [sda] 120164352 512-byte logical blocks: (61.5 GB/57.3 GiB)

[  173.069234] sd 0:0:0:0: [sda] Write Protect is off

[  173.074744] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00

[  173.081548] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

[  173.130664]  sda: sda1

[  173.149286] sd 0:0:0:0: [sda] Attached SCSI removable disk

[  173.304465] FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

从信息中看到,一个U盘插在该接口上,U盘的品牌是“SanDisk 3.2Gen1”。

2)设置为USB Device时,终端串口的信息如下:

root@T113-Embfly:~# [  151.194041]

[  151.194041] rmmod_host_driver

[  151.194041]

[  151.200702] [ehci0-controller]: sunxi_usb_disable_ehci

[  151.206512] [sunxi-ehci0]: remove, pdev->name: 4101000.ehci0-controller, sunxi_ehci: 0xc0eb7be0

[  151.216410] sunxi-ehci 4101000.ehci0-controller: remove, state 4

[  151.223171] usb usb3: USB disconnect, device number 1

[  151.231433] sunxi-ehci 4101000.ehci0-controller: USB bus 3 deregistered

[  151.243974] [ohci0-controller]: sunxi_usb_disable_ohci

[  151.250291] [sunxi-ohci0]: remove, pdev->name: 4101400.ohci0-controller, sunxi_ohci: 0xc0eb7e70

[  151.260458] sunxi-ohci 4101400.ohci0-controller: remove, state 4

[  151.267477] usb usb4: USB disconnect, device number 1

[  151.279358] sunxi-ohci 4101400.ohci0-controller: USB bus 4 deregistered

3)设置为USB Device时,通过ADB工具把编译好程序上传到主板

设置为USB Device时,最重要的功能就是通过ADB工具把编译好程序上传到主板。方便应用程序的黑盒调试。

要实现通过ADB上传文件到主板,首先要确认主板上/etc/init.d/rcS文件中,这个脚本 “/etc/adb_conf.sh start&” 要恢复工作(一般用vi直接编辑即可),见下图:

adb_conf.sh恢复正常工作后,通过USB线(Type-A转Type-A)把开发主机和SBC-T113的OTG接口连接起来,出现如下信息表示正常:

root@T113-Embfly:~# [  203.731813] sunxi_set_cur_vol_work()398 WARN: get power supply failed

[  203.818326] android_work: sent uevent USB_STATE=CONNECTED

[  203.928644] configfs-gadget gadget: high-speed config #1: c

[  203.935258] android_work: sent uevent USB_STATE=CONFIGURED

[  210.542465] adbd (2501): /proc/2501/oom_adj is deprecated, please use /proc/2501/oom_score_adj instead.

此时,可以通过adb把主机上的文件上传到主板,也可以通过adb下载文件到本地计算机,先通过如下图片指令“adb shell”查看下是否adb和主板通信正常:

出现”daemon started successfully”,表示工作正常。同时输入ls指令可以看到主板根文件系统中的相关文件。

通过adb上传和下载文件的相关指令如下:

adb pull <手机路径>   <本机路径>  从手机中拉取信息到本地电脑上

adb push <本机路径>  <手机路径>  从本地电脑推送信息到手机上

下图中是演示上传test.txt文件到主板,指令是:adb push d:/test /,

这个指令的意思是把开机主机D盘中的test.txt文件上传到主板的根目录下。

通过ls指令查看主板根目录下是否有刚刚上传的文件

root@T113-Embfly:/# ls -al

total 84

drwxr-xr-x   23 root     root          4096 Jan  1 00:06 .

drwxr-xr-x   23 root     root          4096 Jan  1 00:06 ..

-rw-------    1 root     root             8 Jan  1 00:06 .bash_history

-rw-r--r--    1 root     root          1336 Feb  3  2024 THIS_IS_NOT_YOUR_ROOT_FILESYSTEM

drwxr-xr-x    2 root     root          4096 Feb 27  2024 bin

drwxr-xr-x   13 root     root          2980 Jan  1 00:00 dev

drwxrwxr-x    5 root     root          4096 Feb 27  2024 embfly_test

drwxr-xr-x   20 root     root          4096 Jan  1 00:00 etc

drwxr-xr-x    3 root     root          4096 Feb  3  2024 home

lrwxrwxrwx    1 root     root            11 Feb 27  2024 init -> bin/busybox

drwxr-xr-x    8 root     root          4096 Feb 27  2024 lib

lrwxrwxrwx    1 root     root             3 Feb  3  2024 lib32 -> lib

drwxr-xr-x    2 root     root          4096 Feb 27  2024 libexec

lrwxrwxrwx    1 root     root            11 Feb  3  2024 linuxrc -> bin/busybox

drwx------    2 root     root          4096 Jan  1 00:00 lost+found

drwxr-xr-x    2 root     root          4096 Sep  6  2023 media

drwxr-xr-x    2 root     root          4096 Sep  6  2023 mnt

drwxr-xr-x    2 root     root          4096 Sep  6  2023 opt

dr-xr-xr-x   87 root     root             0 Jan  1 00:00 proc

-rwxrwxr-x    1 root     root          2259 Feb 27  2024 qt4.8.sh

drwxr-xr-x    2 root     root          4096 Sep  6  2023 root

drwxr-xr-x    8 root     root           400 Jan  1 00:00 run

drwxrwxr-x    5 root     root          4096 Feb 27  2024 runtime

drwxr-xr-x    2 root     root          4096 Feb 27  2024 sbin

dr-xr-xr-x   12 root     root             0 Jan  1 00:00 sys

drwxr-xr-x    3 root     root          4096 Jan  1 00:00 system

-rw-rw-rw-    1 root     root             0 Apr 17  2024 test.txt

drwxrwxrwt    4 root     root           140 Jan  1 00:00 tmp

drwxr-xr-x    9 root     root          4096 Feb 27  2024 usr

drwxr-xr-x    5 root     root          4096 Feb  3  2024 var

root@T113-Embfly:/#

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值