2 个不稳定版本
0.1.0 | 2024 年 1 月 18 日 |
---|---|
0.0.3 | 2023 年 10 月 26 日 |
#1564 in 硬件支持
555KB
6.5K SLoC
RMK
为 cortex-m 编写的键盘固件,具有层/动态键映射/vial 支持,用 Rust 编写并在 stm32 和 rp2040 上测试。
新闻
Rmk 刚发布版本 0.1.0,迁移到 Embassy!通过迁移到 Embassy,Rmk 现在具有更好的异步支持,比以前更容易支持更多 MCU。有关使用 Embassy 的示例,请查看 boards
文件夹!
先决条件
此 crate 需要 nightly Rust。使用 openocd
(stm32) 或 probe-rs
(rp2040) 进行烧录和调试。
使用方法
您可以使用 RMK 编译自己的键盘固件,或尝试为 stm32h7 和 rp2040 使用的内置固件示例。
编译自己的固件
示例可在 boards
中找到。以下是为创建自己的固件创建简单步骤的说明
- 创建一个 Rust 嵌入式项目,使用
cargo add rmk
将 rmk 添加到项目中 - 选择您的目标,使用
rustup target add <your-target-name>
安装目标。有关目标选择,请参阅 此处 的文档。例如,rp2040 是 Cortex-M0+,因此其目标是thumbv6m-none-eabi
。 - 在项目的根目录中创建
.cargo/config.toml
,在此处指定您的目标。请参阅boards/stm32h7/.cargo/config.toml
- 创建
main.rs
,在 rtic 的mod app
中初始化您的 MCU,创建 usb 轮询任务和键盘任务。请参阅boards/stm32h7/src/main.rs
使用内置示例
rp2040
- 安装 probe-rs
cargo install probe-rs --features cli
- 构建固件
cd boards/rp2040 cargo build
- 烧录它
cd boards/rp2040 cargo run
stm32h7
-
安装 openocd
-
构建固件
cd boards/stm32h7 cargo build
-
烧录
openocd -f openocd.cfg -c "program target/thumbv7em-none-eabihf/debug/rmk-stm32h7 preverify verify reset exit"
-
(可选) 使用 CMSIS-DAP 调试固件
使用 VSCode 打开项目,按
F5
,固件将被自动编译和烧录。烧录后开始调试会话。请检查.vscode/tasks.json
和.vscode/launch.json
以获取详细信息。
路线图
列表中有许多待办事项,欢迎任何贡献 :)
- 支持 rp2040
- 基本键盘功能
- 层
- 系统/媒体键
- Viola 支持
- Eeprom
- 键盘宏
- 编码器
- RGB
- CLI 工具
许可证
Rmk 许可证为以下之一
- Apache License,版本 2.0(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
依赖
~174MB
~6M SLoC