generated at
LUFA MassStorage Bootloader
Windows環境でドラッグ&ドロップでファームウェア書き込みができる(Ubuntuではできない(後述))


ブートローダーのビルド・書き込み
リセットボタンを押すとブートローダーに入るようにする

cd qmk_firmware/lib/lufa/Bootloaders/MassStorage
BootloaderMassStorage.c main() のはじめに MCUSR &= ~0x02; と書く
常に外部リセットフラグをOFFにするため
makefile の該当行をATmega32u4向けに書き換える
makefile
MCU = atmega32u4 ARCH = AVR8 BOARD = LEONARDO F_CPU = 16000000 FLASH_SIZE_KB = 32 BOOT_SECTION_SIZE_KB = 4
make
Pro MicroをArduino as ISPにつなぐ
記憶領域を削除する
avrdude -p m32u4 -c avrisp -P comXXX -b 19200 -e -v
ヒューズビットを書き込む
avrdude -p m32u4 -c avrisp -P comXXX -b 19200 -U lfuse:w:0x5e:m -U hfuse:w:0x99:m -U efuse:w:0xf3:m -v
HWBE=0 , BOOTRST=1 にする
ブートローダーを書き込む
avrdude -p m32u4 -c avrisp -P comXXX -b 19200 -B 4 -U flash:w:"BootloaderMassStorage.hex" -v


QMKの書き込み
make keyboard:keymap:flashbin
FLASH.bin ができる
Pro Microを接続する
(初回以外は)キーボードのリセットボタンを押す
LUFA BOOT として認識される
LUFA BOOT から FLASH.bin を削除して, 新しい FLASH.bin をドラッグ&ドロップ
LUFA BOOT を「安全に取り外し」

Ubuntuでは
( LUFA BOOT /dev/sdb のとき) sudo dd if=FLASH.bin of=/dev/sdb seek=4
LUFA BOOT をアンマウントする

参考