
同源RISC-V,驱动新生态 —— 为Th1520、SG2042、Spacemit K1...定制的Linux内核项目
RVCK(RISC-V Custom Kernel)是基于Linux内核6.6.y的RISC-V架构同源项目,专注于为RISC-V SoC及开发板提供深度优化的内核支持。目前已完成Th1520、SG2042、Spacemit K1三款SoC及其开发板的同源适配,旨在弥合社区内核与国产硬件的适配鸿沟,加速RISC-V生态落地。
| 项目 | 详情 |
|---|---|
| 架构 | RISC-V 64位,4核U74 + 2核U54,主频最高1.5GHz |
| 制程 | 12nm |
| 核心外设 | GPU(Mali-G52)、NPU(1TOPS)、双千兆以太网、PCIe 3.0、USB 3.0 |
| 特色 | 支持硬件虚拟化、低功耗设计,适合边缘计算与嵌入式场景 |
| 开发板型号 | 主要参数 |
|---|---|
| Th1520-DK | 内存:4GB LPDDR4 存储:eMMC 64GB + microSD卡槽 接口:HDMI 2.0、2x USB 3.0、PCIe插槽、40Pin GPIO 电源:12V/2A |
| 适用场景 | 工业控制、智能家居网关、轻量服务器测试 |
| 驱动类型 | 计划合入内容 | 支持程度 | 进度 | 预计完成时间 |
|---|---|---|---|---|
| 基础外设 | UART、GPIO、I2C、SPI | ✅ 已支持(稳定) | ██████████ 100% | 2024Q1 |
| 存储 | eMMC、SD卡、NVMe(PCIe) | 🟠 已支持(测试中) | █████████ 90% | 2024Q3 |
| 网络 | 千兆以太网(GMAC) | ✅ 已支持(稳定) | ██████████ 100% | 2024Q2 |
| 图形 | Mali-G52 开源驱动(Panfrost) | 🔵 开发中 | ██████ 60% | 2025Q1 |
| 人工智能 | NPU 推理框架适配(TensorFlow Lite) | ⚪ 计划中 | █ 10% | 2025Q2 |
| 维度 | RVCK当前特性 | Mainline现状 | Upstream计划 |
|---|---|---|---|
| 硬件支持 | 完整适配Th1520专属外设(如NPU) | ❌ 仅支持基础架构,无专属外设驱动 | 2025Q1提交NPU驱动补丁至社区review |
| 性能优化 | 针对Th1520调度算法优化,降低5% latency | 🟠 通用调度,未针对该SoC优化 | 2024Q4提交调度优化补丁 |
| 电源管理 | 支持深度休眠(待机功耗<1W) | 🟠 仅基础电源管理 | 2025Q2合并电源管理补丁至mainline 6.10 |
- 编译需使用RISC-V GCC 12.2及以上版本,推荐工具链:
riscv64-linux-gnu-gcc - 当前NPU驱动依赖厂商闭源固件,需单独下载(见
docs/firmware/th1520_npu_fw.tar.gz) - HDMI输出在4K分辨率下可能存在偶发闪烁,建议先使用1080P测试
| 项目 | 详情 |
|---|---|
| 架构 | RISC-V 64位,16核玄铁C910(4发射超标量),主频2.0GHz |
| 制程 | 7nm |
| 核心外设 | 4x 千兆以太网、PCIe 4.0 x16、SATA 3.0、USB 3.1、硬件加密引擎 |
| 特色 | 高性能多核心设计,支持NUMA架构,面向服务器与高性能计算 |
| 开发板型号 | 主要参数 |
|---|---|
| SG2042-Server | 内存:8x DDR4 DIMM插槽(最大256GB) 存储:4x SATA接口 + M.2 NVMe插槽 扩展:PCIe 4.0 x16插槽 x2、OCP 3.0网卡槽 电源:500W 12V直流 |
| 适用场景 | 边缘服务器、分布式存储节点、RISC-V生态性能测试平台 |
| 驱动类型 | 计划合入内容 | 支持程度 | 进度 | 预计完成时间 |
|---|---|---|---|---|
| 多核心管理 | NUMA调度、核心热插拔 | ✅ 已支持(稳定) | ██████████ 100% | 2024Q2 |
| 高速接口 | PCIe 4.0、SATA 3.0 | 🟠 已支持(测试中) | ██████████ 95% | 2024Q3 |
| 网络 | 4x 千兆以太网(多队列) | ✅ 已支持(稳定) | ██████████ 100% | 2024Q1 |
| 存储 | NVMe RAID、SATA阵列 | 🔵 开发中 | ███████ 70% | 2024Q4 |
| 安全 | 硬件加密引擎(国密算法) | ⚪ 计划中 | ████ 40% | 2025Q1 |
| 维度 | RVCK当前特性 | Mainline现状 | Upstream计划 |
|---|---|---|---|
| 多核优化 | 针对C910核心的缓存一致性优化 | ❌ 通用多核调度,性能损失15%+ | 2024Q4提交缓存优化补丁至社区 |
| PCIe支持 | 完整支持PCIe 4.0 x16拆分(x8+x8) | 🟠 仅支持PCIe 3.0,无拆分功能 | 2025Q1合并PCIe 4.0驱动至mainline 6.11 |
| 电源管理 | 支持核心动态调频(DVFS)范围1.2-2.0GHz | ❌ 固定主频运行 | 2025Q2提交DVFS补丁 |
- 开发板功耗较高(满载约120W),需使用配套500W电源,避免供电不足导致宕机
- NUMA架构下需通过
numactl工具绑定进程核心,否则可能出现性能波动 - 当前PCIe 4.0与部分NVMe硬盘存在兼容性问题,推荐测试列表见
docs/compatibility/sg2042_nvme_list.md

左:Spacemit K1 SoC封装图 | 右:开发板最小系统图
| 项目 | 详情 |
|---|---|
| 架构 | RISC-V 64位,2核E24(实时核)+ 2核U74(应用核),主频1.2GHz |
| 制程 | 22nm |
| 核心外设 | 低功耗蓝牙(BLE 5.0)、WiFi 6、LCD控制器、ADC/DAC、实时时钟(RTC) |
| 特色 | 混合实时核设计,待机功耗<50mW,适合物联网与穿戴设备 |
| 开发板型号 | 主要参数 |
|---|---|
| K1-IoT-DK | 内存:512MB LPDDR3 存储:16GB eMMC 接口:BLE/WiFi天线、LCD接口(40pin)、2x UART、I2C传感器接口 电源:5V/1A(支持电池供电) |
| 适用场景 | 物联网网关、智能穿戴设备原型、低功耗嵌入式产品开发 |
| 驱动类型 | 计划合入内容 | 支持程度 | 进度 | 预计完成时间 |
|---|---|---|---|---|
| 低功耗管理 | 深度睡眠模式、RTC唤醒 | ✅ 已支持(稳定) | ██████████ 100% | 2024Q2 |
| 无线连接 | WiFi 6(802.11ax)、BLE 5.0 | 🔵 开发中 | ████████ 80% | 2024Q4 |
| 显示 | LCD控制器(MIPI-DSI) | 🟠 已支持(测试中) | █████████ 90% | 2024Q3 |
| 传感器接口 | ADC/DAC、I2C传感器适配 | ⚪ 计划中 | ████ 40% | 2025Q1 |
| 维度 | RVCK当前特性 | Mainline现状 | Upstream计划 |
|---|---|---|---|
| 实时核支持 | 支持E24核RT_PREEMPT实时调度(延迟<10us) | ❌ 无实时核调度支持 | 2025Q1提交实时核补丁至社区 |
| 低功耗优化 | 自定义电源管理策略(待机功耗50mW) | 🟠 标准功耗管理(待机>200mW) | 2024Q4提交低功耗补丁至mainline 6.10 |
| 无线驱动 | 适配Spacemit自研WiFi/BLE芯片 | ❌ 无对应驱动 | 2025Q2开源驱动并提交至社区 |
- 电池供电时需禁用部分高功耗外设(如LCD背光),否则续航可能<4小时
- 实时核与应用核通信需使用
rpmsg机制,示例代码见samples/spacemit_k1/rpmsg_demo.c - WiFi 6当前仅支持2.4GHz频段,5GHz支持将在2024Q4驱动更新中添加
- 源码仓库:https://github.com/RVCK-Project/rvck
- 贡献指南:见
Documentation/process/contributing.rst - 问题反馈:提交Issue至GitHub仓库或发送邮件至rvck-maintainers@list.riscv.org
- 社区交流:加入Slack频道
#rvck-project

RVCK Project —— 共建RISC-V Linux生态未来
- 支持程度:
- ✅ 已支持(稳定):经过长期测试,功能稳定可用
- 🟠 已支持(测试中):基本功能实现,需进一步验证兼容性
- 🔵 开发中:核心功能开发中,部分接口可调试
- ⚪ 计划中:待排期开发,需求已明确
- Mainline现状:
- ❌ 功能缺失/存在明显缺陷
- 🟠 功能基础但未优化
- ✅ 功能完善(仅标注于完全适配场景)

