手把手教你搭建香橙派鲲鹏Pro开发环境
发表于 2025/06/20
0
手把手教你搭建香橙派鲲鹏Pro开发环境
1 引言
1.1 香橙派鲲鹏Pro开发板简介
香橙派鲲鹏Pro(OrangePi Kunpeng Pro) 开发板是香橙派联合华为精心打造的高性能开发板,其搭载了鲲鹏处理器,提供了 8GB 和 16GB 两种内存版本。香橙派鲲鹏Pro开发板结合了鲲鹏技术栈根技术,全面使能高校计算机系统教学和创新开发。同时支持 FPGA+ARM,从体系结构、数字逻辑设计、操作系统和编译,再到嵌入式开发,可以基于同一套体系结构和一套开发板实现贯穿打通。
开发者套件外观如下图:
1.2 FPGA开发板简介
OrangePi MSOC是香橙派官方发布的一款搭配OrangePi Kunpeng Pro_V1.2 使用的FPGA开发板,基于高云GW5AT-138PG484A。OrangePi Kunpeng Pro_V1.2 的openEuler系统已经适配高云的FPGA Designer软件,可以直接在开发板中进行FPGA代码的编辑、编译和调试,更方便高校进行程序底层编程设计教学。
开发者套件外观如下图:
2 香橙派鲲鹏Pro开发环境搭建
2.1 准备配件
准备好开发板以及如下配件:
1) TF卡,最小32GB容量的class10级或以上的高速闪迪卡。
强烈推荐使用64GB或以上容量的TF卡。(也可支持SSD卡、eMMC模块)
2) TF卡读卡器,用于读写TF卡。
3) HDMI连接线,用于将开发板连接到HDMI显示器或者电视进行显示。
4) Type-C转USB3.0转接线,用于Type-C接口连接USB3.0的存储设备(可选)。
5) 电源,Type-C接口的20V PD-65W适配器。
6) USB接口的鼠标、键盘和显示器。
7) 金属配套外壳(可选)。
8) 百兆或者千兆网线,用于连接开发板和PC、或开发板连接网络。
9) FPGA开发板(可选)。
10) Micro USB接口的数据线,用于串口调试(可选)。
11) PC(笔记本或台式机),用于烧录镜像,可以安装2种操作系统(Ubuntu 22.04和Windows X64)。
2.2 镜像烧录
镜像烧录可以在Windows或Ubuntu系统内执行,使用相应版本的balenaEtcher工具,快速烧录镜像至您的TF卡。
开发板出厂时,镜像已经烧录到TF卡中了,如果想自己重新烧录镜像,可以参考以下步骤烧写openEuler镜像到TF卡。
2.2.1 制卡前准备
步骤 1 将TF卡插入读卡器,并将读卡器插入PC
2.2.2 下载openEuler镜像
步骤 1 点击以下链接进入镜像下载页面
步骤 2 点击图片中箭头图标的“下载”,跳转百度网盘下载页面

本案例选择Kunpeng-Develop-openEuler-22.03-LTS-SP4-20241022-1438.img.xz进行下载。
2.2.3 下载制卡工具
步骤 1 点击此链接进入官方工具下载页面
步骤 2 点击图片中箭头图标的“下载”,跳转百度网盘下载页面
进入“官方工具”,选择“Linux镜像烧录工具-balenaEtcher”。
选择“Windows_X64版本”。
选择Portable版本,Portable版本无需安装,双击打开即可使用。
2.2.4 烧录镜像
步骤 1 打开后的balenaEtcher
界面如下图所示:
步骤 2 选择镜像、TF卡,启动烧录
使用balenaEtcher烧录openEuler镜像的具体步骤如下所示:
1) 首先选择要烧录的Linux镜像文件的路径(2.2.2下载openEuler镜像的保存路径)。
2) 然后选择TF卡的盘符。
3) 最后点击Flash就会开始烧录openEuler镜像到TF卡中。
1) balenaEtcher烧录Linux镜像的过程显示的界面如下图所示,另外进度条显示紫色表示正在烧录Linux镜像到TF卡中。
烧录大概需要30分钟左右,请耐心等待。
2) Linux镜像烧录完后,balenaEtcher默认还会对烧录到TF卡中的镜像进行校验,确保烧录过程没有出问题。如下图所示,显示绿色的进度条就表示镜像已经烧录完成,balenaEtcher正在对烧录完成的镜像进行校验。
验证大概需要10分钟左右,请耐心等待。
3) 成功烧录完成后balenaEtcher的显示界面如下图所示,如果显示绿色的指示图标说明镜像烧录成功,此时就可以退出balenaEtcher,然后拔出TF卡插入到开发板的TF卡槽中使用了。
注意,启动系统前请确保拨码开关拨到了TF卡启动的位置了。拨码开关的使用说明请参考2.3.1小节的说明。
2.3 连接并登录开发板
香橙派开发板有多种连接工作模式,主要为独立主机、串口连接、SSH网络连接三种。其中SSH网络连接又分为网线直连、WIFI-路由器和网线-路由器三种使用方式。
用户可根据实际情况自主选择连接方式:
连接方式 |
连接方式细分 |
依赖配件 |
备注 |
独立主机 |
独立主机 |
显示器、鼠标、键盘 |
显示器支持HDMI |
串口连接 |
串口连接 |
电脑,MicroUSB线 |
非SSH登录,部分操作受限 |
SSH网络连接 |
网线直连方式(推荐) |
电脑,网线 |
SSH登录 |
WIFI-路由器方式 |
电脑,无线路由器,MicroUSB线 |
SSH登录 |
|
网线-路由器方式 |
电脑,有线路由器,网线,MicroUSB线 |
SSH登录 |
本文重点介绍独立主机、网线直连两种连接方式。
2.3.1 插入TF卡
开发板支持从TF卡、eMMC和SSD(支持NVMe SSD和SATA SSD)启动。具体从哪个设备启动是由开发板背面的两个拨码(BOOT1和BOOT2)开关来控制的。(注:出厂默认从TF卡启动,且开关已经拨好,不需要调整)。
BOOT1和BOOT2两个拨码开关都支持左右两种设置状态,所以总共有4种设置状态,开发板目前只使用了其中的三种。不同的设置状态对应的启动设备如下表所示:
拨码开关BOOT1 |
拨码开关BOOT2 |
对应的启动设备 |
左 |
左 |
未使用 |
右 |
左 |
SATA SSD和NVMe SSD |
左 |
右 |
eMMC |
右 |
右 |
TF卡 |
另外请注意,切换拨码开关后必须拔插电源线重新上下电才能让新的启动设备选项生效,通过开发板的复位按键来复位系统是不会让拨码开关新设置的配置生效的。
将烧录好镜像的 TF卡插入开发板对应的插槽中:
2.3.2 方式一:独立主机连接
香橙派鲲鹏 Pro开发板上安装的是图形化桌面的openEuler操作系统,所以可以通过开发板上的HDMI接口连接到显示器上。
本方式硬件连接如下图所示:
步骤 1 开发板连接显示器、鼠标、键盘
将显示器连接到开发板的HDMI-2接口,如下图:
*注意:开发板有两个HDMI接口,目前只有HDMI-2支持显示Linux系统的桌面,HDMI-1显示Linux系统桌面的功能还需等软件更新。
通过开发板USB接口连接鼠标、键盘:
步骤 2 开发板连接电源
连接20V PD-65W的Type C接口的电源,电源接口的位置如下图所示:
靠近关机按键的绿灯为电源指示灯,绿灯亮起代表开发板上电成功;MIPI LCD和CAMERA0 之间的绿灯为SATA硬盘的指示灯,绿灯亮起说明Linux内核启动成功:
步骤 3 登录开发板
接通电源后不久,硬件正确连接后,可以看到显示器中出现了登录界面,默认用户为openEuler,输入默认密码openEuler,然后输入回车键。
Linux系统默认登录账号和密码。
账号 |
密码 |
root |
openEuler |
openEuler |
openEuler |
步骤 4 查看系统
进入到图形化桌面的openEuler操作系统中,界面如下图所示。
2.3.3 方式二:网线直连开发板(推荐)
开发板烧录的镜像中已预设了默认ip(192.168.10.8)
本方式硬件连接如下所示:

步骤 1 使用网线连接开发板和PC
网线的一端连接开发板,另一端连接PC。
步骤 2 启动上电
步骤 3 配置个人PC的网络设置
开发板通过网线和个人PC连接后,需要使开发板的ip地址和个人PC的以太网处于同一网段,才能实现网络互联。以window11为例配置个人PC的网络设置,具体操作步骤如下:
在PC上打开“开始”,单击“设置”按钮,进入“Windows 设置”界面:
打开网络和Internet。
高级网络设置,选择USB接口的以太网。
设置ip(如192.168.10.101)和子网掩码(默认)。
步骤 4 验证
使用快捷键“Win+R”,在运行窗口输入cmd进入命令行窗口。输入ipconfig命令查询PC网口IP地址是否修改成功:
C:\Users\用户实际信息>ipconfig
步骤 5 登录开发板
可以通过其它ssh工具软件登录到开发板,如MobaXtrem、puty、xshell等。这里以MobaXtrem为例显示。MobaXterm 的免费版是开源的,您可以从MobaXterm 官方站:https://mobaxterm.mobatek.net/ 下载开源版本。
远程登录IP为192.168.10.8,用户为root,密码为openEuler。
2.4 开发板网络连接
2.4.1 方式一:通过WIFI连接(在终端界面)
步骤 1 连接前准备
参考2.3.3通过ssh远程登录到开发板上。
步骤 2 扫描WIFI热点
开发板上执行nmcli dev wifi 命令扫描周围的 WIFI 热点:
nmcli dev wifi
步骤 3 连接指定WIFI
然后使用 nmcli 命令连接扫描到的 WIFI 热点,其中:
a. wifi_name 需要换成想连接的 WIFI 热点的名字。
b. wifi_passwd 需要换成想连接的 WIFI 热点的密码。
nmcli dev wifi connect wifi_name password wifi_passwd
输入命令,以Ljm_iPhone为例,连接成功后输出:成功用 "wlan0ab877337-e465-440a-852d-c95ee6b5f4b0" 激活了设备 ""。
步骤 4 测试WIFI是否连通
使用ping命令可以测试WIFI网络的连通性,ping命令可以通过Ctrl+C快捷键来中断运行。
ping www.hikunpeng.com -I wlan0
输出结果如下图所示:
2.4.2 方式二:通过wifi连接(图形化桌面)
先点击桌面右上角的倒三角型▼图标,然后点击Wi-Fi未连接。
接着选择要连接的网络名称,点击连接。
最后输入密码进行连接。
2.5 开发板其它常用功能介绍
2.5.1 设置Swap内存的方法
虽然开发板有8GB或16GB的大内存,但有些应用需要的内存大于8GB或16GB,此时我们可以通过Swap内存来扩展系统能使用的最大内存容量。方法如下所示:
步骤 1 创建一个swap文件
下面的命令会创建一个10GB大小的swap文件,容量大小请根据自己的需求进行修改。
[root@openEuler ~]$ sudo fallocate -l 10G /swapfile
如果已经启用了Swap分区再运行fallocate 命令会报下面的错误:
fallocate: fallocate failed: Text file busy
需要先运行swapoff /swapfile命令关闭系统上的swap分区才行。
注意,添加Swap内存前,请确保TF卡、eMMC或者SSD的剩余空间大于需要添加的Swap内存容量。
步骤 2 修改文件权限,确保只有root用户可以读写
[root@openEuler ~]$ chmod 600 /swapfile
步骤 3 把这个文件设置成swap空间
[root@openEuler ~]$ mkswap /swapfile
步骤 4 启用swap
[root@openEuler ~]$ swapon /swapfile
步骤 5 检查swap内存
可以通过下面的命令可以检查swap内存是否已经添加成功。
[root@openEuler ~]$ free -h
total used free shared buff/cache available
Mem: 7.4Gi 1.1Gi 5.5Gi 27Mi 835Mi 6.1Gi
Swap: 9Gi 0B 9Gi
步骤 6 设置重启之后生效
如果需要swap设置在重启之后依然有效,请运行下面命令将对应的配置添加到/etc/fstab文件中。
[root@openEuler ~]$ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
2.5.2 关机和重启开发板的方法
步骤 1 关机
在Linux系统运行的过程中,如果直接拔掉电源断电,可能会导致文件系统丢失某些数据,建议断电前先使用poweroff命令关闭开发板的Linux系统,然后再拔掉电源。
[root@openEuler ~]$ poweroff
步骤 2 重启
使用reboot命令即可重启开发板中的Linux系统。
[root@openEuler ~]$ reboot
3 跑通第一个案例
所有的软件都在一定的系统环境上运行,本次实验我们一窥运行在开发板鲲鹏处理器之上的openEuler操作系统的系统环境。
3.1 前提条件
本课程为openEuler操作系统实验,为了更好地掌握本书内容,阅读本手册的读者应首先具备以下基本条件:
1)具备基本的Linux命令能力。
2)有C语言程序设计基础。
3.2 实验环境及相关知识介绍
3.2.1 实验环境说明
1)香橙派鲲鹏Pro开发板、openEuler22.03操作系统;
2)安装gcc10.3.1版本。
3.2.2 相关知识介绍
鲲鹏处理器是华为基于ARMv8架构开发的通用处理器。作为一款现代处理器,涉及到了体系结构中的SoC、Chip、DIE、Cluster以及Core等概念,从而组成了一个复杂的综合体。
openEuler既是一个操作系统,又是一个开源、免费的Linux发行平台,其致力于打造中国原生开源、可自主演进操作系统根社区。作为操作系统,当前openEuler内核源于Linux,支持鲲鹏及其他多种处理器。
我们可以通过Linux shell命令查看系统信息。
3.2.2.1 快速获取系统基本信息
uname是Linux系统中用于获取系统信息的命令,其名称来源于"Unix Name"。
uname -m # aarch64
uname -r # i.e. 5.10.0+
uname -a # ...... aarch64 GNU/Linux
以上一系列uname命令分别查看了系统的CPU架构、操作系统内核版本及其他信息。
3.2.2.2 获取CPU详细信息
lscpu是Linux系统中用于显示CPU架构和详细信息的命令。它从“/proc/cpuinfo”文件中提取信息,并以易于阅读的格式展示CPU的相关配置和特性。
lscpu
其可能的输出是:
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
...
3.2.2.3 查看操作系统版本
cat /etc/os-release
可能的显示结果是:
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
从上面的版本信息“22.03 LTS SP4”可以看出,这是openEuler的一个长期支持版(Long-Term Support)。
3.3 进行实验
该实验是编写一个C程序以获取openEuler操作系统上CPU、操作系统的基本信息, 请按以下步骤进行实验:
步骤 2 连接服务器
使用SSH工具(比如:MobaXterm等)从本地电脑通过配置香橙派鲲鹏pro开发板的IP地址(如:192.168.10.8)来连接香橙派鲲鹏pro开发板,并使用root用户及对应密码(openEuler)来登录。
步骤 2 编写源文件
进入目录“~/score_1/03_openEuler”并在该目录下创建一个名为“sysinfo.c”的文件并进行编辑:
mkdir -p ~/score_1/03_openEuler
cd ~/score_1/03_openEuler
使用vi创建代码。
vi sysinfo.c
可以按“i”键进入输入模式,编辑完成后按Esc键,然后输入“:wq”保存退出。
代码如下:
/*
* sysinfo.c
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 函数声明
void get_cpu_info();
void get_os_info();
int main() {
printf("=== CPU 信息 ===\n");
get_cpu_info();
printf("\n=== 操作系统信息 ===\n");
get_os_info();
printf("\n");
return 0;
}
// 获取CPU信息
void get_cpu_info() {
FILE *fp;
char buffer[128];
// 打开/proc/cpuinfo文件
fp = fopen("/proc/cpuinfo", "r");
if (fp == NULL) {
perror("无法打开 /proc/cpuinfo");
exit(EXIT_FAILURE);
}
// 读取CPU信息
while (fgets(buffer, sizeof(buffer), fp)) {
if (strstr(buffer, "CPU architecture")) {
printf("处理器架构: ARMv%s", strchr(buffer, ':') + 2);
break;
}
}
fclose(fp);
}
// 获取操作系统信息
void get_os_info() {
FILE *fp;
char buffer[128];
// 打开/etc/os-release文件
fp = fopen("/etc/os-release", "r");
if (fp == NULL) {
perror("无法打开 /etc/os-release");
exit(EXIT_FAILURE);
}
// 读取操作系统名称
while (fgets(buffer, sizeof(buffer), fp)) {
if (strstr(buffer, "PRETTY_NAME")) {
printf("操作系统名称: %s", strchr(buffer, '=') + 2);
break;
}
}
fclose(fp);
// 打开/proc/version文件
fp = fopen("/proc/version", "r");
if (fp == NULL) {
perror("无法打开 /proc/version");
exit(EXIT_FAILURE);
}
// 读取内核版本号
if (fgets(buffer, sizeof(buffer), fp)) {
printf("内核版本号: %s", buffer);
}
fclose(fp);
}
步骤 3 编译源文件
在终端窗口中编译该文件:
gcc sysinfo.c -o sysinfo
步骤 4 运行
在终端窗口中执行该程式:
./sysinfo
请观察该程序的输出结果。
步骤 5 环境清理
最后在终端窗口删除本次实验所有新产生的文件:
rm -rf ~/score_1/03_openEuler
3.4 本章小结
本文主要介绍香橙派鲲鹏Pro(OrangePi Kunpeng Pro)开发环境搭建,包含镜像烧录、连接与登录开发板、开发板联网、跑通第一个案例,为后续的应用开发打下基础。
4 更多学习
1)更多学习内容请扫码报名参加 “鲲鹏技术学习加油站”。
2)香橙派鲲鹏Pro开发板专区二维码: