1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

株式会社ダイヤモンドファンタジー Advent Calendar 2024

Day 23

【自作キーボード】qmk_firmwareのビルド時に躓いたポイント

Last updated at Posted at 2024-12-22

はじめに

前回の記事で自作キーボードに入門した話をさせていただきました。

その中でファームウェアをビルドするときにつまずいたポイントを今回はお話ししたいと思います。

エラー内容と解決策

今回私がビルドしようとしたところ、下記のエラーが出力されてしまいました。

Generating: .build/obj_omkbd_ergodash_rev1/src/info_deps.d                     [OK]
tmk_core/protocol/lufa/lufa.mk:13: lib/lufa/LUFA/makefile: No such file or directory
gmake: *** No rule to make target 'lib/lufa/LUFA/makefile'.  Stop.

このエラーを読んでみるとlib/lufa/LUFA/makefile が見つからないとのこと。参考にした記事を改めて読んでいると以下のように書かれていました。

cloneのあとに「--recursive」オプションを付けている理由は、qmk_firmwareが他のリポジトリをサブモジュールとして参照しているためです。「--recursive」オプションを付けることでサブモジュールも自動でダウンロードしてくれて便利です。

レポジトリをクローンする際に -recursive オプションをつけ忘れていたようです。
なので、以下のコマンドを実行し、ダウンロードし忘れていたサブモジュールをダウンロードします。

$ make git-submodule

さあ、これでと思い再度ビルドしようとするとまたまたエラーが。

Generating: .build/obj_omkbd_ergodash_rev1_sat_via/src/default_keyboard.c       [OK]
sh: avr-gcc: command not found
sh: avr-gcc: command not found
gmake: *** [builddefs/common_rules.mk:225: gccversion] Error 127

今度はavr-gccがないとのことなので、brew でインストールします。今回はavr-gcc 9.4.0をインストールしました。

$ brew install avr-gcc

これで無事にコンパイルできました!

Compiling: quantum/via.c                                                           [OK]
Linking: .build/omkbd_ergodash_rev1_yourkeymap.elf                                 [OK]
Creating load file for flashing: .build/omkbd_ergodash_rev1_yourkeymap.hex         [OK]
Copying omkbd_ergodash_rev1_yourkeymap.hex to qmk_firmware folder                  [OK]
Checking file size of omkbd_ergodash_rev1_yourkeymap.hex                           [OK]
 * The firmware size is fine - 20516/28672 (71%, 8156 bytes free)

まとめ

今回は自分が遭遇したエラーとその対応方法の紹介でした。
とは言っても、最初のエラーは参考にした記事をしっかり読み込んでおけば、回避できたエラーだったと思います。
こういったエラーはどんどんと減らして行けたら良いですね。

ここまで読んでいただきありがとうございました。

参考サイト

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?