跳转至

开发板用户指南

本章节将介绍V853开发板上各模块的基础使用方法。

V853开发板集成了LED、WiFi、蓝牙、以太网、音频、屏幕、USB、TF卡等模块。本章节将对这些模块进行简单的操作介绍,方便开发者快速上手了解开发板。

V853开发板接口介绍

*注:

  1. 本文中 root@TinaLinux:~# 开头的命令是在开发板上通过 ADB、串口 在 Tina Linux 系统内运行的。C:\System> 是在电脑 命令提示符(CMD) 中运行的,=> 开头的命令是在 U-Boot 内运行的。在输入命令时候不需要输入上面提到的命令头。
  2. 本文中部分命令提供了运行命令后的打印输出,方便运行参考。

调试

串口调试

V853 开发板有独立的两个调试串口可供选择,分别是 UART0 与 UART3,对应芯片的 UART0 PH9 PH10,UART3 PH1 PH2

按照默认的 SDK 配置,UART0 提供 Arm 核的调试输出,UART3 提供 E907 RV 核的调试输出。
提供的FT232 USB转串口线定义为:黑色-GND,绿色-RX,白色-TX,红色为电源

Serial

硬件连接完成后,使用串口终端访问,波特率 115200 。例如这里使用的 PuTTY

PuTTY

ADB 调试

在电脑上安装 ADB,打开 CMD 使用 adb shell 进入终端。

(1) 在 全志开发者社区-资料下载 专区 下载 ADB 工具 ADB(tab自动补全版)
(2)下载后解压放到本地磁盘下(例如D盘的adb文件夹里)

adb_ins_1

(3) 右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。

adb_ins_2

(4) 打开命令提示符,输入 adb shell

C:\System> adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (5.0)
 ----------------------------------------------
root@TinaLinux:/# 

ADB 也可以作为文件传输使用,例如:

C:\System> adb push badapple.mp4 /mnt/UDISK   # 将 badapple.mp4 上传到开发板 /mnt/UDISK 目录内
C:\System> adb pull /mnt/UDISK/badapple.mp4   # 将 /mnt/UDISK/badapple.mp4 下拉到当前目录内

开机与重启

开机

目前开发板为上电即开机的模式,仅需要插入 12V DC 电源适配器或使用USB Type C线连接电源即可。

请注意,如果 Type C 连接电脑的 USB 口可能会因为电脑的 USB 输出电流较低导致设备反复启动。这时需要插入 12V DC 电源适配器作为辅助供电。

同时 USB 也可以通过图中位于 USB 口左侧的连接器进行连接(米白色),方便装配使用。

开发板右下角的白色连接器为电池接口,可以连接受支持的锂电池使用。

PowerSupplies

上电开机完毕后会有如下打印。

BusyBox v1.33.2 (2022-05-31 06:54:45 UTC) built-in shell (ash)

------run profile file-----
 _____  _              __     _
|_   _||_| ___  _ _   |  |   |_| ___  _ _  _ _
  | |   _ |   ||   |  |  |__ | ||   || | ||_'_|
  | |  | || | || _ |  |_____||_||_|_||___||_,_|
  |_|  |_||_|_||_|_|  Tina is Based on OpenWrt!
 ----------------------------------------------
 Tina Linux (5.0)
 ----------------------------------------------
swu_param: ####
swu_software: ####
swu_mode: ####
no swupdate_cmd to run, wait for next swupdate
root@TinaLinux:/# 

重启

重启有两种方式,第一种通过按压 RESET 按键重置 CPU 达到重启的功能,另外一种通过 linux 命令行实现。

按键重启

在开发板左下角部分找到 RESET 按键,按压即可重启。

Keys

命令行重启

在开发板终端 Linux 命令行中输入 reboot 即可重启

root@TinaLinux:/# reboot

在开发板终端 U-Boot 命令行中输入 reset 即可重启

=> reset

进入烧录模式

有多种方式可以让开发板进入烧录模式。

按键进入烧录模式

在开发板左下角找到按键 RESET UBOOT

(1)按住 UBOOT 按键
(2)轻点 RESET 按键,开发板重置
(3)等待电脑连接成功,松开 UBOOT 按键

命令行烧录模式

在 Linux 命令行中输入 reboot efex 即可重启进入烧录模式

root@TinaLinux:/# reboot efex

在 U-Boot 命令行中输入 efex 即可重启进入烧录模式

=> efex

GPIO 点灯测试

开发板有一颗 LED 灯供用户操作,接在 PH11 上。换算该 IO 的数字标号为:7 * 32 + 11 = 235,或者查看 IO 复用情况表,其中(MUX UNCLAIMED) 表示这个 GPIO 目前没有被使用:

root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins

它会输出以下内容

...上略
pin 231 (PH7): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 232 (PH8): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 233 (PH9): uart0 (GPIO UNCLAIMED) function uart0 group PH9
pin 234 (PH10): uart0 (GPIO UNCLAIMED) function uart0 group PH10
pin 235 (PH11): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 236 (PH12): (MUX UNCLAIMED) pio:236
pin 237 (PH13): 2020000.wiegand pio:237 function wiegand group PH13
pin 238 (PH14): 2020000.wiegand pio:238 function wiegand group PH14
pin 239 (PH15): (MUX UNCLAIMED) pio:239
...下略

我们先导出该 GPIO:

echo 235 > /sys/class/gpio/export
cd /sys/class/gpio/gpio235

然后再将该 IO 置为输出状态,即可操作其电平:

echo out > direction
echo 1 > value  #LED点亮
echo 0 > value  #LED熄灭

LED

Wi-Fi

V853 开发板使用的是 XR829 Wi-Fi & BT 模块,使用 40M 外部晶振,其Wi-Fi部分通过SDIO总线与 V853 通讯,设备位于 SDC1 接口上。

Wi-Fi 测试与连接网络

Wi-Fi 扫描网络与连接网络

Tina 提供了一套简易方便的 Wi-Fi 测试套件:wifi 。 使用 wifi 命令可以设置 Wi-Fi 的工作模式,扫描网络,连接网络等等。 它的使用方法可以通过运行 wifi -h 了解。 这里首先介绍如何使用 wifi 扫描网络:

(1)设置 Wi-FiSTATION 模式

root@TinaLinux:/# wifi -o sta 

(2)扫描当前网络环境的 Wi-Fi 站点

root@TinaLinux:/# wifi -s

(3)连接Wi-Fi(SSID:awol,密码 12345678)

root@TinaLinux:/# wifi -c awol 12345678

(4)连接网络后输入 ifconfig 即可查看当前 ip 地址

wifi_if

可以使用 ping 命令测试 网络连接

root@TinaLinux:/# ping www.baidu.com

它会输出以下内容

PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms

(5)关闭Wi-Fi

root@TinaLinux:/# wifi -f

Wi-Fi 建立热点

(1)创建热点 (SSID:v853,密码 12345678)

root@TinaLinux:/# wifi -o ap v853 12345678

(2)然后就可以扫描到 Wi-Fi 了,输入密码 12345678 进行连接

wifi_ap

蓝牙

V853 开发板使用的是 XR829 Wi-Fi & BT 模块,使用 40M 外部晶振,其 蓝牙 部分通过 UART 总线与 V853 通讯,设备位于 UART2 接口上。

蓝牙测试

命令:

bt_test

蓝牙sink

将v853开发板作为蓝牙小音箱,通过蓝牙在开发板上播放音频

root@TinaLinux:/# bt_test -i -p a2dp-sink

音频功能

V853 开发板板载了两路麦克风输入,一路音频输入,一个扬声器输出。(注意,左侧 UART0 旁的 3.5mm 耳机接口是 GPS 使用的 UART 接口,不是耳机接口)

mic_spk

录音

查看录音设备

可以使用 arecord -l 命令查看开发板提供的录音设备。

root@TinaLinux:/# arecord -l

它会输出以下内容

**** List of CAPTURE Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

麦克风录音

V853 开发板板载了两个麦克风,位于 LINE-IN接口附近。

mic

在录音之前,首先需要打开音频通路,配置内部 MIC1,MIC2 录制双通道音频。
选择 MIC1 输入

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0

它会输出以下内容

numid=23,iface=MIXER,name='MIC1 Input Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'differ'
  ; Item #1 'single'
  : values=0

选择 MIC2 输入

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0

它会输出以下内容

numid=23,iface=MIXER,name='MIC2 Input Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'differ'
  ; Item #1 'single'
  : values=0

开启 MIC1

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1

它会输出以下内容

numid=17,iface=MIXER,name='MIC1 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

开启 MIC2

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1

它会输出以下内容

numid=17,iface=MIXER,name='MIC2 Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

设置 MIC1 音量

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30

它会输出以下内容

numid=12,iface=MIXER,name='MIC1 gain volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=19
  | dBscale-min=0.00dB,step=1.00dB,mute=0

设置 MIC2 音量

root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30

它会输出以下内容

numid=12,iface=MIXER,name='MIC2 gain volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=19
  | dBscale-min=0.00dB,step=1.00dB,mute=0

使用 arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav 命令,使用板载的两个麦克风进行录音。

root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav

它会输出以下内容

Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo

播放

SPK

查看播放设备

使用 aplay -l 查看播放设备

root@TinaLinux:/# aplay -l

它会输出以下内容

**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

扬声器播放音频

在播放之前,首先需要打开音频通路,配置扬声器播放音频。

开启 LINEOUT 输出功能

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1

它会输出以下内容

numid=22,iface=MIXER,name='LINEOUT Output Select'
  ; type=ENUMERATED,access=rw------,values=1,items=2
  ; Item #0 'single'
  ; Item #1 'differ'
  : values=1

开启 LINEOUT 通路

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1

它会输出以下内容

numid=20,iface=MIXER,name='LINEOUT Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

设置输出音量

root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25

它会输出以下内容

numid=16,iface=MIXER,name='LINEOUT volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
  : values=25
  | dBrange-
    rangemin=0,,rangemax=1
      | dBscale-min=0.00dB,step=0.00dB,mute=1
    rangemin=2,,rangemax=31
      | dBscale-min=-43.50dB,step=1.50dB,mute=1

使用 aplay 通过外接扬声器播放刚才录制的音频。

aplay -D hw:audiocodec t.wav

它会输出以下内容

Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo

修改音量

使用 alsamixer 提供的图形化界面调整音量。

root@TinaLinux:/# alasmixer

Alasmixer

有线网络

V853 开发板板载百兆以太网络,使用 IP101GR 以太网收发器。

RJ45

测试网络

插入网线,使用 ifconfig eth0 up 打开网络设备,udhcp -i eth0 动态活动IP地址。之后可以使用 ping 命令测试网络连接。

root@TinaLinux:/# ifconfig eth0 up
root@TinaLinux:/# udhcp -i eth0

运行 ping 测试

root@TinaLinux:/# ping www.baidu.com

它会输出以下内容

PING 202.108.22.5 (202.108.22.5): 56 data bytes
64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms
64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms
64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms
64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms
64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms

LCD 显示

V853 开发板配套 7寸 LCD屏幕,配有相对应的电容式触摸屏幕。

屏幕基本测试

当前固件在开机时会显示 Tina 小企鹅的开机 LOGO。

花屏测试

cat /dev/urandom > /dev/fb0

lcd_random

彩色条纹测试

通过 echo/sys/class/disp/disp/attr/colorbar 进行测试,0 到 7 是不同的彩色条纹效果哦

echo 0 > /sys/class/disp/disp/attr/colorbar

lcd_colorbar

UI 测试

LVGL 测试

LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。 这里运行 lv_examples 1 进行测试。

root@TinaLinux:/# lv_examples 1

lcd_lvgl

同时固件也提供了多种测试效果,

运行 lv_examples 0 是 lv_demo_widgets
运行 lv_examples 1 是 lv_demo_music
运行 lv_examples 2 是 lv_demo_benchmark
运行 lv_examples 3 是 lv_demo_keypad_encoder
运行 lv_examples 4 是 lv_demo_stress

DirectFB 测试

DirectFB是一个轻量级的硬件图形加速、输入设备处理特性和抽象的图形库,它集成了在Linux Framebuffer驱动之上的多层显示的功能。

root@TinaLinux:/# df_andi

df_andi

同时固件也提供了多种测试效果可供选择。

df_andi            df_drivertest2     df_matrix          df_texture
df_flip            df_neo             df_window          df_dok             
df_knuckles        df_porter          df_drivertest    

LCD 触摸

LCD 触摸测试

LCD 触摸时会向 V853 发送数据,可以通过 cat 命令获取这些数据。

root@TinaLinux:~# cat /dev/input/event0

运行后触摸屏幕在终端命令行会输出乱码。即为获得的触摸信号。

摄像头

V853 开发板默认提供双1080p摄像头方案,型号是GC2063。

实时显示

摄像头图像显示到屏幕上

使用 sample_virvi2vo 捕获摄像头图像并显示。

root@TinaLinux:~# sample_virvi2vo /usr/sample_virvi2vo.conf

Camera

USB

USB OTG 切换模式

切换到 Device 模式

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device

切换到 Host 模式

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_host

USB U盘测试

V853 的 Type C USB 连接器支持 OTG,可以连接 U盘、鼠标键盘 等物品。在接入 USB TYPE A 设备的时候需要一个 USB TYPE C 转 TYPE A 转接头。

先把USB切换到 HOST 模式

root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_host

插入 U 盘,自动挂载 /mnt/exUDISK 目录

TF Card

插入 TF 卡,TF卡将自动挂载到 /mnt/sdcard 目录下

TF_Card