ArduinoからATmega4809を使う
秋月電子で、40PIN DIPのATmega4809が発売されました。
早速購入して、Arduinoから使える方法を試しました。先人の努力で簡単に実現可能です。
1. 必要なもの
書き込み対象のAtmega4809の他に、次のものを利用しました。
ハードウェア
パーツ | 数量 | 備考 |
Arduino Pro-mini | 1 | |
USB-Serial変換器 USBケーブル |
1 | 5VのFTDIチップの乗ったものを利用 |
ブレッドボート | 1 | |
配線用ケーブル | 適量 | |
積層セラミックコンデンサ(0.1uF) | 4-6 | バイパス用 |
LED, 電流制限抵抗 | 各1個 | 動作確認用 |
ダイオード | 1 |
ソフトウェア
2. ブートローダの書き込み
2.1 Arduino Pro-miniにjtag2updiを書き込んでUPDI書き込み器を作成します
(1) https://github.com/ElTangas/jtag2updi からファイルをダウンロードします。
(2) source フォルダの名前をjtag2updiに変更します。
(3) jtag2updi/jtag2updi.inoをArduino IDEで開きます。(実態は空のファイルですが、コンパイルできます。)
(4)「Arduino Pro or Pro-mini 」(5V,16MHz)を選んで、Arduino Pro-miniに書き込みます。
2.2 MegaCoreXの導入
Arduni IDEにMegaCoreXを導入します。
https://github.com/MCUdude/MegaCoreX#how-to-install あたりを参考にしてください。
2.3 UPDIの接続
作成したUPDIプログラマとATmega4809とは次のように接続します。
Arduino Pro-mini | ATmega 4809 | |
UPDI | D6 (PD6) | UPDI (30PIN) |
+5V | VCC | PIN5, PIN31 |
GND | GND | PIN6, PIN18, PIN32 |
また、書き込み時にPro-miniがリセットされないように、FTDIアダプタ->Pro-miniはDTR端子を繋がないようにします。
(写真のようなアダプターを作成すると簡単です)
2.4 .ブートローダの書き込み
Arduino IDEからMegaCoreXを選んでブートローダを書き込みます。メニュー一番下の「ブートローダを書き込む」を選択します。
これでATmega4809へBootloader (Optiboot)の書き込みが済みました。
これ以降は、FTDIアダプタ経由で書き込みができます。
3. FTDIアダプタ経由でのArduino プログラミング
いよいよブートローダ経由でプログラミングします。
回路図は次のようになります。
Lチカを書き込んで、LEDが点滅することを確認します。
これで完了です。MegaXCoreの関数を使ってプログラミングを堪能してください。
(了)