课程说明
本课程由 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
在此基础上进一步讲解:
- 内核如何借助设备树描述硬件
- 如何通过统一的设备模型管理外设
- Input 与 V4L2 两个子系统如何把按键、摄像头等外设交给用户态程序
1.2 端侧 AI 开发课程
多数同学对模型如何真正落到一块Linux设备上缺乏完整认识:
- 模型文件是什么格式?
- 算力从哪里来?
- 量化之后损失了什么?
- 大模型的推理过程与卷积网络有何不同?
本课程以 AIBOX PRO KIT 为对象,把这条链路逐级展开:
数据 → 模型 → 训练 → 转换与量化 → 端侧推理(NPU)→ 应用 / Agent
内容自下而上分三层推进:
- 先建立深度学习与端侧推理的基本概念
- 再动手完成模型的转换、量化与板端部署,并读懂精度与性能数据
- 最后进入大模型的生成原理与 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
- 嵌入式 Linux 整体启动链路
- BootROM、SPL 与 U-Boot 的基本职责
- U-Boot 的核心功能与启动过程
- U-Boot 常用命令与环境变量
- Linux Kernel 启动参数
- 使用 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 官方赠送的礼品。


