Note that on new GCC versions you will need to make the following changes to chibios/os/common/ext/CMSIS/include/cmsis_gcc.h
- lines 164 and 190, remove the characters "sp"
on each line, e.g.:
__ASM volatile ("MSR psp, %0\n" : : "r" (topOfProcStack) : );
See this issue for details.
Development of GML keyboards.
- If you clone this without cloning submodules (e.g. using Github Desktop) then you need to run
make git-submodule
before making anything else. - To pull from upstream, see Syncing a fork. If Github desktop was used to clone, upstream is already configured. Essentially, use:
Then push the commit that has been created to update the fork to upstream.
git fetch upstream git checkout master git merge upstream/master
- You just need the arm stuff from install instructions, plus openocd to flash:
brew tap osx-cross/avr brew tap PX4/homebrew-px4 brew update brew install gcc-arm-none-eabi brew install openocd
make gml1
- To flash with openocd, use the
.elf
file in.build
dir in root of project, withopenocd -f ~/Documents/GitHub/brew/share/openocd/scripts/board/stm32f4discovery.cfg -c "program .build/gml1_default.elf verify reset exit"
- Update
.vscode/c_cpp_properies.json
with your brew installation path if necessary.
If you make changes to a submodule, e/g/ lib/chibios
, you can revert these when finished with:
git submodule deinit -f .
git submodule update --init
To flash two boards with dfu, distinguish by serial - find this with dfu-util --list
and then something like
dfu-util -a 0 -S 207F36A9424D --dfuse-address 0x08000000 -D .build/gml1_default.bin; dfu-util -a 0 -S 2073368F424D --dfuse-address 0x08000000 -D .build/gml1_default.bin
This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.
The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.
You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.
The project also includes community support for lots of other keyboards.
QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.
qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.