1个不稳定版本
0.1.0 | 2024年1月18日 |
---|
#1793 在 硬件支持
365KB
6K SLoC
RMK
基于cortex-m的键盘固件,具有层/动态键盘映射/vial支持,用Rust编写并在stm32和rp2040上测试。
新闻
Rmk刚刚发布了版本0.1.0,迁移到Embassy!通过迁移到Embassy,Rmk现在拥有更好的异步支持,比以前更容易支持更多MCU,API也更加丰富。有关使用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 许可证,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
依赖项
~15–25MB
~370K SLoC