全志V853--buildroot 应用交叉编译

全志V853-高性能边缘AI视觉处理芯片

56b6122caec468e730545dbd85127b51.png

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工艺,具有更优的功耗和更小的芯片面积。

8fda8c99642714084bd9cbe3544c19fe.png

全志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。其中:

  • Tina Linux 是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。

  • Tina Linux v5.0 中包含 Linux 系统开发用到的 boot 源码、内核源码、驱动、工具、系统中间件与应用程序包。可以方便的定制、编译、打包生成Linux固件镜像。

  • Tina Linux v5.0 可以支持构建 openWrt 和 buildroot 不同构建系统;也支持单独编译 BSP(Board Support Package,板级支持包);能够打包生成固件包,烧录到相应设备中并运行。

  1. 全志V853开发板的硬件外设

86657621e053402d8f1250509df4a879.png

全志V853--交叉编译

  1. 为啥要写交叉编译呢?是因为全志提供的文档中描述的OpenWRT的构建方式,而我采用的buildroot进行构建。他们两者采用的交叉工具链是不一样的。其中:OpenWRT采用musl工具链,而buildroot采用的glibc工具链。

  2. 为了避免其他人采用buildroot也按照文档进行操作,导致应用编译完无法运行起来。所以我补充一下buildroot构建中,应用的交叉编译。

  3. 编写HelloWorld:

#include <stdio.h>

int main(void)
{
   printf("Hello World!");
   return 0;
}
  1. V853的编译工具链的路径:prebuilt/rootfsbuilt/arm/。里面包含了两个工具链:musl和glibc,而buildroot采用了glic。

  2. 所以gcc编译器的路径:prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/bin/。而编译是需要用到的库文件和头文件路径:prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/arm-openwrt-linux-gnueabi/

  3. 指定存放交叉编译需要使用的库文件头文件的文件夹

v853@v853:~/$ export STAGING_DIR=~/v853/tina-v853/prebuilt/rootfsbuilt/arm/toolchain-sunxi-glibc-gcc-830/toolchain/arm-openwrt-linux-gnueabi/
  1. 编译应用程序:

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:~/$
  1. 我是采用挂载SD卡的形式将应用程序拷贝到板子的。所以将编译好的应用程序helloworld拷贝到SD卡。

  2. 板子上验证结果:

// 挂载SD卡到test目录上
# mount /dev/mmcblk1 /mnt/test/
// 运行应用
# ./helloworld
Hello World!#


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rice嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值