引用元
https://www.arduino.cc/glossary/en/
[Bootloader]
> ブートローダは、電源投入時または特定の条件下でマイクロコントローラが実行し、
> フラッシュメモリへのコードのロードを処理する特別なコードです。
> ブートローダがホストからのアップロード要求を受信しない場合、ブートローダは実行をユーザスケッチに渡します。
※ 「D13LED の明暗」は「ブートローダ」か? それとも「ユーザスケッチ」か?
[Firmware]
> ファームウェアはソフトウェアに似ていますが、不揮発性メモリに保存されており、
> RAMにコピーされずにマイクロコントローラによって実行されます。
> 組み込みシステムで使用され、機械コード命令で構成されています。ファームウェアは通常更新可能です。
//-----------------------------------------------------------------------
// 整理前のメモ
//-----------------------------------------------------------------------
http://denki.nara-edu.ac.jp/~yabu/soft/avr/arduino-hard.html
> Arduino UNO の Atmega328Pには、ブートローダというプログラムが書き込んである
> AVR では「内部・外部発振器」は「ヒューズビット」で設定・保持
> (hex ファイルには含まれないので別途書込みが必要)
> 外部発振モードになっていると、外部回路が無いと書込みが出来ない
> 購入直後の Atmega328P は内部発振モードなので外部回路に関わらず書込み可
> Arduino UNO は外部発振回路有り
http://physical-computing-lab.net/arduino/learn_arduino_bootloader_install.html
> ブートローダの役割
> ・COM ポートとして振舞う動作
> ・PC(COM) からの指示によりダウンロード等を行う動作
> ブートローダ修復
> 「書込み用の Arduino」(以下 [書ア])を用意 <- 以下、[書ア] は PC と接続
> [書ア]に [ArduinoISP] を IDE より書込み
> 「ターゲットの Arduino」(以下 [タア])
> [書ア] と [タア] を接続 <- (*1)
> IDE [ツール] [ボード種類]:[書ア]
> IDE [ツール] [書込装置]:[Arduino as ISP]
> IDE [ツール] [ブートローダを書き込む]:実行
(*1)
ICSP 端子
MISO 1 | 2 VCC
SCK 3 | 4 MOSI
/RESET 5 | 6 GND
[タア] [書ア]
1 MISO D12 PD6 T1/#OC4D/ADC9
2 VCC VCC
3 SCK D13 PC7 ICP3/CLK0/OC4A
4 MOSI D11 PB7 PCINT7/OC0A/OC1C/#RTS
5 /RESET D10 PB6 PCINT6/OC1B/OC4B/ADC13
6 GND GND
図には、[書ア] RESET を 220Ω で VCC にプルアップしている
接続説明は UNO [書ア] Leonardo の ATmega とポート機能が同じか確認
//-----------------------------------------------------------------------
他資料:
Arduino 日本語リファレンス
「このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです」となっている