Dev Board User Guide
This chapter will introduce the basic usage of each module on the V853 development board.
The V853 development board integrates LED, WiFi, Bluetooth, Ethernet, audio, screen, USB, TF card and other modules. This chapter will briefly introduce the operation of these modules, so that developers can quickly get started and understand the development board.
*Note:
- The commands at the beginning of
root@TinaLinux:~#
in this article are run in Tina Linux system through ADB and serial port on the development board.C:\System>
is run in the computer'sCommand Prompt (CMD)
, and commands starting with=>
are run in U-Boot. There is no need to enter the command header mentioned above when entering the command. - Some commands in this article provide the print output after running the command, which is convenient for running reference.
Debug
Serial debug
The V853 development board has two independent debug serial ports to choose from, UART0 and UART3, corresponding to the chip's UART0 PH9
PH10
, UART3 PH1
PH2
.
According to the default SDK configuration, UART0 provides debug output of Arm core, and UART3 provides debug output of E907 RV core. The provided FT232 USB-to-serial cable is defined as: black-GND, green-RX, white-TX, red is power.
After the hardware connection is completed, use the serial terminal to access, the baud rate is 115200
. For example PuTTY
used here
ADB debug
Install ADB on your computer, open CMD and use adb shell
to enter the terminal.
(1) Download the ADB tool ADB(tab auto-completion version)
in Allwinners Developer Community-Data Download Area
(2) After downloading, unzip it and put it on the local disk (for example, in the adb folder of the D disk)
(3) Right-click "This Computer", Properties, find Advanced System Settings, click Environment Variables, xxx user's environment variables, Path, and add an environment variable.
(4) Open a command prompt and enter 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 can also be used as a file transfer, for example:
C:\System> adb push badapple.mp4 /mnt/UDISK # push badapple.mp4 to dev board /mnt/UDISK path
C:\System> adb pull /mnt/UDISK/badapple.mp4 # pull /mnt/UDISK/badapple.mp4 to PC
Start and Restart
Start
At present, the development board is in the power-on mode, only need to plug in the 12V DC power adapter or use the USB Type C cable to connect the power supply.
Please note that if the Type C is connected to the USB port of the computer, the device may boot repeatedly due to the low output current of the computer's USB. At this time, you need to insert a 12V DC power adapter as an auxiliary power supply.
At the same time, the USB can also be connected through the connector on the left side of the USB port in the figure (beige), which is convenient for assembly and use.
The white connector on the lower right corner of the development board is the battery interface, which can be connected to a supported lithium battery.
After start finish, the following print will be displayed.
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:/#
Restart
There are two ways to restart, the first is to reset the CPU by pressing the RESET
button to achieve the function of restarting. And the other is to achieve the function of restarting through the linux command line.
Button Restart
Find the RESET button in the lower left corner of the dev board, press it to restart.
Command Restart
Input command reboot
in dev board Linux shell to restart.
root@TinaLinux:/# reboot
Input command reset
in dev board U-Boot shell to restart.
=> reset
Flash Mode
There tow ways to enter Flash Mode.
Button Enter Flash Mode
Find the button RESET
and UBOOT
in the board
(1) Press UBOOT
button until (3) ready;
(2) Click RESET
button;
(3) Wait board connect borad success, release UBOOT
button;
Command EnterFlash Mode
In Linux shell, enter command reboot efex
in board so that it will restart and enter flash mode.
root@TinaLinux:/# reboot efex
In U-Boot shell, enter command efex
so that it will enter flash mode.
=> efex
GPIO Light a Lamp
The development board has an LED light for user operation, which is connected to PH11
.
Convert the digital label of the IO to: 7 * 32 + 11 = 235, or check the IO multiplexing table, where (MUX UNCLAIMED)
indicates that this GPIO is not currently used:
root@TinaLinux:/# cat /sys/kernel/debug/pinctrl/pio/pinmux-pins
It will output the following:
......
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
......
Let's export the GPIO first:
echo 235 > /sys/class/gpio/export
cd /sys/class/gpio/gpio235
Then put the IO into the output state, you can operate its level:
echo out > direction
echo 1 > value #LED light up
echo 0 > value #LED snub out
Wi-Fi
The V853 development board uses the XR829 Wi-Fi & BT module with a 40M external crystal oscillator. The Wi-Fi part communicates with the V853 through the SDIO bus, and the device is located on the SDC1
interface.
Wi-Fi testing and connecting to a network
Wi-Fi Scanning for Networks and Connecting to Networks
Tina provides an easy and convenient Wi-Fi test suite: wifi
.
Use the wifi
command to set the working mode of Wi-Fi, scan for networks, connect to networks, and more.
Its usage can be seen by running wifi -h
.
Here's how to use wifi
to scan the network first:
(1) Set Wi-Fi
to STATION
mode
root@TinaLinux:/# wifi -o sta
(2) Scan Wi-Fi sites in the current network environment
root@TinaLinux:/# wifi -s
(3) Connect to Wi-Fi (SSID: awol, password 12345678)
root@TinaLinux:/# wifi -c awol 12345678
(4) After connecting to the network, enter ifconfig
to view the current ip address
Network connectivity can be tested using the ping
command
root@TinaLinux:/# ping www.baidu.com
It will output the following:
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) Turn off Wi-Fi:
root@TinaLinux:/# wifi -f
Wi-Fi hotspot
(1) Create a hotspot (SSID: v853, password: 12345678)
root@TinaLinux:/# wifi -o ap v853 12345678
(2) Then you can scan to Wi-Fi, enter the password 12345678 to connect.
Bluetooth
The V853 development board uses the XR829 Wi-Fi & BT module and uses a 40M external crystal oscillator. Its Bluetooth part communicates with the V853 through the UART bus, and the device is located on the UART2
interface.
Bluetooth Test
Command:
bt_test
Bluetooth sink
Use the v853 development board as a small Bluetooth speaker to play audio on the development board through Bluetooth:
root@TinaLinux:/# bt_test -i -p a2dp-sink
Audio
The V853 development board has two microphone inputs, one audio input, and one speaker output. /*Note that the 3.5mm headphone jack next to UART0 on the left is the UART port used by GPS, not the headphone jack
Record
View record equipment
You can use the arecord -l
command to view the recording devices provided by the development board.
root@TinaLinux:/# arecord -l
It will output the following:
**** 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
Microphone Record
The V853 development board has two microphones onboard, located near the LINE-IN interface.
Before recording, you need to open the audio channel first, and configure the internal MIC1 and MIC2 to record dual-channel audio.
Select MIC1 input
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0
It will output the following:
numid=23,iface=MIXER,name='MIC1 Input Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'differ'
; Item #1 'single'
: values=0
Select MIC2 input
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0
It will output the following:
numid=23,iface=MIXER,name='MIC2 Input Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'differ'
; Item #1 'single'
: values=0
Open MIC1
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1
It will output the following:
numid=17,iface=MIXER,name='MIC1 Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
Open MIC2
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1
It will output the following:
numid=17,iface=MIXER,name='MIC2 Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
Set MIC1 volume
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30
It will output the following:
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
Set MIC2 volume
root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30
It will output the following:
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
Use command arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
to record with two mic:
root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
It will output the following:
Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
Play music
View paly equipment
Use command aplay -l
to seethe palying equipment
root@TinaLinux:/# aplay -l
It will output the following:
**** 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
Speaker play audio
Before playing, you first need to open the audio channel and configure the speakers to play audio.
Enable LINEOUT output function
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1
It will output the following:
numid=22,iface=MIXER,name='LINEOUT Output Select'
; type=ENUMERATED,access=rw------,values=1,items=2
; Item #0 'single'
; Item #1 'differ'
: values=1
Open LINEOUT channel
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1
It will output the following:
numid=20,iface=MIXER,name='LINEOUT Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
Set the output volume
root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25
It will output the following:
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
Use aplay
to play the audio you just recorded through the external speakers.
aplay -D hw:audiocodec t.wav
It will output the following:
Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
Adjust Volume
Use the graphical interface provided by alsamixer
to adjust the volume.
root@TinaLinux:/# alasmixer
ETH
The V853 development board has an on-board 100M Ethernet network and uses the IP101GR Ethernet transceiver.
Test ETH
Plug in the network cable, use ifconfig eth0 up
to open the network device, udhcp -i eth0
dynamic active IP address. You can then use the ping
command to test network connectivity.
root@TinaLinux:/# ifconfig eth0 up
root@TinaLinux:/# udhcp -i eth0
Enter command ping
to test
root@TinaLinux:/# ping www.baidu.com
It will output the following:
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 Display
The V853 development board is equipped with a 7-inch LCD screen with a corresponding capacitive touch screen.
LCD Test
The current firmware will display the boot LOGO of Tina Little Penguin when booting.
Snowflake Test
cat /dev/urandom > /dev/fb0
Color Stripe Test
Test through echo
to /sys/class/disp/disp/attr/colorbar
, 0 to 7 are different color stripe effects
echo 0 > /sys/class/disp/disp/attr/colorbar
UI Test
LVGL Test
LVGL (Lightweight and Versatile Graphics Library) is a free and open source graphics library that provides everything you need to create embedded GUIs with easy-to-use graphical elements, beautiful visual effects and a low memory footprint. This runs lv_examples 1
for testing.
root@TinaLinux:/# lv_examples 1
At the same time, the firmware also provides a variety of test effects.
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 Test
DirectFB is a lightweight hardware graphics acceleration, input device processing features and abstract graphics library, which integrates multi-layer display functions on top of the Linux Framebuffer driver.
root@TinaLinux:/# df_andi
At the same time, our firmware also provides a variety of test effects to choose from.
df_andi df_drivertest2 df_matrix df_texture
df_flip df_neo df_window df_dok
df_knuckles df_porter df_drivertest
LCD Touch
LCD Touch Test
When the LCD is touched, it will send data to the V853, which can be obtained through the cat
command.
root@TinaLinux:~# cat /dev/input/event0
After running, touching the screen will output garbled characters in the terminal command line. That is, the obtained touch signal.
Camera
The V853 development board provides a dual 1080p camera solution by default, the model is GC2063.
Camera - Display
The camera image is displayed on the screen
Use sample_virvi2vo
to capture and display the camera image.
root@TinaLinux:~# sample_virvi2vo /usr/sample_virvi2vo.conf
USB
USB OTG Swith Mode
Switch to Device mode
root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device
Switch to Host mode
root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_host
USB U-Disk Test
The Type C USB connector of V853 supports OTG, which can connect U disk, mouse, keyboard and other items. When connecting a USB TYPE A device, a USB TYPE C to TYPE A adapter is required.
First switch the USB to HOST mode
root@TinaLinux:~# cat /sys/devices/platform/soc/usbc0/usb_device
Insert U disk, automatically mount /mnt/exUDISK
directory
TF Card
Insert the TF card, the TF card will be automatically mounted to the /mnt/sdcard
directory