快速上手
RME 仓库提供内核与架构移植;微控制器工程生成在 RVM 里。本页说明该从哪个 入口开始,以及每个入口实际交付什么。
微控制器:使用 RVM
在 MCU 上,RME 是 RVM 下的 用户态库。RVM 为芯片、工具链和 IDE 生成工程,并提供虚拟化层,让 RME 能与其它 裸机应用或 RTOS 共存。
要求
- 带 MPU 的微控制器;
- 至少 64 KB ROM / 20 KB RAM(推荐 128 KB / 64 KB);
- 受支持的工具链:GCC 或 Keil uVision;
- RVM 仓库及其工程生成器。
典型流程:
- 把 RVM 与 RME 仓库克隆为同级目录;
- 在 RVM 的工程配置中选择目标芯片与工具链;
- 生成工程(Makefile 或 Keil);
- 构建、烧录并打开控制台。
RME 仓库刻意不为每颗 MCU 提供一个工程。这些知识在 RVM 里,新板卡是配置 变更,而不是再复制一份内核。
应用处理器
仓库里有少量 MPU 目标的工程树,适合 bring-up 和研究,但不是生产发行版:
| 工程 | 目标 | 注意事项 |
|---|---|---|
Project/MFGCC-XC7Z020 | Zynq-7020(Cortex-A9) | 单核移植;LGPL v3+ |
Project/GCC-RV64V | QEMU-VIRT RV64 | 需要同级 M7M03_Anomalocaris 初始化镜像 |
Project/VSCODE-GCC-X64 | x86-64 | 脚手架;当前镜像不可启动 |
Project/Immature/* | DSP / Eclipse / AURIX | 实验性 |
如果目标是今天就能工作的系统,请从带 MPU 的微控制器 + RVM 开始。MPU 一侧才是 可测量、可复现的路径。
仓库结构
M7M01_Eukaron/
├─ Include/
│ ├─ rme.h 公共 API 与系统调用号
│ ├─ Kernel/rme_kernel.h 内核对象与 API 定义
│ └─ Platform/ A6M、A7M、A7A、RV32P、RV64V、X64、Immature/C66X
├─ Source/
│ ├─ Kernel/rme_kernel.c 与架构无关的内核(约 8k 行)
│ ├─ Platform/ 各架构的 HAL 与上下文切换
│ └─ Benchmark/ 线程切换基准
├─ Project/ x64、RV64V、Zynq 与实验性工程
└─ Document/ R4T1 手册与 LaTeX 源工具链
- GCC / Clang-LLVM —— 开放移植的主要工具链;
- Keil uVision(ARMCC/ARMCLANG) —— 支持 ARM 微控制器移植,并用于最佳 MCU 实测数据。
其它工具链目前不支持。在 MCU 上请使用 RVM 生成器,而不是手工拼 include 路径。
手册
R4T1 技术参考手册是 API、权能模型、内核调用实现和移植流程的权威描述。
手册暂未内嵌到本站,会直接在 GitHub 打开。当移植与手册不一致时,请以 Include/rme.h 为准交叉核对 API。
