RDKX5开发板使用流程

79 阅读4分钟

完整工作流程

最简流程(推荐新手):

  1. 下载镜像 → 2. 烧录 SD 卡 → 3. 启动开发板 → 4. 开发应用

完整流程(进阶):

  1. 安装工具链 → 2. 获取/编译镜像 → 3. 烧录 → 4. 启动 → 5. 交叉编译开发

1. 安装交叉编译工具链(可选)

只在需要交叉编译时才需要安装:

  • aarch64-linux-gnu 工具链可以编译任何 ARM 64位架构的程序
  • 针对 ARMv8-A 架构的代码基本通用
  • 但不同芯片可能支持不同的指令集扩展(如 NEON、SVE 等)

方法1:apt 安装(最简单)

# 方法1:apt 安装(最简单)
# 直接安装 Ubuntu 提供的交叉编译工具链
sudo apt-get update
sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

aarch64-linux-gnu-gcc --version  # 验证版本
查看所有安装的交叉编译工具ls /usr/bin/aarch64-linux-gnu-*

方法2:手动下载配置

# 方法2:手动下载配置
# 从官网或镜像下载工具链

wget https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz

# 解压到 /opt
# 配置环境变量

方法3:Linaro 工具链

# 方法3:Linaro 工具链
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
# 从镜像站下载
# 配置环境变量

配置编译环境

针对手动解压到 /opt 的工具链

export CROSS_COMPILE=/opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-
export LD_LIBRARY_PATH=/opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export PATH=$PATH:/opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/
export ARCH=arm64

针对apt安装的

只需要设置这两个(如果需要编译内核/驱动)
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64

1. CROSS_COMPILE(需要,但路径不同)

# 原来的(指向 /opt 下的工具链)
export CROSS_COMPILE=/opt/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu/bin/aarch64-linux-gnu-

# 你现在的(系统已经识别)
export CROSS_COMPILE=aarch64-linux-gnu-

 2. LD_LIBRARY_PATH(不需要)

# 原来的工具链需要手动指定库路径
# 你的工具链库已经在系统标准路径中
# /usr/lib/gcc-cross/aarch64-linux-gnu/

 3. PATH(不需要)

# 你的工具链已经在 /usr/bin/ 中
# 系统默认就会搜索这个路径

 4. ARCH(根据需要设置)

# 只在编译内核时需要
export ARCH=arm64

2. 获取系统镜像

方式1:下载预编译镜像(推荐)

# 直接从官网下载
# 不需要编译
# 省时省力

方式2:编译系统镜像(进阶)

# 下载 rdk-gen
git clone https://github.com/HorizonRDK/rdk-gen.git
# 编译(但可能遇到服务器问题)
sudo ./pack_image.sh

什么情况下需要编译系统镜像

需要自己编译的情况:

  • 深度定制系统(修改内核配置、驱动)
  • 裁剪系统大小(嵌入式应用)
  • 添加私有驱动程序
  • 修改启动流程
  • 学习系统构建过程

 不需要自己编译的情况(大多数场景):

  • 使用开发板进行应用开发
  • 运行 AI 算法和模型
  • 测试和部署应用程序
  • 学习和教学
  • 使用标准功能

3. 烧录到 SD 卡

工具选择:

# Windows:
- Rufus(推荐)
- balenaEtcher
- Win32DiskImager

# Linux:
- dd 命令
sudo dd if=image.img of=/dev/sdX bs=4M status=progress

烧录后的完整工作流程

# 1. 开发板上电启动
# 2. 系统自动初始化
# 3. 登录系统
# 4. 配置网络
# 5. 开始开发/使用

Windows 上烧录镜像和ubuntu烧录的区别

Windows 烧录

  • 使用图形化工具(balenaEtcher、Rufus等)
  • 操作简单直观,适合新手
  • 不需要记忆命令
  • 有进度条和提示

[下载镜像] → [安装工具] → [打开工具] → [选择文件] → [选择SD卡] → [点击烧录] → [等待完成] 时间:约10-15分钟(含工具操作)

Ubuntu 烧录

  • 使用命令行(dd命令)
  • 操作快速高效
  • 需要知道设备名
  • 适合熟悉 Linux 的用户

[下载镜像] → [解压] → [插入SD卡] → [lsblk查看设备] → [dd烧录] → [sync] 时间:约5-10分钟(熟练后)

详细对比

特性WindowsUbuntu
工具balenaEtcher/Rufus(图形界面)dd 命令(命令行)
难度⭐ 简单⭐⭐⭐ 需要小心
速度较慢(工具开销)较快(直接写入)
安全性有保护(防止选错盘)需自己确认设备名
进度显示图形化进度条命令行进度
验证自动验证需手动验证
压缩格式自动处理 .xz/.zip需先解压

4. 固件说明

通常不需要烧录固件:

# 出厂已预装 Bootloader
# 只有变砖时才需要重新烧录
# 正常使用完全不用管

固件和系统的区别

项目存储位置谁提供需要烧录?
固件(Bootloader)NAND Flash出厂预装❌ 不需要
系统镜像(Ubuntu)SD 卡你下载✅ 需要

启动流程说明

开发板上电启动流程:
1. NAND Flash 中的 Bootloader 启动(已有)
   ↓
2. 检测 SD 卡
   ↓
3.SD 卡加载系统(你需要烧录的)
   ↓
4. 进入 Ubuntu 系统

5. 开始开发

开发方式:

方式1:直接在开发板上开发

# SSH 连接
ssh sunrise@192.168.x.x

# 安装开发工具
sudo apt install build-essential python3-pip git

# 直接写代码编译
gcc -o app app.c
./app

方式2:交叉编译后部署

# 在 PC 上编译
aarch64-linux-gnu-gcc -o app app.c

# 传输到开发板
scp app sunrise@192.168.x.x:/home/sunrise/

# 在开发板上运行
ssh sunrise@192.168.x.x
./app