Rice我叫加饭? · 2022年07月19日

全志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开发板介绍

  1. 很荣幸能第一手拿到全志V853的开发板。接下来开始介绍介绍这款开发板。
  2. 全志V853开发板规格参数:
类型说明
主控全志V853 (Arm A7 1GHz + RISC-V E907 600MHz + 1T NPU)
DDR512MB DDR3
Memory8GB eMMC
无线网络2.4G WiFi/BT(型号:全志XR829模组)
有线网络100Mbps以太网
摄像头1080P双目摄像头
屏幕7寸 LCD屏幕
麦克风模拟麦克风 *2
DEBUG支持uart串口调试,支持ADB USB调试
USBType-C USB * 1, 同时支持供电和数据传输
PMU全志AXP2101
  1. 全志V853系统配置:官方支持Tina Linux 5.0系统,基于Linux4.9内核和uboot-2018。其中:
  2. Tina Linux 是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。
  3. Tina Linux v5.0 中包含 Linux 系统开发用到的 boot 源码、内核源码、驱动、工具、系统中间件与应用程序包。可以方便的定制、编译、打包生成Linux固件镜像。
  4. Tina Linux v5.0 可以支持构建 openWrt 和 buildroot 不同构建系统;也支持单独编译 BSP(Board Support Package,板级支持包);能够打包生成固件包,烧录到相应设备中并运行。
  5. 全志V853开发板的硬件外设

全志V853开发板初体验

  1. 拿到开发板,我没有立马去编译构建代码,而是进入板子内部的默认系统,看看外设适配的怎么样。V853的开发板提供了两个调试串口(分别为:A7调试串口(UART0),E907 RV调试串口(UART3))。我分别连接了对应的串口,A7调试串口的接口可以输出启动信息,但是无法输入命令。E907 RV调试串口的接口没有任何任何日志,怀疑里面没有任何代码。
  2. 虽然A7调试串口的接口无法输入命令行,但是A7的调试提供了ADB Shell调试。
  3. 全志ADB工具下载:https://www.aw-ol.com/downloa...
  4. 下载解压后,把ADB工作目录添加到环境变量中:右键 ”此电脑“,属性,找到高级系统设置,点击环境变量,xxx用户的环境变量,Path,新增一个环境变量。

  1. 环境设置完毕,既可以在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

编译环境搭建

  1. 使用的开发环境是:VMware + ubuntu18.04
  2. 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工程构建

  1. 首先源码下载需要在全志客户服务平台。如果没有注册需要先注册在登陆。链接:https://open.allwinnertech.co...
  2. 将开发环境的钥匙对添加到全志客户服务平台。
  3. 生成钥匙对:

    v853@v853:~/v853$ ssh-keygen -t rsa
  4. 导出公钥, 将导出公钥进行复制:

    v853@v853:~/v853$ cat ~/.ssh/id_rsa.pub
  5. 公钥粘贴到全志客户服务平台:

  1. 安装repo引导脚本
  2. 下载repo引导脚本:

    v853@v853:~/v853$ git clone ssh://RiceChen@sdk.allwinnertech.com/git_repo/repo.git
  3. 修改repo脚本的username:

    REPO_URL='ssh://username@sdk.allwinnertech.com/git_repo/repo.git'
    改为
    REPO_URL='ssh://RiceChen@sdk.allwinnertech.com/git_repo/repo.git'
  4. 添加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
  5. 下载SDK
  6. 创建SDK存放文件夹,并进入文件夹

    v853@v853:~/v853$ mkdir tina-v853
    v853@v853:~/v853$ cd tina-v853
  7. 初始化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
  8. 同步仓库代码,并创建分支:

    v853@v853:~/v853/tina-v853$ repo sync
    v853@v853:~/v853/tina-v853$ repo start product-v853 --all
  9. 构建v853工程
  10. 构建工程前,需要安装mkimage:

    sudo apt-get install u-boot-tools
  11. 配置编译模式:

    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
  12. 编译固件,然后

    v853@v853:~/v853/tina-v853$ ./build.sh
    
    ...
    [GPU]: No GPU type is configured in /home/v853/v853/tina-v853/kernel/linux-4.9/.config.
  13. blocks
  14. 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$ 

烧录验证

  1. 下载全志USB驱动,链接:https://www.aw-ol.com/downloa...。解压并点击batch脚本安装即可。

  1. 下载固件烧写工具PhoenixSuit,链接:https://www.aw-ol.com/downloa...
  2. 解压并打开可执行程序:PhoenixSuit.exe。

  • 选择固件,并选择立即升级。然后按住开发的uboot和reset按键,先松开reset按键。就可以看到进度条的变化。

  1. 下载完成。串口终端便可以输出:

<br/>关注微信公众号『Rice嵌入式开发技术分享』,后台回复“微信”添加作者微信,备注”入群“,便可邀请进入技术交流群。

推荐阅读
关注数
1753
内容数
51
一个周末很无聊的嵌入式软件工程师,写写经验,写写总结。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息