QMK开发环境搭建:3 条路径跑通你的第一次固件编译
2026/9/7 15:59:13 网站建设 项目流程

QMK开发环境搭建:3 条路径跑通你的第一次固件编译

【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware

读完后你会得到一个能用的 QMK开发环境搭建成果:给一把键盘名和一个键位图名,qmk compile就能吐出可直接刷写的 .hex。Windows、macOS、Linux / WSL、FreeBSD 都能走通,三条路径任选其一。

先说清楚:QMK 编译到底要装哪几样

别急着敲命令,先把"购物清单"过一遍。QMK 编译的本质,就是把仓库里的 C 代码翻译成芯片能执行的机器码,再让你用一条命令拿到固件文件。最小依赖集就六样:

组件干嘛用的要不要装
Git拉 qmk_firmware 仓库、管理子模块必须
Python(3.9+)QMK CLI 靠它跑,编译命令本质是脚本必须
AVR 工具链(avr-gcc)编译 Atmel ATmega32u4 这类老牌芯片键盘是 AVR 就要
ARM 工具链(arm-none-eabi-gcc)编译 STM32 这类新芯片键盘是 ARM 就要
QMK CLIqmk setup/qmk compile/qmk config的入口必须
烧录工具QMK Toolbox / dfu-util / avrdude,把固件写进键盘必须(刷机环节)

两点说明:多数键盘只用其中一类芯片,查一下你键盘的 MCU 型号就能省掉另一套工具链;不确定就都装,体积不大。

挑一条路把 QMK 装完

三条路装出来的东西一样,选你系统上最顺手的。

路径一:官方打包方案,最省心

Windows 首选:装 QMK MSYS。安装器把 Git、Python、AVR 和 ARM 工具链全打包好了,双击装完,打开"QMK MSYS"终端就能用,PATH 都不用操心。

macOS 最省心:用 Homebrew 装 QMK,两行命令的事:

brew tap qmk/qmk brew install qmk/qmk/qmk

Apple Silicon(M 系列)上首次安装会明显慢,这个架构没有现成的工具链二进制,会本地编译,预留 30~60 分钟,别以为卡死了。

Linux / WSL / FreeBSD 一行装:官方 CLI 是 Python 包,pip 直接搞定:

python3 -m pip install --user qmk

路径二:包管理器手动拼装

官方包不覆盖你的发行版、或者你想自己掌控版本,就手动来。Ubuntu / Debian两组命令走完全程,先装通用依赖,再装两套工具链:

sudo apt update sudo apt install -y git python3-pip build-essential libusb-1.0-0-dev libudev-dev pkg-config sudo apt install -y gcc-avr avr-libc avr-gcc gcc-arm-none-eabi

Fedora换成dnf install -y git python3-pip gcc make libusb1-devel avr-gcc arm-none-eabi-gccFreeBSD同理,pkg install -y git python3 avr-gcc arm-none-eabi-gcc avrdude。看着包不少,其实各司其职:libusb / libudev 管 USB 通信,build-essential 是宿主机 C 编译器。

路径三:隔离环境,不污染系统 Python

不想全局装、或者系统 Python 被发行版托管(较新发行版上 pip 装会被 PEP 668 拒绝),用隔离方式:

uv tool install qmk

不想引入 uv 也行,python3 -m venv qmk-venv建个虚拟环境再pip install qmk。Arch Linux 用户直接拿社区包,yay -S qmk-git更省事。

跑通第一次编译:qmk setup → qmk compile 验证闭环

✅ 装完别急着庆祝,先验证闭环。第一条命令是 setup,它会把固件仓库克隆下来(本文基于的仓库为 https://gitcode.com/GitHub_Trending/qm/qmk_firmware)并初始化全部子模块:

qmk setup

第二条,编译仓库里最小的键盘。null 是一块没有实体硬件的虚拟键盘,纯粹用来跑通流水线:

qmk compile -kb null -km default

输出末尾看到这样几行就对了:

Linking: .build/null_default.elf [OK] Creating load file for flashing: .build/null_default.hex [OK] The firmware size is fine - 24404/30720 (6316 bytes free)

看到[OK]就是成了。从这一刻起,你的机器就具备完整的机械键盘固件编译环境,仓库里任意一把键盘都能编。完整编译流程可以看官方文档 docs/getting_started_make_guide.md。

qmk compile 报错?先看这张踩坑速查

⚠️ 你大概率会碰到的问题,别人早就碰过了,直接对表:

现象高发平台一句解法
qmk: command not found全平台~/.local/bin加进 PATH,重载 shell 配置
安装器/构建被杀毒拦截Windows把 QMK_MSYS 目录加排除项,装的时候关掉实时保护
克隆仓库中途断网全平台重跑qmk setup,它会续传
拉了新代码后报缺文件全平台qmk git-submodule,或重跑qmk setup -y
刷机时提示 USB 权限拒绝Linux / WSL加一条 idVendor 为feed的 udev 规则放权
首次编译巨慢macOS Apple Silicon工具链在本地编译,等它跑完,之后正常
WSL 里看不到 USB 键盘WSL用 usbipd 从 Windows 侧把设备直通进来

从"能编译"走到"能刷写"

编出 .hex 只算完成一半,另一半是把它写进键盘。Windows上最省事的是 QMK Toolbox:选文件、点烧录,结束。Linux / macOS走命令行,STM32 用dfu-util、AVR 用avrdude,流程见 docs/flashing.md。刷通之后马上能做的三件小事:去keyboards/目录找到你板子的键位图开始改键;qmk config user.keyboard=<你的键盘> user.keymap=<键位名>设好默认值,以后只敲qmk compile就够;卡住了直接去 QMK 的 Discord 社区问,比搜资料快。

顺手调几个体验项 ⚡

  • 仓库放 SSD:QMK 编译相当一部分时间在读写中间文件,机械盘和 SSD 的差距肉眼可见
  • Windows 编译时关实时保护(或给仓库加排除项):杀毒软件反复扫 .o 文件是 Windows 编译慢的头号原因
  • 内存:4GB 能应付大多数板子,编大型 ARM 板建议 8GB
  • shell 别名alias c='qmk compile',每次敲命令省两下

下一步就是打开 keyboards/ 找到和你硬件对得上的那把键盘,开始改键位了。

【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询