ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

第一次就编出固件:QMK 键盘固件开发环境快速搭建完整指南

第一次就编出固件:QMK 键盘固件开发环境快速搭建完整指南 第一次就编出固件QMK 键盘固件开发环境快速搭建完整指南【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmwareQMKqmk_firmware是面向 Atmel AVR 与 ARM USB 芯片族的开源键盘固件你手上一把支持 QMK 的机械键盘能不能换键位、加宏、改灯效全看下面这套环境搭得对不对。照这篇走下来你将在一小时内拥有一套可用的 QMK 开发环境并亲手编出第一个.hex固件文件。整个流程跨平台只有五条主线任何操作系统都一样选平台 → 装 CLI → setup 初始化 → 编译验证 → 刷写准备。后面每个平台小节只讲它和这条主线的差异共性问题PATH、setup、工具链各只讲一次。一条命令装好 QMK CLI四大平台对照表所有平台最终都依赖同一个 Python 写的qmk命令行工具只是怎么装上它不同平台推荐装法差异点Windows安装 QMK MSYS 全家桶MSYS2 CLI 工具链打包好的安装包从 QMK 官方下载页获取不要裸装 MSYS2 再手工配容易配错 64 位环境macOSbrew tap qmk/qmk然后brew install qmk/qmk/qmkApple Silicon 上工具链没有预编译包首次要本地构建多等 30~60 分钟Linux / WSLpython3 -m pip install --user qmk或用uv tool install qmk隔离安装发行版自带仓库里的 qmk 包基本过时别用包管理器装FreeBSDpkg install -g py*-qmk社区尽力维护遇到问题优先换上面三个平台为什么统一用 CLI 而不是直接 clone 仓库跑make因为 CLI 会替你装 AVR/ARM 交叉编译器、dfu-util 等一整串依赖——手动装的版本错一位编译会在最奇怪的环节报错。⚠️ 装完先验证qmk --version。如果提示command not found跳到下面PATH 统一解法不要以为是安装失败重装。跨平台通用PATH 配置只在这里讲一次qmk装到~/.local/bin或 Windows 下的%LOCALAPPDATA%\Programs\Python\Scripts。找不到命令时echo export PATH$HOME/.local/bin:$PATH ~/.bashrc source ~/.bashrcDebian/Ubuntu 老版本的 bash 默认 PATH 里根本没有~/.local/bin所以 Ubuntu 用户报qmk: command not found的比例异常高这一行就是针对它。qmk setup 初始化仓库、工具链一次到位在任意平台的终端里执行qmk setup过程中所有提示一律回y它做三件事克隆固件仓库含子模块、按你编译目标装 AVR/ARM 交叉工具链、写入默认配置。仓库默认落在~/qmk_firmware想换位置用qmk setup -H 路径指定习惯提 PR 的用户可以用qmk setup 你的用户名/qmk_firmware直接克隆自己的 fork。两个容易踩的坑WSL 用户仓库必须在 WSL 文件系统内如~/qmk_firmware放/mnt/c/...这种 Windows 盘会导致跨文件系统 IO一次编译能慢数倍——这就是WSL 机械键盘固件编译特别慢的头号原因。手动装过仓库的qmk setup会识别现有目录不会重复克隆。编译验证30 秒确认你的 QMK 固件编译环境没装坏qmk compile -kb null -km default选null这个虚拟键盘是因为它不依赖任何真实硬件定义纯验证工具链。成功的话结尾会出现Creating load file for flashing: .build/null_default.hex [OK] * The firmware size is fine只有一行错误时优先看第一行avr-gcc/arm-none-eabi-gcc报 not found 是 setup 没跑完重新执行即可报缺头文件多为子模块没拉全qmk git-submodule补一下再试。工具链对照关系AVR 芯片ATmega32U4 等用avr-gccARM 芯片STM32、RP2040 等用arm-none-eabi-gccqmk setup已按平台装好无需单独处理。刷写前准备bootloader 类型与 USB 权限编译只是上半程把.hex写进键盘才闭环。不同架构刷法不同详见 docs/flashing.md芯片架构典型 bootloader推荐刷写方式AVR (ATmega32U4)DFU / HalfKay / bootloadHIDqmk flash或 QMK Toolbox 图形界面ARM (STM32 Proton-C 等)STM32-DFU:dfu-util目标dfu-utilARM (RP2040)Adafruit Bootloaderqmk flash需 pyocdLinux/WSL 下最经典的卡点是权限编译能过、刷写报dfu-util: Unable to open DFU Device。加一条 udev 规则解决0483是 ST 的厂商号Pro Micro 类键盘多为16c0按报错里的idVendor改echo SUBSYSTEMSusb, ATTRS{idVendor}0483, MODE:0666 | sudo tee /etc/udev/rules.d/50-qmk.rules sudo udevadm control --reload-rules刷不进设备时先按键盘板载复位键或按住 Esc 上电手动进 bootloaderAVR DFU 类一般有 7 秒窗口。新手最常见的五个卡点速查现象原因一步解法qmk: command not found~/.local/bin不在 PATH见PATH 配置一节编译卡得像死机WSL 仓库放在/mnt重跑qmk setup -H ~/qmk_firmware迁回报arm-none-eabi-gcc: not foundsetup 时工具链选项选了 N重新qmk setup选 Y刷写提示设备打不开Linux 缺 udev 规则按上节加规则并重新插拔键盘固件尺寸超限开了调试打印占 flash键位config.h里加#define NO_DEBUG顺手做的三件小事各一行编译加-j$(nproc)并行多核机器编译时间近乎线性下降Windows 上把 QMK 目录加进杀软排除项防止头文件被实时扫描锁住编辑器打开 docs/keymap.md 预览键位写法配合 docs/getting_started_make_guide.md 熟悉make语法环境已经通了剩下的是键位设计的事——现在就去qmk_firmware/keyboards/里找到你键盘的目录编译出属于你自己的第一个键位映射吧。【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表