全志V853开发板硬件开发用户入门指南

本章节将介绍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-Fi 为 STATION 模式

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/1Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []Subdevices: 1/1Subdevice #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/1Subdevice #0: subdevice #0
card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []Subdevices: 1/1Subdevice #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=1rangemin=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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/342197.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识C语言·内存函数

1 memcpy的使用和模拟实现 紧接字符串函数,出场的是第一个内存函数memcpy。前面讲的字符串函数是专门干关于字符串的事的,而这个函数可以干strcpy一样的事,但是区别就是它碰到\0也会继续复制。 函数的头文件是string,返回类型是v…

了解PyTorch中的缩放点积注意力及演示

torch.nn.functional.scaled_dot_product_attention 函数在 PyTorch 框架中用于实现缩放点积注意力(Scaled Dot-Product Attention)。这是一种在自然语言处理和计算机视觉等领域常用的注意力机制。它的主要目的是通过计算查询(query&#xff…

Java-网络爬虫(三)

文章目录 前言一、爬虫的分类二、跳转页面的爬取三、网页去重四、综合案例1. 案例三 上篇:Java-网络爬虫(二) 前言 上篇文章介绍了 webMagic,通过一个简单的入门案例,对 webMagic 的核心对象和四大组件都做了简要的说明,以下内容…

数据聚合、自动补全、数据同步、es集群

目录 数据聚合 聚合的分类 DSL实现bucket聚合 DSL实现Metrics聚合 RestAPI实现聚合 多条件聚合 带过滤条件的聚合 自动补全 安装拼音分词器 自定义分词器 completion suggester查询 修改索引库数据结构 RestAPI实现自动补全查询 实现搜索框自动补全 数据同步 数…

数据库读写分离设计方案

一、什么是读写分离 数据库读写分离是一种架构模式,其中数据库系统被配置为将读操作(查询)和写操作(插入、更新、删除)分别路由到不同的数据库实例或节点。读操作通常由从节点(或只读节点)处理&…

自动化测试框架pytest系列之21个命令行参数介绍(二)

第一篇 : 自动化测试框架pytest系列之基础概念介绍(一)-CSDN博客 接上文 3.pytest功能介绍 3.1 第一条测试用例 首先 ,你需要编写一个登录函数,主要是作为被测功能,同时编写一个测试脚本 ,进行测试登录功能 。 登…

视频转为序列图的软件,让视频批量转为序列图

你是否曾经遇到过这样的困境:需要将一段视频转为一系列的图片,但却没有合适的工具来完成?或许你曾经手动截图,或者用其他方式,但结果往往不尽如人意,图片质量差、色彩失真、画面不清晰。现在,让…

建议收藏!2023首获中科院分区期刊目录

2023年12月27日,中科院分区正式发布《2023年中国科学院文献情报中心期刊分区表》。今年期刊分区表包括SCIE、SSCI、A&HCI,以及ESCI中国期刊,共设置了包括自然科学、人文科学和社会科学在内的21个大类。 相比之前,中科院分区今…

CAN总线记录仪给出口车辆的应用

CAN总线记录仪给出口车辆的应用 CAN总线记录仪在出口车辆中的应用十分广泛,主要体现在故障排查、数据分析、质量保证和驾驶行为分析等方面。 1.故障排查:CAN总线记录仪可以记录车辆在运行过程中的所有CAN总线数据,包括发动机、刹车系统、转…

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

从这篇文章开始,我们就正式开始学习AI大模型应用开发的相关知识了。首先是提示词工程(Prompt Engineering)。 文章目录 0. 什么是提示词(Prompt)1. 为什么Prompt会起作用 - 大模型工作原理2. Prompt的典型构成、原则与…

聚会喝酒摇色子活跃气氛神器小程序源码系统 附带完整的搭建教程

在中国的传统聚会文化中,喝酒摇色子是一种非常受欢迎的游戏方式。它能迅速拉近人与人之间的距离,使气氛更加活跃。然而,传统的摇色子方式存在很多不便,如需要手动计数、无法记录历史数据等。因此,开发一款聚会喝酒摇色…

mp4文件全部转换为mp3

问题 今天突发奇想,想把mp4视频转换为mp3来收听,于是想到了ffmpeg工具 步骤 安装ffmpeg环境 要在 Windows 上配置 FFmpeg 环境,你可以按照以下步骤进行操作: 下载 FFmpeg: 首先,你需要下载 FFmpeg 的 W…