全志V853-高性能边缘AI视觉处理芯片
V853 是一颗面向智能视觉领域推出的新一代高性能、低功耗的处理器SOC,可广泛用于智能门锁、智能考勤门禁、网络摄像头、行车记录仪、智能台灯等智能化升级相关行业。
V853 集成Arm Cortex-A7和RISC-V E907 双CPU,内置最大 1T 算力 NPU,使用全志自研 Smart 视频引擎,最大支持5M@25fps H.265编码和5M@25fps H.264编解码,同时集成高性能 ISP 图像处理器,可为客户提供专业级图像质量。V853 还支持 16-bit DDR3/DDR3L,满足各类产品高带宽需求;支持 4lane MIPI-CSI/DVP/MIPI-DSI/RGB 等丰富的专用视频输入输出接口,满足各类AI视觉产品需求;采用先进的22nm工艺,具有更优的功耗和更小的芯片面积。
全志V853开发板介绍
- 很荣幸能第一手拿到全志V853的开发板。接下来开始介绍介绍这款开发板。
- 全志V853开发板规格参数:
类型 | 说明 |
---|---|
主控 | 全志V853 (Arm A7 1GHz + RISC-V E907 600MHz + 1T NPU) |
DDR | 512MB DDR3 |
Memory | 8GB eMMC |
无线网络 | 2.4G WiFi/BT(型号:全志XR829模组) |
有线网络 | 100Mbps以太网 |
摄像头 | 1080P双目摄像头 |
屏幕 | 7寸 LCD屏幕 |
麦克风 | 模拟麦克风 *2 |
DEBUG | 支持uart串口调试,支持ADB USB调试 |
USB | Type-C USB * 1, 同时支持供电和数据传输 |
PMU | 全志AXP2101 |
- 全志V853系统配置:官方支持Tina Linux 5.0系统,基于Linux4.9内核和uboot-2018。其中:
- Tina Linux 是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。
- Tina Linux v5.0 中包含 Linux 系统开发用到的 boot 源码、内核源码、驱动、工具、系统中间件与应用程序包。可以方便的定制、编译、打包生成Linux固件镜像。
- Tina Linux v5.0 可以支持构建 openWrt 和 buildroot 不同构建系统;也支持单独编译 BSP(Board Support Package,板级支持包);能够打包生成固件包,烧录到相应设备中并运行。
- 全志V853开发板的硬件外设
全志V853开发板初体验
-
拿到开发板,我没有立马去编译构建代码,而是进入板子内部的默认系统,看看外设适配的怎么样。V853的开发板提供了两个调试串口(分别为:A7调试串口(UART0),E907 RV调试串口(UART3))。我分别连接了对应的串口,A7调试串口的接口可以输出启动信息,但是无法输入命令。E907 RV调试串口的接口没有任何任何日志,怀疑里面没有任何代码。
-
虽然A7调试串口的接口无法输入命令行,但是A7的调试提供了ADB Shell调试。
- 全志ADB工具下载:https://www.aw-ol.com/downloads?cat=5。
- 下载解压后,把ADB工作目录添加到环境变量中:右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。
- 环境设置完毕,既可以在CMD终端中输入adb shell
GPIO点灯测试
- 学习一门编程语言,首先要学会在终端输出“Hello world”。学习一个开发板,首先要学会如何点亮一颗LED灯。开发板的指示灯接在PH11引脚上。所以GPIO编号为:7 * 32 + 11 = 235。所以我们可以直接操作GPIO235。实际板子的GPIO编号已经被导出了。
root@TinaLinux:/# cd /sys/class/gpio/gpio235
root@TinaLinux:/sys/devices/platform/soc/pio/gpiochip0/gpio/gpio235# ls
active_low direction power uevent
device edge subsystem value
root@TinaLinux:/sys/devices/platform/soc/pio/gpiochip0/gpio/gpio235# echo 0 > value
root@TinaLinux:/sys/devices/platform/soc/pio/gpiochip0/gpio/gpio235# echo 1 > value
root@TinaLinux:/sys/devices/platform/soc/pio/gpiochip0/gpio/gpio235#
WIFI测试
- V853开发板使用WIFI模组是自家的--XR829,它是Wi-Fi & BT。WIFI部分采用SDIO总线与V853通信。
- Tina提供一套简易方便的WIFI测试套件,通过wifi命令可以设置WIFI的工作模式,扫描网络,连接网络等等。以WIFI的STA模式测试:
root@TinaLinux:/# wifi -o sta
root@TinaLinux:/# wifi -c Rice 12345678
root@TinaLinux:/# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 4C:34:1E:9A:F1:B0
inet addr:192.168.137.37 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fe80::4e34:1eff:fe9a:f1b0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:970 (970.0 B) TX bytes:1730 (1.6 KiB)
root@TinaLinux:/# ping baidu.com
PING baidu.com (220.181.38.148): 56 data bytes
64 bytes from 220.181.38.148: seq=0 ttl=50 time=48.033 ms
64 bytes from 220.181.38.148: seq=1 ttl=50 time=55.773 ms
64 bytes from 220.181.38.148: seq=2 ttl=50 time=55.524 ms
64 bytes from 220.181.38.148: seq=3 ttl=50 time=50.839 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 48.033/52.542/55.773 ms
root@TinaLinux:/#
LCD测试
- V853开发板配套7寸LCD屏幕,并配备电容式触摸。
- 花屏测试:
root@TinaLinux:/# cat /dev/urandom > /dev/fb0
- 彩色条纹测试:
root@TinaLinux:/# echo 1 > /sys/class/disp/disp/attr/colorbar
编译环境搭建
- 使用的开发环境是:VMware + ubuntu18.04
- ubuntu安装完毕,只需要几条命令就可以把编译环境搭建完成。
// 更新软件列表
v853@v853:~/v853$ sudo apt-get update
// 安装各种工具及软件包
v853@v853:~/v853$ sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y
// 设置git用户信息
v853@v853:~/v853$ git config --global user.email "980307037@qq.com"
v853@v853:~/v853$ git config --global user.name "RiceChen"
V853工程构建
- 首先源码下载需要在全志客户服务平台。如果没有注册需要先注册在登陆。链接:https://open.allwinnertech.com/#/login?cas=true
- 将开发环境的钥匙对添加到全志客户服务平台。
- 生成钥匙对:
v853@v853:~/v853$ ssh-keygen -t rsa
- 导出公钥, 将导出公钥进行复制:
v853@v853:~/v853$ cat ~/.ssh/id_rsa.pub
- 公钥粘贴到全志客户服务平台:
- 安装repo引导脚本
- 下载repo引导脚本:
v853@v853:~/v853$ git clone ssh://RiceChen@sdk.allwinnertech.com/git_repo/repo.git
- 修改repo脚本的username:
REPO_URL='ssh://username@sdk.allwinnertech.com/git_repo/repo.git'
改为
REPO_URL='ssh://RiceChen@sdk.allwinnertech.com/git_repo/repo.git'
- 添加repo引导脚本到环境中:
v853@v853:~/v853$ sudo cp repo/repo /usr/bin/repo
v853@v853:~/v853$ sudo chmod 777 /usr/bin/repo
// 测试是否添加成功
v853@v853:~/v853$ repo help
- 下载SDK
- 创建SDK存放文件夹,并进入文件夹
v853@v853:~/v853$ mkdir tina-v853
v853@v853:~/v853$ cd tina-v853
- 初始化repo仓库:
v853@v853:~/v853/tina-v853$ repo init -u ssh://RiceChen@sdk.allwinnertech.com/git_repo/V853Tina_Open/manifest.git -b master -m tina-v853-open.xml
- 同步仓库代码,并创建分支:
v853@v853:~/v853/tina-v853$ repo sync
v853@v853:~/v853/tina-v853$ repo start product-v853 --all
- 构建v853工程
- 构建工程前,需要安装mkimage:
sudo apt-get install u-boot-tools
- 配置编译模式:
v853@v853:~/v853/tina-v853$ ./build.sh config
========ACTION List: mk_config ;========
options :
All available platform:
0. android
1. linux
Choice [linux]: 1
All available linux_dev:
0. bsp
1. buildroot
2. tinyos
3. openwrt
Choice [openwrt]: 1
All available ic:
0. v853
Choice [t113]: 0
All available board:
0. vision
Choice [vision]: 0
All available flash:
0. default
1. nor
Choice [default]: 0
- 编译固件,然后
v853@v853:~/v853/tina-v853$ ./build.sh
...
[GPU]: No GPU type is configured in /home/v853/v853/tina-v853/kernel/linux-4.9/.config.
regenerate rootfs cpio
16149 blocks
16150 blocks
build_ramfs
Copy boot.img to output directory ...
Copy modules to target ...
./scripts/build.sh
sun8iw21p1 compile Kernel successful
INFO: ----------------------------------------
INFO: build Tina OK.
INFO: ----------------------------------------
v853@v853:~/v853/tina-v853$
- 打包固件:
v853@v853:~/v853/tina-v853$ ./build.sh pack
...
FileLength=7d7000Add partion rootfs.fex ROOTFS_FEX000000
Add partion very rootfs.fex ROOTFS_FEX000000
FilePath: rootfs.fex
FileLength=338ac00BuildImg 0
Dragon execute image.cfg SUCCESS !
----------image is at----------
72M /home/v853/v853/tina-v853/out/v853/vision/buildroot/v853_linux_vision_uart0.img
pack finish
v853@v853:~/v853/tina-v853$
烧录验证
- 下载固件烧写工具PhoenixSuit,链接:https://www.aw-ol.com/downloads/resources/13。
- 解压并打开可执行程序:PhoenixSuit.exe。
- 选择固件,并选择立即升级。然后按住开发的uboot和reset按键,先松开reset按键。就可以看到进度条的变化。
- 下载完成。串口终端便可以输出:
<br/>关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。