【合集】Firefly × 中山学院 · Linux 基础与端侧 AI 开发课程

课程说明

本课程由 Firefly 开源社区与电子科技大学中山学院共同开展,面向在校学生提供线下嵌入式 Linux 与端侧 AI 开发训练。

课程分为嵌入式 Linux 与端侧 AI 开发,各配一套教学平台:

课程 教学平台
嵌入式 Linux Firefly ROC-RK3576-PC 板子
端侧 AI 开发 Firefly AIBOX PRO KIT 开发套件

课程内容分为两部分:课堂讲解与动手实验在课上进行;讲义、实验说明与答疑沉淀在论坛。

一、课程定位

1.1 嵌入式 Linux 课程

多数同学对 Linux 设备上电有以下疑惑:

  • 第一条指令在哪里执行?
  • 内核由谁加载?
  • 命令行如何出现?
  • 外设又是如何被内核识别的?

本课程以一块真实的板子为对象,把这套机制逐级展开:

Reset → BootROM → 前级 Loader → U-Boot → Kernel → rootfs → init / shell

在此基础上进一步讲解:

  1. 内核如何借助设备树描述硬件
  2. 如何通过统一的设备模型管理外设
  3. Input 与 V4L2 两个子系统如何把按键、摄像头等外设交给用户态程序

1.2 端侧 AI 开发课程

多数同学对模型如何真正落到一块Linux设备上缺乏完整认识:

  • 模型文件是什么格式?
  • 算力从哪里来?
  • 量化之后损失了什么?
  • 大模型的推理过程与卷积网络有何不同?

本课程以 AIBOX PRO KIT 为对象,把这条链路逐级展开:

数据 → 模型 → 训练 → 转换与量化 → 端侧推理(NPU)→ 应用 / Agent

内容自下而上分三层推进:

  1. 先建立深度学习与端侧推理的基本概念
  2. 再动手完成模型的转换、量化与板端部署,并读懂精度与性能数据
  3. 最后进入大模型的生成原理与 Agent 应用

二、教学平台与 SDK

2.1 Firefly ROC-RK3576-PC 板子

参数:

项目 参数
SoC Rockchip RK3576(8nm)
CPU 8 核 64 位:4× Cortex-A72 + 4× Cortex-A53,主频最高 2.2 GHz
GPU / NPU Mali G52 MC3 / 6 TOPS NPU
启动介质 eMMC / MicroSD
调试串口 1500000 8N1
SDK Firefly Linux SDK,交叉编译,在 x86_64 主机上执行

SDK 关键目录结构:

.
├── build.sh        # 统一编译入口
├── device/         # 编译配置、分区表 parameter
├── kernel/         # Linux 内核源码
├── u-boot/         # U-Boot 源码
├── rkbin/          # Rockchip 预编译二进制(DDR init / BL31)
└── prebuilt_rootfs/  # 预编译好的根文件系统

官方维基:

2.2 Firefly AIBOX PRO KIT 开发套件

参数:

项目 参数
架构 主控模组 + AI 协处理模组
主控模组 Core-3588JD4(Rockchip RK3588,8 核 64 位,Mali-G610 MP4 GPU)
主控 NPU 6 TOPS(INT8)
协处理模组 RK1828:板载 5 GB DRAM,20 TOPS(INT8)
操作系统 Linux(Debian / Ubuntu,kernel 6.1)

PC 侧负责转换与量化,板端负责部署与推理:

工具 运行位置 用途
RKNN-Toolkit2 PC 视觉与小模型(分类 / 检测 / 分割等)的转换、量化、精度与性能评估
RKNPU2 板端 C / C++ 推理接口(librknnrt.so)
RKNN-Toolkit Lite2 板端 Python 推理接口
RKLLM-Toolkit PC 大模型量化(w4a16 / w8a8)并转换为 .rkllm
RKLLM Runtime 板端 经 NPU 驱动推理大模型(librkllmrt.so)
RKNN3(RK1828) PC + 板端 协处理器专属工具链,与 RKNN-Toolkit2 不兼容

官方维基:

三、课程资料

课程总纲:

3.1 嵌入式 Linux 课程

3.1.1 从上电到 Linux 命令行——启动流程与 U-Boot

  1. 嵌入式 Linux 整体启动链路
  2. BootROM、SPL 与 U-Boot 的基本职责
  3. U-Boot 的核心功能与启动过程
  4. U-Boot 常用命令与环境变量
  5. Linux Kernel 启动参数
  6. 使用 U-Boot 手动启动 Kernel

课程PPT:从上电到+Linux+命令行—启动流程与+U-Boot.pptx (326.5 KB)

概念补充:

答疑与讨论贴: [第1课时] 答疑与实验讨论

3.1.2 从源码到可运行系统——Kernel 编译与设备树

待补充。

3.1.3 Linux 设备模型与 Input、V4L2 子系统

待补充。

3.2 端侧 AI 开发课程

3.2.1 深度学习基础与端侧 AI 应用

待补充。

3.2.2 端侧推理适配与实例讲解

待补充。

3.2.3 大模型生成原理与 Agent 应用

待补充。

四、提问与分享

课程各课时均设有专门的「答疑与实验讨论」帖,问题统一发布至该帖,请勿在各分帖下追问,以便后续同学查阅。

在提问之外,鼓励同学主动发布以下三类内容:

类型 适用场景 价值
疑问帖 已自行查阅并尝试,仍未解决 同类问题通常具有共性,讨论结果可供他人参考
分享帖 解决具体问题、完成实验,或发现文档未覆盖的细节 减少他人的重复试错,并作为讲义改进的输入

发布方式:标题格式、正文结构及各部分写法均整理于 发帖指南:疑问帖与分享帖模板。

课程激励:课程将依据发帖质量、实验完成度与课堂参与情况综合评定,表现优秀的学生可获得 Firefly 官方赠送的礼品。