本章节将介绍V853开发板上各模块的基础使用方法。
V853开发板集成了LED、WiFi、蓝牙、以太网、音频、屏幕、USB、TF卡等模块。本章节将对这些模块进行简单的操作介绍,方便开发者快速上手了解开发板。
*注:
- 本文中 root@tinaLinux:~# 开头的命令是在开发板上通过 ADB、串口 在 Tina Linux 系统内运行的。C:System> 是在电脑 命令提示符(CMD) 中运行的,=> 开头的命令是在 U-Boot 内运行的。在输入命令时候不需要输入上面提到的命令头。
- 本文中部分命令提供了运行命令后的打印输出,方便运行参考。
调试串口调试V853 开发板有独立的两个调试串口可供选择,分别是 UART0 与 UART3,对应芯片的 UART0 PH9 PH10,UART3 PH1 PH2。
按照默认的 SDK 配置,UART0 提供 ARM 核的调试输出,UART3 提供 E907 RV 核的调试输出。
提供的FT232 USB转串口线定义为:黑色-GND,绿色-RX,白色-TX,红色为电源
硬件连接完成后,使用串口终端访问,波特率 115200 。例如这里使用的 PuTTY
ADB 调试在电脑上安装 ADB,打开 CMD 使用 adb shell 进入终端。
(1) 在 全志开发者社区-资料下载 专区 下载 ADB 工具 ADB(tab自动补全版)
(2)下载后解压放到本地磁盘下(例如D盘的adb文件夹里)
(3) 右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。
(4) 打开命令提示符,输入 adb shell
code">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 也可以作为文件传输使用,例如:
code">C:System> adb push badapple.mp4 /mnt/UDISK # 将 badapple.mp4 上传到开发板 /mnt/UDISK 目录内 code">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 口左侧的连接器进行连接(米白色),方便装配使用。
开发板右下角的白色连接器为电池接口,可以连接受支持的锂电池使用。
上电开机完毕后会有如下打印。
code">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 swupdateroot@TinaLinux:/# 重启重启有两种方式,第一种通过按压 RESET 按键重置 CPU 达到重启的功能,另外一种通过 linux 命令行实现。
按键重启
在开发板左下角部分找到 RESET 按键,按压即可重启。
命令行重启
在开发板终端 Linux 命令行中输入 reboot 即可重启
code">root@TinaLinux:/# reboot在开发板终端 U-Boot 命令行中输入 reset 即可重启
code">=> reset进入烧录模式有多种方式可以让开发板进入烧录模式。
按键进入烧录模式
在开发板左下角找到按键 RESET UBOOT
(1)按住 UBOOT 按键
(2)轻点 RESET 按键,开发板重置
(3)等待电脑连接成功,松开 UBOOT 按键
命令行烧录模式
在 Linux 命令行中输入 reboot efex 即可重启进入烧录模式
code">root@TinaLinux:/# reboot efex在 U-Boot 命令行中输入 efex 即可重启进入烧录模式
code">=> efexGPIO 点灯测试开发板有一颗 LED 灯供用户操作,接在 PH11 上。换算该 IO 的数字标号为:7 * 32 + 11 = 235,或者查看 IO 复用情况表,其中(MUX UNCLAIMED) 表示这个 GPIO 目前没有被使用:
code">root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins它会输出以下内容
code">...上略pin 231 (PH7): (MUX UNCLAIMED) (GPIO UNCLAIMED)pin 232 (PH8): (MUX UNCLAIMED) (GPIO UNCLAIMED)pin 233 (PH9): uart0 (GPIO UNCLAIMED) function uart0 group PH9pin 234 (PH10): uart0 (GPIO UNCLAIMED) function uart0 group PH10pin 235 (PH11): (MUX UNCLAIMED) (GPIO UNCLAIMED)pin 236 (PH12): (MUX UNCLAIMED) pio:236pin 237 (PH13): 2020000.wiegand pio:237 function wiegand group PH13pin 238 (PH14): 2020000.wiegand pio:238 function wiegand group PH14pin 239 (PH15): (MUX UNCLAIMED) pio:239...下略我们先导出该 GPIO:
code">echo 235 > /sys/class/gpio/exportcd /sys/class/gpio/gpio235然后再将该 IO 置为输出状态,即可操作其电平:
code">echo out > directionecho 1 > value #LED点亮echo 0 > value #LED熄灭
Wi-FiV853 开发板使用的是 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-Fi 为 STATION 模式
code">root@TinaLinux:/# wifi -o sta (2)扫描当前网络环境的 Wi-Fi 站点
code">root@TinaLinux:/# wifi -s(3)连接Wi-Fi(SSID:awol,密码 12345678)
code">root@TinaLinux:/# wifi -c awol 12345678(4)连接网络后输入 ifconfig 即可查看当前 ip 地址
可以使用 ping 命令测试 网络连接
code">root@TinaLinux:/# ping www.baidu.com它会输出以下内容
code">PING 202.108.22.5 (202.108.22.5): 56 data bytes64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 ms(5)关闭Wi-Fi
code">root@TinaLinux:/# wifi -fWi-Fi 建立热点
(1)创建热点 (SSID:v853,密码 12345678)
code">root@TinaLinux:/# wifi -o ap v853 12345678(2)然后就可以扫描到 Wi-Fi 了,输入密码 12345678 进行连接
蓝牙V853 开发板使用的是 XR829 Wi-Fi & BT 模块,使用 40M 外部晶振,其 蓝牙 部分通过 UART 总线与 V853 通讯,设备位于 UART2 接口上。
蓝牙测试命令:
code">bt_test蓝牙sink将v853开发板作为蓝牙小音箱,通过蓝牙在开发板上播放音频
code">root@TinaLinux:/# bt_test -i -p a2dp-sink音频功能V853 开发板板载了两路麦克风输入,一路音频输入,一个扬声器输出。(注意,左侧 UART0 旁的 3.5mm 耳机接口是 GPS 使用的 UART 接口,不是耳机接口)
录音查看录音设备
可以使用 arecord -l 命令查看开发板提供的录音设备。
code">root@TinaLinux:/# arecord -l它会输出以下内容
code">**** 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 #0card 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接口附近。
在录音之前,首先需要打开音频通路,配置内部 MIC1,MIC2 录制双通道音频。
选择 MIC1 输入
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0它会输出以下内容
code">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 输入
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0它会输出以下内容
code">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
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1它会输出以下内容
code">numid=17,iface=MIXER,name='MIC1 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on开启 MIC2
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1它会输出以下内容
code">numid=17,iface=MIXER,name='MIC2 Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on设置 MIC1 音量
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30它会输出以下内容
code">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 音量
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30它会输出以下内容
code">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 命令,使用板载的两个麦克风进行录音。
code">root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav它会输出以下内容
code">Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo播放
查看播放设备
使用 aplay -l 查看播放设备
code">root@TinaLinux:/# aplay -l它会输出以下内容
code">**** 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 #0card 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 输出功能
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1它会输出以下内容
code">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 通路
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1它会输出以下内容
code">numid=20,iface=MIXER,name='LINEOUT Switch' ; type=BOOLEAN,access=rw------,values=1 : values=on设置输出音量
code">root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25它会输出以下内容
code">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 通过外接扬声器播放刚才录制的音频。
code">aplay -D hw:audiocodec t.wav它会输出以下内容
code">Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo修改音量使用 alsamixer 提供的图形化界面调整音量。
code">root@TinaLinux:/# alasmixer
有线网络V853 开发板板载百兆以太网络,使用 IP101GR 以太网收发器。
测试网络插入网线,使用 ifconfig eth0 up 打开网络设备,udhcp -i eth0 动态活动IP地址。之后可以使用 ping 命令测试网络连接。
code">root@TinaLinux:/# ifconfig eth0 uproot@TinaLinux:/# udhcp -i eth0运行 ping 测试
code">root@TinaLinux:/# ping www.baidu.com它会输出以下内容
code">PING 202.108.22.5 (202.108.22.5): 56 data bytes64 bytes from 202.108.22.5: seq=0 ttl=49 time=48.734 ms64 bytes from 202.108.22.5: seq=1 ttl=49 time=48.624 ms64 bytes from 202.108.22.5: seq=2 ttl=49 time=58.370 ms64 bytes from 202.108.22.5: seq=3 ttl=49 time=69.119 ms64 bytes from 202.108.22.5: seq=4 ttl=49 time=49.635 msLCD 显示V853 开发板配套 7寸 LCD屏幕,配有相对应的电容式触摸屏幕。
屏幕基本测试当前固件在开机时会显示 Tina 小企鹅的开机 LOGO。
花屏测试
code">cat /dev/urandom > /dev/fb0
彩色条纹测试
通过 echo 到 /sys/class/disp/disp/attr/colorbar 进行测试,0 到 7 是不同的彩色条纹效果哦
code">echo 0 > /sys/class/disp/disp/attr/colorbar
UI 测试LVGL 测试
LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用。 这里运行 lv_examples 1 进行测试。
code">root@TinaLinux:/# lv_examples 1
同时固件也提供了多种测试效果,
code">运行 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_stressDirectFB 测试
DirectFB是一个轻量级的硬件图形加速、输入设备处理特性和抽象的图形库,它集成了在Linux Framebuffer驱动之上的多层显示的功能。
code">root@TinaLinux:/# df_andi
同时固件也提供了多种测试效果可供选择。
code">df_andi df_drivertest2 df_matrix df_texturedf_flip df_neo df_window df_dok df_knuckles df_porter df_drivertest LCD 触摸LCD 触摸测试LCD 触摸时会向 V853 发送数据,可以通过 cat 命令获取这些数据。
code">root@TinaLinux:~# cat /dev/input/event0运行后触摸屏幕在终端命令行会输出乱码。即为获得的触摸信号。
摄像头V853 开发板默认提供双1080p摄像头方案,型号是GC2063。
实时显示摄像头图像显示到屏幕上
使用 sample_virvi2vo 捕获摄像头图像并显示。
code">root@TinaLinux:~# sample_virvi2vo /usr/sample_virvi2vo.conf
USBUSB OTG 切换模式切换到 Device 模式
code">root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device切换到 Host 模式
code">root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_hostUSB U盘测试V853 的 Type C USB 连接器支持 OTG,可以连接 U盘、鼠标键盘 等物品。在接入 USB TYPE A 设备的时候需要一个 USB TYPE C 转 TYPE A 转接头。
先把USB切换到 HOST 模式
code">root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_host插入 U 盘,自动挂载 /mnt/exUDISK 目录
TF Card插入 TF 卡,TF卡将自动挂载到 /mnt/sdcard 目录下
|