LoginSignup
0
0

More than 5 years have passed since last update.

Meishiのファームウェア書き込みで環境をなるべく汚したくない(Mac)

Posted at

Meishi 公式のファームウェアビルド・書き込み方法がどうなっているか

こちらのURLに記述がありますがgit cloneして ./util/qmk_install.sh というコマンドを実行します
このときMacOSの場合 ./util/macos_install.sh が実行され、 homebrewのインストールと以下のコマンドが実行されます

brew tap osx-cross/avr
brew tap PX4/homebrew-px4
brew update
brew install avr-gcc@7 gcc-arm-none-eabi dfu-programmer avrdude dfu-util
brew link --force avr-gcc@7

今回meishiをビルドするのにavr-gccが必要なのはわかるけどdfu-programmerは必要ないし、でもインストールを行わないと make meishi:default (ビルドまで)の実行ができませんでした。

hexファイルをDocker上で作成する

適当なdocker imageを利用してdocker環境上でビルドだけを行います。
詳細な手順は省きますが、Docker上で以下のことを行います

これらが成功すると ./.build ディレクトリに meishi_default.hex などのファイルが作成されます。
これでビルドは完了です

hexをmac上からavrdudeで転送

avrdudeがDocker上で動作すれば問題が無いのですが、avrdudeはUSBデバイスを利用するため、Docker上で扱うには少し面倒です。
そのため、avrdudeだけはmacにインストールを行います。

brew install avrdude

また、先程ビルドしたDocker上のhexファイルも docker cp などで手元に持ってきておきましょう。必要なのはhexのみです。
あとはavrdudeのパラメータをgmk_firmwareのリポジトリから探したりして、実行します。
-P のパラメータのUSBデバイスは接続やリセットスイッチ?を押たびに変わるので、実行毎に調べ直してください。

avrdude -p atmega32u4 -c avr109 \
-U flash:w:$(pwd)/meishi_default.hex \
-P /dev/cu.usbmodem144232101

ただ、このコマンドでも一発で成功しなくて、ハマりかけたんだけど以下の記事が参考になりました。
https://helloworlcl.hatenadiary.jp/entry/2018/04/15/185506

0
0
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
0
0