【R329开发板评测】开箱及Debian系统上手体验

首发极术社区
如对Arm相关技术感兴趣,欢迎私信aijishu20加入技术微信群。

前言

一直就很喜欢矽速家的产品,这些板子的设计真是深的我心😍。有幸参加了这次矽速的R329开发板测评活动并拿到了实物进行体验,接下来我将会简单地分享一下上手体验的过程和感受。

硬件简单介绍

首先来看看开发板的整体外观,大家都拿硬币来对比了开发板的体积,我就不一样了,我一分💰硬币都没有,所以给大家看看真·上手图:
在这里插入图片描述

板子正面是一块240*240的屏幕
在这里插入图片描述

板子背面是核心板,可以看到散热片和天线(看起来就很强
在这里插入图片描述

屏幕是磁吸在板子上面的,所以可以很方便地掀开,就可以看到插内存卡的地方,其实还有两个很不容易注意到的麦克风,下面还藏着一个小喇叭📢
在这里插入图片描述

摄像头跟板子是通过Type-C连接的,所以可以把它掰下来,正着插反着插不插(前置后置摄像头全面屏都实现了\Doge)。不插摄像头的时候,空出来的这个Type-C接口就可以用来接OTG键鼠当输入设备。
关于开发板更多的硬件介绍可以参考这里

Debian系统体验

截止发帖前,矽速已经给开发板适配了Tina、Debian和Armbian系统,很快啊。我前面体验了Tina,开关机的速度都很快,运行流畅,但是网络连接有点小问题,安装软件不够方便,所以接下来我的体验都是在Debian系统下进行的。

刷入系统

刷入系统以及初始配置都可以参考矽速发的帖子R329开发板教程之四|Debian系统初体验,写得很详细。
镜像烧录软件推荐balenaEtcher(操作简单,关键长得也好看
在这里插入图片描述

串口连接或SSH连接

在首次开机时要通过串口连接才能进行操作,直接用Type-C数据线将开发板连接到电脑就可以,不需要额外安装驱动。关于串口软件,macOS和Linux推荐使用minicom,Windows推荐使用MobaXterm,串口波特率为115200,其它参数默认
配置好网络之后,可以使用ssh连接到开发板,但是Debian系统需要首先手工生成ssh秘钥:

ssh-keygen -A
systemctl restart ssh

Tips: 遇到过电脑无法ping通开发板,ssh也无法登录开发板的情况,首先在开发板上ping一下电脑的ip地址即可解决。

编译并运行分类Demo

Debian镜像附带了一个分类的例程zhouyi_test,可以在板子上编译运行,也可以在自己的电脑上交叉编译,再到板子上运行。

板上直接编译

镜像已经配置好了编译环境,可以直接编译运行(注意先要开启虚拟内存)。
编译步骤:

cd ~/zhouyi_test/build
cmake ..
make -j2  # 编译
cd .. && bash run.sh  # 运行程序

编译结果:

root@maixsense:~/zhouyi_test/build# time make -j2
Scanning dependencies of target zhouyi_cam
[ 33%] Building C object CMakeFiles/zhouyi_cam.dir/fb_display.c.o
[ 66%] Building CXX object CMakeFiles/zhouyi_cam.dir/main.cpp.o
[100%] Linking CXX executable zhouyi_cam
[100%] Built target zhouyi_cam

real    13m19.126s
user    0m23.554s
sys     0m4.308s

在板上直接编译的一个好处是,镜像已经配置好了环境,省去了自己再配置编译环境的麻烦,但是!编译的速度实在是太慢了!以这个例程为例,在板子上编译的时间差不多需要15min,这非常不利于代码开发和调试,所以我们最好还是在自己的电脑上进行编译。

PC上交叉编译

这部分内容参考了@杨修的帖子R329 MaixSense OpenCV图像采集
步骤(以Ubuntu为例):

  • 安装编译工具
apt-get update
apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
  • 交叉编译OpenCV,生成动态库(可跳过,直接下载我编译好的)
wget https://github.com/opencv/opencv/archive/4.5.1.zip
unzip 4.5.1.zip
cd opencv-4.5.1 && mkdir r329-build && cd r329-build
# 这一步让BUILD_SHARED_LIBS保持默认,即编译动态库
cmake \
-DCMAKE_TOOLCHAIN_FILE=../platforms/linux/aarch64-gnu.toolchain.cmake \
..
make -j && make install

成功后,在opencv-4.5.1/r329-build/install目录下是这样的:

├── bin
├── include
├── lib
└── share
  • 修改zhouyi_test/CMakeList.txt
cmake_minimum_required(VERSION 3.10.0)
project(test_r329)

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)

set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_C_FLAGS "-march=armv8-a ")
set(CMAKE_CXX_FLAGS "-march=armv8-a -fpermissive ")

# cache flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")

# 注意opencv的路径
set(OpenCV_DIR ../opencv4.5.1/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)

set(OpenCV_LIBS opencv_core opencv_imgproc opencv_imgcodecs opencv_videoio)
set(AIPU_LIBS "${CMAKE_SOURCE_DIR}/libaipudrv.so.4")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

aux_source_directory(. src)

add_executable(zhouyi_cam ${src})

target_link_libraries(zhouyi_cam ${OpenCV_LIBS} ${AIPU_LIBS})
  • 编译zhouyi_cam:
cd zhouyi_test/build && cmake .. && time make

编译结果:

root@ecf9748d25c7:~/r329-coding/zhouyi_test/build# time make
[ 33%] Building C object CMakeFiles/zhouyi_cam.dir/fb_display.c.o
[ 66%] Building CXX object CMakeFiles/zhouyi_cam.dir/main.cpp.o
[100%] Linking CXX executable zhouyi_cam
[100%] Built target zhouyi_cam

real	0m2.889s
user	0m2.574s
sys	0m0.326s

可以看到编译快了亿点点,在build目录下生成了一个zhouyi_cam文件

  • 板上运行zhouyi_cam
    首先将程序发送到板子上,推荐用scp命令,电脑上执行:
scp zhouyi_cam root@板子ip地址:~/zhouyi_test/build

板子上执行:

cd ~/zhouyi_test && bash run.sh

运行效果

在这里插入图片描述

可以看到运行帧率为20fps,分类结果正确✅。

总结(尝试升华

附件:

r329-coding.tar.gz 提取码: a69j
附件说明:

r329-coding
├── opencv4.5.1  # 编译好的opencv
│   ├── bin
│   ├── include
│   ├── lib
│   └── share
└── zhouyi_test # 测试工程
    ├── CMakeLists.txt
    ├── Makefile
    ├── aipu.bin
    ├── build
    ├── fb_display.c
    ├── fbviewer.h
    ├── include
    ├── label.h
    ├── libaipudrv.so.4
    ├── libaipudrv.so.4.1.1
    ├── low_level_api.h
    ├── main.cpp
    ├── run.sh
    ├── standard_api.h
    └── zhouyi_cam -> build/zhouyi_cam

相关阅读:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值