ポケモン剣盾のマイコン自動化プログラムは多分2系統に分かれてます。
一つはArduino UnoなどのAtmega16U2にdfu-programmerで書き込むタイプ。
もう一つはArduino LeonardoなどのAtmega32U4にArduino IDEを使って書き込むタイプの2つです。
今回はAtmega32U4のIDEで書き込むタイプのプログラムをAtmega16U2にdfu-programmerで書き込む方法を解説します。
HoodLoader2について
HoodLoader2というブートローダーを16U2に書き込むと32U4みたいな使い方ができます。
なのでIDEからAtmega16U2に32U4用プログラムを書き込んで実行することができるのです。
しかしブートローダーを書き込まなくてもできる,簡単な裏技的方法を見つけたので今回はそちらを紹介します。
準備するもの
必要なものは,
- Arduino IDE
- dfu-programmer
- HoodLoader2のBoards Manager
です。一つずつ解説していきます。
Arduino IDE
これはArduinoの公式サイトからダウンロードできます。
dfu-programmer
これの入手先と使い方は過去記事にて解説してるので参照ください。
HoodLoader2のBoards Manager
HoodLoader2のBoards Managerのインストール手順は,
-
- Arduino IDEを起動
- 追加のボードマネージャのURLにURLを入力
- ボードマネージャーを開きHoodLoader2をインストール
です。
1.Arduino IDEを起動
インストールしたArduino IDEを起動して環境設定を開きます。
2.追加のボードマネージャのURLにURLを入力
環境設定の「追加のボードマネージャのURL」に下記のURLを入力して「OK」を押します。
3.ボードマネージャーを開きHoodLoader2をインストール
IDEのメニューから「ツール」>「ボード」>「ボードマネージャ」を開きます。
HoodLoader2があるのでインストールをクリックして閉じます。
HoodLoader2のboards.txtの書き換え
マイコンをSwitchに認識させるためにboards.txtを書き換えます。
ユーザー名\AppData\Local\Arduino15\packages\HoodLoader2\hardware\avr\2.0.5の中にあるboards.txtを開きます。
注:このときメモ帳ではうまく書き換えられないらしいのでVSCodeなどを使ってください。
書き換え個所は4か所で,vid,pidのところを,
HoodLoader2atmega16u2.vid.0=0x0f0d
HoodLoader2atmega16u2.pid.0=0x0092
HoodLoader2atmega16u2.build.vid=0x0f0d
HoodLoader2atmega16u2.build.pid=0x0092
と書き換えてください。
Atmega16U2用のhexファイルの生成
IDEのメニュー>ツールの「ボード」は「HoodLoader2 16U2」を,「Board / Bootloader / USB-Core」は「HoodLoader2 Uno」をそれぞれ選択します。
そしてメニュー>スケッチ>「コンパイルしたバイナリを出力」をクリックします。
hexファイルの書き込み
inoファイルがあるフォルダにhexファイルが2つできるので「~~.ino.HoodLoader2.hex」のファイルをdfu-programmerを使って16U2に書き込みます。
さいごに
今回の方法で16U2に32U4 IDE用プログラムを書き込んで実行させることができます。
しかし,メモリの使用量がけた違いに大きくなります。
なので動作不安定につながったり,そもそもメモリが足りない可能性もあるのでそこはご了承ください。
コメント