Arduino ver 1.6.21でArduino Nanoにスケッチを書き込めない。
ATmega328P(Old Bootloader)に設定すると書ける。
どうやらNanoのBootloaderのバージョンが新しくなったらしい。
なので、新旧のBootloaderが混在する状況になり、上のようにどちらかに設定を合わせなきゃいけないみたい。
手持ちの物にBootloaderを書き込んで、書き込む前と後でBootloaderのチェックサムを比較してみた(※)。
1 2 |
MD5 sum of bootloader = 0x0A 0xAC 0xF7 0x16 0xF4 0x3C 0xA2 0xC9 0x27 0x7E 0x08 0xB9 0xD6 0x90 0xBC 0x02 MD5 sum of bootloader = 0x95 0x4D 0x7F 0xBC 0x83 0x59 0xF4 0x61 0x6A 0x9A 0x2D 0x7A 0x86 0x51 0x11 0x13 |
上が古い方で、下がいま書き込んだばかりのBootloaderのもの。
新しいBootloaderに書き換えたNanoでは、ATmega328P(Old Bootloader)にしなくてスケッチが書き込める。
そしてスケッチの書き込みにかかる時間が短くなる。
参考
「Arduino NanoでArduino NanoにBootloaderを書き込む。」
追記(2018/06/11)
Visual Studio Codeでは[F1]からArduino: Board Configを呼び出して、
新旧どちらかを選択してから書き込む。
(※)
以下 2019/01/18 に追記
チェックサムをどうやって得たのか書いてなかったが、多分これだと思う。
https://github.com/nickgammon/arduino_sketches
http://www.gammon.com.au/forum/?id=11633
Atmega_Board_Detectorというスケッチを書き込んで、調べたいボードをつなぐとシリアル・モニターに表示される。
つなぎ方はブートローダを書き込むときと同じ。