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' withparent '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 mem0x04101000
[ 171.134044] sunxi-ehci 4101000.ehci0-controller: USB 2.0 started, EHCI1.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' withparent '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' alreadypresent!
[ 171.220488] sunxi-ohci 4101400.ohci0-controller: irq 61, io mem0x04101400
[ 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: highspeeddevice 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.5GB/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 datamay 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-ohci4101400.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 2024THIS_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 2024home
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 2024lib32 -> lib
drwxr-xr-x 2 root root 4096 Feb 27 2024 libexec
lrwxrwxrwx 1 root root 11 Feb 3 2024linuxrc -> bin/busybox
drwx------ 2 root root 4096 Jan 1 00:00 lost+found
drwxr-xr-x 2 root root 4096 Sep 6 2023media
drwxr-xr-x 2 root root 4096 Sep 6 2023mnt
drwxr-xr-x 2 root root 4096 Sep 6 2023opt
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 2023root
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 2024var
root@T113-Embfly:/#