1.ATmega328P (Old Bootloader) が無い?
Arduino IDE を バージョン 2.x に更新した後、久しぶりに Arduino NANO 互換ボードを使おうと思ったら[ツール]メニューに Processor: "ATmega328P (Old Bootloader)" が見当たりません!? あれれ? 以前の1.8.xではこの辺にあったのに? と焦ったのですが Arduinoのフォーラムで解決策をみつけました。原文はこちらです ⇩⇩
ツール > ボード > Arduino AVR Boards > Arduino Nano を選択します。
これで [ツール] > [プロセッサ] メニューが追加されます。
その中から「ATmega328P (Old Bootloader)」を選択できます。
な~んだ、そーだったのかぁ~、ということであっけなく一件落着! なわけですが・・
2.ブートローダとは? 書込み装置とは?
ところで (Old Bootloader)って何? Old じゃないのもあるのかな? 新しいのと何が違うの? ってゆーか、そもそも Arduino の「ブートローダ」とは?
更に「ツール」メニューの下部の「書き込み装置」と「ブートローダを書き込む」というのも気になります。どんな装置で、どこに何を書くの? と次から次へと疑問が湧きあがってきました。何年か前に初めてArduino IDEをインストールした日から今日まで一回もこれらをクリックした記憶がありません。 基本的、基礎的なことのように思えるけど必要ないから知らなかったのです・・ ということで検索しました。
下記ページにブートローダの簡潔な説明がありました。少し引用させて頂きます。
Arduino におけるブートローダーとは、外部プログラマ (書込装置) を必要とせずに 新しいファームウェアをインストールできる小さなファームウェアの事です。 これがないと Arduino ボードは USB 経由でスケッチを転送できません。
よって、何らかの原因でブートローダーが破損してしまった場合には、ブートローダーを再度書き込む必要があります。
これを図で表すと、こんな ⇩⇩ イメージでしょうか。
なるほど、幸いにもブートローダーが壊れるようなことが無かったから知らずにきたんだ。このページには様々な「書込み装置」について写真と図入りの丁寧な解説もあります。
■ Pro Mini, Pro Micro, ATtiny85 のような超小型の Arduino にはUSBコネクタがありません。こういったボードにプログラムを転送する際にも「書込み装置」が必要になるということですね。
■ 私の環境 Arduino IDE 2.3.2 で「書込み装置」を確認したところ Arduino / ESP32 / ラズパイPico でかなり異なってました。
■ ATMega328P / ATMega328P (Old Bootloader) / ATMega168 の違いについては下記ページの考察が参考になりました。
【他の投稿記事:Raspberry Pi Pico】
【他の投稿記事:ESP32】