Allwinner V853 – High-Performance Edge AI Vision Processing Chip

The V853 is a new generation of high-performance, low-power processor SoC aimed at the intelligent vision field, widely used in industries related to intelligent upgrades such as smart locks, intelligent attendance systems, network cameras, dashcams, and smart lamps. The V853 integrates Arm Cortex-A7 and RISC-V E907 dual CPUs, with a built-in maximum 1T computing power NPU, utilizing Allwinner’s self-developed Smart video engine, supporting up to 5M@25fps H.265 encoding and 5M@25fps H.264 encoding and decoding, while also integrating a high-performance ISP image processor to provide professional-grade image quality for customers. The V853 supports 16-bit DDR3/DDR3L, meeting the high bandwidth requirements of various products; it supports a rich variety of dedicated video input and output interfaces such as 4lane MIPI-CSI/DVP/MIPI-DSI/RGB, satisfying the needs of various AI vision products; and it adopts an advanced 22nm process, offering better power consumption and a smaller chip area.

Introduction to Allwinner V853 Development Board
-
It is an honor to be the first to receive the Allwinner V853 development board. Next, I will introduce this development board. -
Specifications of the Allwinner V853 development board:
Type | Description |
---|---|
Main Control | Allwinner V853 (Arm A7 1GHz + RISC-V E907 600MHz + 1T NPU) |
DDR | 512MB DDR3 |
Memory | 8GB eMMC |
Wireless Network | 2.4G WiFi/BT (Model: Allwinner XR829 module) |
Wired Network | 100Mbps Ethernet |
Camera | 1080P dual camera |
Screen | 7-inch LCD screen |
Microphone | Analog microphone *2 |
DEBUG | Supports UART serial debugging and ADB USB debugging |
USB | Type-C USB * 1, supports both power supply and data transmission |
PMU | Allwinner AXP2101 |
-
System Configuration of the Allwinner V853: Officially supports Tina Linux 5.0 system, based on Linux 4.9 kernel and uboot-2018. Among them:
-
Tina Linux is an embedded software system developed by Allwinner Technology based on the Linux kernel for smart hardware products. -
Tina Linux v5.0 includes the boot source code, kernel source code, drivers, tools, system middleware, and application packages needed for Linux system development. It allows convenient customization, compilation, and packaging to generate Linux firmware images. -
Tina Linux v5.0 supports building different build systems of openWrt and buildroot; it also supports separately compiling BSP (Board Support Package); it can package and generate firmware packages, which can be burned into the corresponding devices and run.
-
Hardware peripherals of the Allwinner V853 development board

Allwinner V853 – Cross Compilation
-
Why write about cross-compilation? It is because the documentation provided by Allwinner describes the building method of OpenWRT, while I adopt buildroot for building. The cross-toolchains used by the two are different. Among them: OpenWRT uses the musl toolchain, while buildroot uses the glibc toolchain.
-
To avoid others using buildroot and following the documentation resulting in applications failing to run after compilation, I will supplement the cross-compilation of applications in the buildroot construction.
-
Writing HelloWorld:
#include <stdio.h>
int main(void)
{
printf("Hello World!");
return 0;
}
-
The path of the compilation toolchain for V853: prebuilt/rootfsbuilt/arm/. It contains two toolchains: musl and glibc, while buildroot uses glibc. -
So the path of the gcc compiler is: prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/bin/. The library and header file paths needed for compilation are: prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/arm-openwrt-linux-gnueabi/. -
Specify the folder to store the library files and header files needed for cross-compilation.
v853@v853:~/$ export STAGING_DIR=~/v853/tina-v853/prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/arm-openwrt-linux-gnueabi/
-
Compile the application:
v853@v853:~/$ export STAGING_DIR=~/v853/tina-v853/prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/bin/arm-openwrt-linux-gcc -o helloworld main.c
v853@v853:~/$ ls
helloworld main.c
v853@v853:~/$
-
I use the method of mounting an SD card to copy the application to the board. So I will copy the compiled application helloworld to the SD card. -
Verification results on the board:
// Mount the SD card to the test directory
# mount /dev/mmcblk1 /mnt/test/
// Run the application
# ./helloworld
Hello World!#
Follow the WeChat public account ‘Rice Embedded Development Technology Sharing’, reply ‘WeChat’ in the background to add the author’s WeChat, and note ‘Join Group’ to be invited into the technical exchange group.
