【入门必看】全志V853开发板——构建编译与固件烧篇
-
全志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嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。
-
感谢大佬分享经验,加精了!
-
赞一个,向楼主学习!
里面的RV MCU啥时候搞起来?
-
@aozima 在研究中RV第一次弄
-
还有一个更加方便的配置编译命令:
- source build/envsetup.sh
- lunch 1
- make && pack
不是很明白为啥楼主要用 ./build.sh 的方式配置编译,就好像不明白我自己刚拿到 SDK 的时候为啥也用 ./build.sh 的方式编译,哈哈。
-
@dream make && pack还能替换为 mp,更简单
-
@dream 好的构建方式提供出来,没有为什么
-
@yteraa 学习了,哈哈。
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号