OrangePi Kunpeng Pro套装测评:开箱与基本功能测试

前言

大家好,我是起个网名真难。非常荣幸受到香橙派的邀请,同时也是第一次做这个事情,很荣幸对香橙派与华为鲲鹏在2024年5月12日联合发布的新品——香橙派Kunpeng Pro开发板进行深入的评测。这款开发板是香橙派与华为鲲鹏合作推出的高性能平台,其核心亮点在于搭载了强大的鲲鹏处理器,能够提供高达8TOPS的INT8计算能力,充分满足复杂算法和数据处理的需求。Kunpeng Pro 开发板提供了8GB和16GB两种内存版本,以满足不同性能需求的应用场景。它融合了鲲鹏全栈根技术的优势,为高校计算机系统教学和原生开发提供了全面的支持。开发板的独特之处在于其对FPGA+ARM的双重支持,这不仅使得从体系结构、数字逻辑设计到操作系统和编译,再到嵌入式开发的整个流程得以在一套体系结构和同一套开发板上无缝实现,而且也极大地促进了教学和研发的效率。
接下来,我将结合自己的亲身体验,从硬件配置、软件兼容性、以及AI算法性能等多个维度,为大家揭示这款开发板的潜力和实际表现。让我们一同探索这块备受瞩目的开发板,看看它如何在众多同类产品中脱颖而出,为开发者和技术爱好者带来全新的创新体验。本期先从硬件配置、软件兼容性来说,由于时间原因AI算法在下期继续。

一、开箱硬件

附带清单:开发板1,电源65W头1,C口数据线1,32G内存卡1(附带openEuler系统)图1为开箱正面,图2为开箱反面,图3为正面硬件介绍,图4为反面硬件介绍。
在这里插入图片描述
图1 正面开发
在这里插入图片描述
图2 反面开发板
在这里插入图片描述

图3正面硬件介绍
在这里插入图片描述
图4反面硬件介绍
硬件参数:
在这里插入图片描述
在这里插入图片描述

从以下几个方面看该款开发板

**处理器:**该开发板搭载的4核64位Arm处理器确保了较强的计算能力和较高的能效比,适合处理中等复杂度的任务。与市场上的其他开发板相比,如树莓派(Raspberry Pi)的四核Broadcom BCM2711处理器或ODROID系列的多核ARM处理器,Kunpeng Pro在核心数和架构上并不落后,但具体的性能表现还需考虑处理器的主频和制程技术等因素。
内存和存储:提供8GB或16GB LPDDR4X内存选项,这样的配置在开发板中属于较高规格,有利于运行内存密集型的应用程序。32MB的SPI Flash、Micro SD卡插槽、eMMC插座以及M.2接口的NVMe SSD或SATA SSD支持,为开发者提供了灵活的存储选择。与其他开发板相比,例如树莓派4B仅提供最大8GB的RAM和一个microSD卡插槽,Kunpeng Pro在存储扩展性上有明显的优势。
**网络连接:**支持10/100/1000Mbps以太网和2.4G/5G双频Wi-Fi及BT4.2,这些特性使得Kunpeng Pro在网络连接方面具有不错的竞争力。与同类产品相比,它提供了更全面的无线连接选项,不得不说这个WIFI贼强。
**外设支持:**提供了丰富的外设接口,包括USB 3.0、Type-C、HDMI、MIPI CSI摄像头接口、MIPI DSI显示接口等,这使得Kunpeng Pro能够适用于多种应用场景。特别是在视频输出和输入方面,两个HDMI接口和两个MIPI CSI摄像头接口为多媒体应用和计算机视觉任务提供了良好的支持。
总体来说,Orange Pi Kunpeng Pro开发板在硬件配置上表现出色,无论是处理器性能、内存和存储选项、网络连接能力还是外设支持,都使其成为一款功能强大的开发平台。与市场上的其他热门开发板相比,如树莓派或ODROID系列,Kunpeng Pro在某些方面提供了更高的性能和更多的功能,特别适合需要高性能处理和大量内存的应用场景。与同类产品相比,它在内存大小和存储选择上具有明显优势,但是由于开发板为新上市,资料有限,但是在面临挑战的同时也带来了无限的可能。

二. 开 机

2.1 开机画面为图2-1,账号密码均为oepnEuler,这个密码我尝试改过不能改的过于简单,可能为了安全性,在ubuntu中我一般设置为三个空格作为输入密码,现在这个还有点不适应哈哈哈哈,进去跟传统的linux也是大差不差。
在这里插入图片描述
在这里插入图片描述
2.2开机连接WIFI,调整时间、安装VNC远程
(这里我先接了HDMI屏幕)连接WIFI
在这里插入图片描述
如果没有屏幕 就用SSH连接进行wifi搜索配置,没什么坑插入网线,到你的路由器查看IP地址。SSH命令:ssh openEuler@192.168.0.101(这里IP是你自己的)

  1. 然后使用 nmcli dev wifi 命令扫描周围的 WIFI 热点。
    nmcli dev wifi
  2. 然后使用 nmcli 命令连接扫描到的 WIFI 热点,其中:
    a. wifi_name 需要换成想连接的 WIFI 热点的名字。
    b. wifi_passwd 需要换成想连接的 WIFI 热点的密码。
    sudo nmcli dev wifi connect wifi_name password wifi_passwd
  3. 通过 ip addr show wlan0 命令可以查看 wifi 的 IP 地址。
    [openEuler@openEuler ~]$ ip a s wlan0
  4. 使用 ping 命令可以测试 wifi 网络的连通性,
    [openEuler@openEuler ~]$ ping www.orangepi.org -I wlan0
    拔掉网线可以用了。
    调整时间
    刚拿到开发板这个时间是1970年,用date命令可以查看时间,因为已经连接到wifi了可以联网了用下面的命令对时
    sudo ntpdate pool.ntp.org

等一会就回成功,但是改了下次还是回恢复原来的时间,可以做个SH脚本开机自己运行这个脚本就执行这个对时的命令,这一期不在这里进行说明。

安装VNC
我的电脑是win11所以我电脑装的是这个TightVNC在这里插入图片描述

在这里插入图片描述
开发板安装VNC的服务器sudo yum install tightvncserver
启动服务:vncserver
在这里插入图片描述
但是有时候是回拒绝你链接的为什么呢?应该是上一个异常关闭导致这个没完全占用了。所以用这个吗,用这个命令查找PID是哪个占用
在这里插入图片描述
我的查到了,所以用kill 9 杀掉
sudo kill -9 1849,然后就可以登录了。
还有就是需要每次都要这么设置,每次都需要手动启动,挺烦人的,这里可以参考这个博主的,https://blog.csdn.net/weixin_40929065/article/details/139248355 文章2.4.2.1。感谢isSamle大佬。

三 问题系统测试

pjdfstest 是一个用于测试 POSIX 文件系统接口的测试套件,主要用于测试文件系统对 POSIX 标准的兼容性。root下
步骤 1:安装依赖
首先,确保你已经安装了必要的依赖工具,如 git、automake、gcc 等构建工具
sudo yum install git automake gcc make libtool
在这里插入图片描述
步骤 2:克隆 pjdfstest 仓库 使用 git 克隆 pjdfstest 仓库:
git clone https://github.com/pjd/pjdfstest.git
cd pjdfstest //进入文件
步骤 3:准备构建环境,因为没有runtest脚本的存在,也没有makefile文件存在,所以不能够直接make,先用autotools手动生成配置文件。
autoreconf -i
在这里插入图片描述
./configure
在这里插入图片描述
在这里插入图片描述
Make
在这里插入图片描述
成功编译。。。
有一个tests文件夹
在这里插入图片描述
进入文件cd tests
在这里插入图片描述

以上文件代表什么意思呢


下面是每个文件夹的简要描述:
chflags:
用于测试 chflags 系统调用,该调用用来更改文件或目录的标志(例如不可修改、不可删除等)。
chmod:
用于测试 chmod 系统调用,该调用用来更改文件或目录的权限模式(例如可读、可写、可执行等)。
chown:
用于测试 chown 系统调用,该调用用来更改文件或目录的所有者和所属组。
conf:
可能包含配置文件或用于配置测试环境的脚本。
ftruncate:
用于测试 ftruncate 系统调用,该调用用来改变打开文件的大小。
granular:
可能包含一些细粒度的测试,具体取决于项目,可能测试文件系统操作的边界情况或细节。
link:
用于测试 link 系统调用,该调用用来创建文件的硬链接。
mkdir:
用于测试 mkdir 系统调用,该调用用来创建目录。
misc.sh:
可能是包含各种杂项测试的脚本。
mkfifo:
用于测试 mkfifo 系统调用,该调用用来创建命名管道(FIFO)。
mknod:
用于测试 mknod 系统调用,该调用用来创建特殊文件(例如设备文件)。
open:
用于测试 open 系统调用,该调用用来打开文件。
posix_fallocate:
用于测试 posix_fallocate 系统调用,该调用用来为文件预分配空间。
rename:
用于测试 rename 系统调用,该调用用来重命名文件或目录。
rmdir:
用于测试 rmdir 系统调用,该调用用来删除空目录。
symlink:
用于测试 symlink 系统调用,该调用用来创建符号链接(软链接)。
truncate:
用于测试 truncate 系统调用,该调用用来改变文件的大小。
unlink:
用于测试 unlink 系统调用,该调用用来删除文件。
utimensat:
用于测试 utimensat 系统调用,该调用用来更改文件的访问和修改时间。

如果只测试一个文件那么这么使用
sh chflags/00.t
输出
[root@openEuler tests]# sh chflags/00.t 1…1 ok 1

我现在要运行所有的测试脚本,我创建了一个sh脚本,我的目录是/home/openEuler/pjdfstest/tests,写脚本要给权限,chmod 777 /home/openEuler/pjdfstest/tests
运行下列脚本 ./test.sh我现在要运行所有的测试脚本,我创建了一个sh脚本,我的目录是/home/openEuler/pjdfstest/tests,写脚本要给权限,chmod 777 /home/openEuler/pjdfstest/tests
运行下列脚本 ./test.sh

#!/bin/bash

# 进入 tests 目录
cd /home/openEuler/pjdfstest/tests

# 遍历所有文件夹
for folder in */; do
    if [ -d "$folder" ]; then
        echo "Testing $folder..."
        # 进入文件夹
        cd "$folder"
        # 遍历文件夹中的所有脚本文件
        for test_case in *.t; do
            if [ -f "$test_case" ]; then
                echo "Running test case: $test_case"
                sudo sh "$test_case"
                echo
            fi
        done
        # 返回上一级目录
        cd ..
    fi
done

测试结果:
在这里插入图片描述

test

测试输出结果,似乎有一些测试通过了,但有一个测试失败了,并标记为 “TODO”。这表示该测试在 Linux 环境下的预期行为与实际行为不同,但这种差异是已知的,且在测试脚本中已经标记出来了。测试输出结果,似乎有一些测试通过了,但有一个测试失败了,并标记为 “TODO”。这表示该测试在 Linux 环境下的预期行为与实际行为不同,但这种差异是已知的,且在测试脚本中已经标记出来了。

四 软件安装测试

安装QQ
首先去这个网站下载这个.sh
https://im.qq.com/linuxqq/download.html
在这里插入图片描述
用SCP命令移动到开发板中
在这里插入图片描述
进行安装:sudo sh linuxqq_2.0.0-b2-1089_arm64.sh
[openEuler@openEuler QQ]$ sudo sh linuxqq_2.0.0-b2-1089_arm64.sh
installing /usr/share/applications/qq.desktop
installing /usr/local/bin/qq
installing /usr/local/bin/crashpad_handler
installing /usr/local/share/tencent-qq/CHANGELOG.txt
installing /usr/local/share/tencent-qq/qq.png
installing /usr/local/share/tencent-qq/credits.html
installing /usr/local/share/tencent-qq/res.db
安装成功

在这里插入图片描述
至于微信的话怕是有点难度,可以先用wine代替一下,或者执行老一套把,这里不演示了。

五 GPIO测试

另外对自带的gpio进行测试
我将采用C++代码对GPIO进行文件操作。
此处有一个坑sudo yum update升级问题,如果有幸进坑了那么这个glibc版本就不对了,这个gpio_operate就不用了,需要降级
降级命令:sudo yum downgrade glibc glibc-common
之后就可以用gpio_operate对对他操作了。还有需要进行在root下:
在这里插入图片描述

#include <iostream>
#include <fstream>
#include <string>
#include <unistd.h>

using namespace std;

// 定义管脚
const string GPIO_PIN = "12";

// ??GPIO
void exportGPIO() {
    ofstream exportGPIO("/sys/class/gpio/export");
    if (exportGPIO.is_open()) {
        exportGPIO << GPIO_PIN;
        exportGPIO.close();
    } else {
        cerr << "无法导出GPIO" << endl;
    }
}

// 设置GPIO方向
void setGPIODirection(const string& direction) {
    ofstream gpioDirection("/sys/class/gpio/gpio" + GPIO_PIN + "/direction");
    if (gpioDirection.is_open()) {
        gpioDirection << direction;
        gpioDirection.close();
    } else {
        cerr << " 设置GPIO方向?" << endl;
    }
}

// 写入GPIO
void writeGPIOValue(const string& value) {
    ofstream gpioValue("/sys/class/gpio/gpio" + GPIO_PIN + "/value");
    if (gpioValue.is_open()) {
        gpioValue << value;
        gpioValue.close();
    } else {
        cerr << "无法写入GPIO" << endl;
    }
}

int main() {
    // ??GIO
    exportGPIO();
    sleep(1);  // 等待管教输出

    //设置方向
    setGPIODirection("out");

    // 设置为高
    writeGPIOValue("1");
    sleep(1);  

   
    writeGPIOValue("0");

    return 0;
}

这里写了一个小例子,就可以对GPIO进行控制了,但是这样感觉效率不太高。不过这个板子主要用来干一些推理强一些。本期先写到这,下一期进行目标检测推理,如果训练一些轻量化的模型应该不是问题。

六 总结:

初次尝试香橙派开发板,感受到了其强大的性能和易用性。香橙派不仅预装了多款实用工具,而且接口丰富,生态系统完善,并且拥有全面的国产中文文档,极具探索价值。随着逐步深入探索,期待未来能分享更多关于香橙派的使用教程和技术博文,带来更多有趣的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/679639.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业微信应用 应用号内消息链接无法在企微内置浏览器打开 windows PC客户端 问题解决

问题 需求是每周在企微的应用号上发送周报&#xff0c;周报中会带着进入系统的链接&#xff0c;点击进入可以查看详情。系统需要登录鉴权&#xff0c;因此需要在内置浏览器打开便于自动认证。 但是&#xff0c;在企微应用号发送的链接&#xff0c;手机上可以正常使用企微内置…

E. 矩阵第k大

看到这句话&#xff0c;其中任意两个数都不能在同一行或者同一列 经典的网络流/匈牙利 由于小白看不懂网络流 &#xff08;其实是我不会&#xff09; &#xff0c;不妨就讲讲匈牙利 匈牙利算法 前置知识&#xff1a; 二分图 匈牙利&#xff08;是个人&#xff09;算法是二分…

OrangePi Ai Pro 开箱及镜像烧录指南

板子开箱 参加活动获得了香橙派与华为联合开发的 OrangePi AI Pro 开发板&#xff0c;这款开发板采用了华为自研的处理器&#xff0c;具有8TOPS的AI算力&#xff0c;可以满足一部分的AI开发需求&#xff0c;让 AI 开发不仅仅限于使用英伟达。 官方也是非常的大气&#xff0c;这…

【SQL边干边学系列】02介绍性问题(续)

文章目录 前言回顾介绍性问题7.产品名称中包含“queso”的产品8.运往法国或比利时的订单9.运往拉丁美洲任何国家的订单10.员工&#xff0c;按年龄的顺序排列11.让DateTime列仅显示Date12.员工全名13.每个订单的详细金额14.有多少客户&#xff1f;15.第一个订单是什么时候&#…

程序调试

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在程序开发过程中&#xff0c;免不了会出现一些错误&#xff0c;有语法方面的&#xff0c;也有逻辑方面的。对于语法方面的比较好检测&#xff0c;因…

积累常用css

1、封面文字&#xff0c;垂直居中&#xff0c;可以两列并排 2、宽border效果 .dashed-box { margin: 80px 0 40px 0;width: 100%;display: inline-block;background-image: linear-gradient(to right, #979797 65%, rgba(255, 255, 255, 0) 20%);background-position: bottom;…

yangwebrtc x86_64环境搭建

版本&#xff1a;5.0.099 sudo apt-get install libxext-dev sudo apt-get install x11proto-xext-dev sudo apt-get install libxi-dev sudo apt install libasound2-dev sudo apt install libgl1-mesa-dev sudo apt-get install libxtst-dev 用qt打开以下两个项目的.pro met…

性价比之战,小米、希喂、霍尼韦尔三款宠物空气净化器真实测评!

怨种闺蜜跟我吐槽&#xff0c;养猫之后家里面的空气质量变得越来越糟糕&#xff0c;空气中的浮毛和便臭严重影响到了居家舒适度&#xff0c;怀念没有养猫时清新的空气。 又想养猫&#xff0c;又不想生活在糟糕的环境中。使用了一些粘毛器和吸毛器都只能对付表面看得见的一些大…

BI平台概述

随着数字化浪潮的推进&#xff0c;企业对于数据驱动决策的需求日益增长。纷享销客作为一款领先的CRM平台&#xff0c;一直致力于帮助企业实现销售管理的高效与智能。纷享销客一体化BI智能分析平台作为CRM平台中的重要一环&#xff0c;旨在为企业提供更加全面、深入的数据分析能…

CDN(Content Delivery Network)内容分发网络原理、组成、访问过程、动静态加速、作用详解

CDN简介 什么是CND CDN&#xff08;Content Delivery Network&#xff09;的缩写&#xff0c;是一种利用分布式节点技术&#xff0c;在全球部署服务器&#xff0c;即时地将网站、应用视频、音频等静态或动态资源内容分发到用户所在的最近节点&#xff0c;提高用户访问这些内容…

opencv 在飞行堡垒8中调用camera导致设备消失

简介 使用 OpenCV 库时, 在最后调用cv::destroyAllWindows()之后设备管理器中的摄像头设备消失了&#xff0c; 看看是怎么触发的&#xff0c; 后面再慢慢研究RootCause是什么。 步骤 设备管理器原来摄像头显示 1. 代码 main.cpp Note: 1. haarcascade_frontalface_default…

武汉盛势启创科技携手三品软件 EDM系统助力企业图文档数字化

客户简介 武汉盛势启创科技有限公司&#xff08;以下简称“盛世启创”&#xff09;是一家专注于新能源汽车零部件领域的科技型企业&#xff0c;其主要业务涵盖新能源汽车三电系统智能传感器、智能座舱及线控底盘控制器的芯片开发、硬件设计、嵌入式系统开发。以及相关产品的生产…

云实例初始化的行业标准:Cloud-Init

01 前言 Cloud-Init[1] 是跨平台云实例初始化的行业标准。它得到了所有主要公共云提供商的支持&#xff0c;适用于私有云基础设施的配置系统以及裸机安装。Cloud-Init 将在启动时识别其运行所在的云环境&#xff0c;读取来自云端提供的任何元数据&#xff0c;并据此初始化系…

JsonCpp源码跨平台编译

1.macos编译jsoncpp: https://github.com/open-source-parsers/jsoncpp.git 克隆jsoncpp源码 使用CMake进行编译 生成makefile mkdir build cd build cmake ../ 编译: make编译并运行测试成功:

Github:ChatTTS从下载到使用

前言 本文使用工具&#xff1a; Anaconda &#xff1a;直接进行包管理&#xff0c;用来自定义生成python解释器&#xff0c;虚拟环境vscode&#xff1a;用来执行代码 注&#xff1a;我使用的Ubuntu&#xff0c;使用win&#xff0c;mac等&#xff0c;需要额外配置 简介 Chat…

python的内置模块 I

内置模块 I 除了我们自己写的模块之外&#xff0c;Python 中还内置了大量非常实用的模块。其实&#xff0c;我们之前的代码中就已经使用过几个内置模块了&#xff0c;比如 time 模块和 random 模块。 Python 的内置模块非常多&#xff0c;今天我们介绍几个常用的模块。废话少…

Linux 内存屏障简介

文章目录 1. 前言2. 什么是内存屏障&#xff1f;3. 为什么需要内存屏障&#xff1f;3.1 多发射(Multi-issuing)3.2 乱序执行(Out-of-order execution)3.3 预测执行(Speculative execution)3.4 Load-Store 优化3.5 CPU Cache3.6 编译乱序3.7 小结 4. ARM 内存一致性模型 和 内存…

Julia编程11:变量作用域 Scope of Variables

There are two main types of scopes in Julia, global* scope* and local* scope*. Julia有全局变量作用域和局部变量作用域&#xff0c;函数或者一些结构体、循环体如for等是否内部是局部环境可以参照下表。 ConstructScope typeAllowed withinmodule, baremoduleglobalglo…

商品API数据集成:一站式商品信息服务平台

一站式商品信息服务平台&#xff1a;商品API数据集成 在数字化快速发展的今天&#xff0c;信息的高效获取与整合成为了各行各业追求的核心竞争力。特别是在商品信息领域&#xff0c;如何快速、准确地获取并整合来自多个渠道的商品数据&#xff0c;为企业决策提供支持&#xff0…

【数据结构】图论——AOV和AOE(拓扑排序、存放表达式、关键活动、关键路径)

目录 AOV和AOEAOV 有向无环图及其应用(拓扑结构)有向无环图的应用——存放表达式二叉树存放表达式图存放表达式 AOE 有向无环图及其应用——关键路径1. 事件的最早发生时间事件&#xff08;顶点&#xff09;最早发生时间的计算方法&#xff1a; 2. 事件允许的最晚发生时间事件(…