しなぷすのハード製作記

Arduino Uno用ブートローダライタシールドキットサポートページ(4)

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ
Arduino Uno用ブートローダスケッチライタシールドキット 商品名 Arduino Uno用ブートローダスケッチライタシールドキット
税抜き小売価格 1200円
販売店 スイッチサイエンス
2015年10月27日 暫定公開。
2015年10月31日 正式公開。

11.ブートローダを使わずにATmega328Pにスケッチを書き込む方法

Arduino Uno用ブートローダライタシールドキットでは、ブートローダを使わずに、直接ATmega328Pにスケッチを書きこむ事もできます。

ブートローダを使ってスケッチを書き込む方法と、ブートローダを使わずにスケッチを直接書き込む方法の長所・短所を、表を使って簡単に説明します。

表3、スケッチの書き込みにブートローダを使う方法とブートローダを使わない方法の比較

ブートローダを使う方法 ブートローダを使わない方法
長所
  • 安価で小型なUSBシリアル変換器をターゲット基板に差し込むことで、スケッチを簡単に書き換えられる。
  • Arduino IDE上でのスケッチの書き換えの操作が、本家のArduinoと同じになる。
  • ブートローダによるスケッチの転送速度は、ブートローダを使わないICSPによるスケッチの転送速度より、通常は高速なため、大きなスケッチを書き換える場合は、ブートローダを使うほうが高速になる。
  • スケッチの起動が高速。
短所
  • マイコンのリセット時に、スケッチがシリアルポートから書き込まれてこないかを、毎回ブートローダがチェックするので、スケッチの起動が遅くなる。
  • スケッチの書き換えには、高価で大型のICSPライタ(例えばArduino Uno用スケッチライタシールドとArduino Unoとの組み合わせ)が必要。

要約すると、Arduino互換マイコンのをターゲット基板に組み込んだ後に、スケッチを書き換える可能性があるなら、おおむねブートローダを使う方が 便利です。逆に、スケッチは基板製造時に書き込めば十分で、スケッチを後から書き換える可能性がない用途には、おおむねブートローダを使わない方法が便利です。

ブートローダを使わずに、直接ATmega328Pにスケッチを書き込むには、以下の手順に従ってください。

なお、この方法でスケッチを書き込んだATmega328Pを動作させるには、、外部クロック源として16MHzの水晶振動子が必要になります。

【手順1】ブートローダライタシールドをArduino Unoに装着し、CN3(KILL RESETと書いてあるピンヘッダ)からジャンパピンを取り除く
写真32(再掲)、Arduino Unoにブートローダライターシールドを装着し、CN3のジャンパピンを取り除く
↑ 画像をクリックすると拡大
写真32(再掲)、Arduino Unoにブートローダライターシールドを装着し、CN3のジャンパピンを取り除く
【手順2】Arduino UnoとパソコンをUSBケーブルで接続する。
【手順3】Arduino IDEを起動し、ファイル→スケッチの例メニューからArduinoISPのファームウェア(スケッチ)を開く
図1(再掲)、ArduinoISPのスケッチを開く
図1(再掲)、ArduinoISPのスケッチを開く
【手順4】ツール→マイコンボードメニュー(Arduino IDE 1.0.Xの場合)を開いてArduino Unoを選択する
図2(再掲)、Arduino Unoを選択する (Arduino IDE 1.0.Xの場合)
図2(再掲)、Arduino Unoを選択する
(Arduino IDE 1.0.Xの場合)

注:Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→ボードメニューになります。

図3(再掲)、Arduino Unoを選択する (Arduino IDE 1.6.Xおよび1.7.Xの場合)
図3(再掲)、Arduino Unoを選択する
(Arduino IDE 1.6.Xおよび1.7.Xの場合)
【手順5】ツール→シリアルポートメニュー(Arduino IDE 1.0.Xの場合)でポート番号(COM番号)を指定する
図4(再掲)、ポート番号を指定する (Arduino IDE 1.0.Xの場合)
図4(再掲)、ポート番号を指定する
(Arduino IDE 1.0.Xの場合)

注1:上の図ではCOM3を選んでいますが、実際にはご自分の環境に合わせてポート番号を指定してください。

注2:Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→ポートメニューになります。

図5(再掲)、ポート番号を指定する (Arduino IDE 1.6.Xおよび1.7.Xの場合)
図5(再掲)、ポート番号を指定する
(Arduino IDE 1.6.Xおよび1.7.Xの場合)
【手順6】 Arduino UnoにArduinoISPのスケッチを書き込む

下の図の様に、右矢印ボタンをクリックして、ArduinoISPのスケッチをArduino Unoに書き込みます。

図6(再掲)、ArduinoISPのスケッチを書き込む
図6(再掲)、ArduinoISPのスケッチを書き込む

ArduinoISPのスケッチが正常に書き込めると、HeartbeatのLED(LED2)が明るくなったり暗くなったりを繰り返します。

写真33(再掲)、Heartbeat LEDの点滅
↑ 画像をクリックすると拡大
写真33(再掲)、Heartbeat LEDの点滅
【手順7】CN3にジャンパピンを装着する
写真34(再掲)、CN3にジャンパピンを装着する
↑ 画像をクリックすると拡大
写真34(再掲)、CN3にジャンパピンを装着する
【手順8】 ツール→書込装置メニューでArduino as ISPを選択する
図7(再掲)、Arduino as ISPを選択
図7(再掲)、Arduino as ISPを選択
【手順9】書き込みたいスケッチを開く

ここでは例としてBlinkスケッチ(Arduino IDEにサンプルとして付いてくる、LEDを点滅させるスケッチ)を開きますが、実際にはご自分の書き込みたいスケッチを開いてください。

図13、Blinkスケッチを開く
図13、Blinkスケッチを開く
【手順10】 ZIFソケットにマイコンIC(ATmega328P-PU)を装着する

下の写真のように、マイコンをソケットに挿入してから、レバーを倒して固定します。

写真35(再掲)、マイコンのZIFソケットへの挿入
↑ 画像をクリックすると拡大
写真35(再掲)、マイコンのZIFソケットへの挿入
写真36(再掲)、マイコンの固定
↑ 画像をクリックすると拡大
写真36(再掲)、マイコンの固定
【手順11】 ツール→ブートローダを書き込むメニューを選び、ヒューズビットを書き込む

この手順では、マイコンにヒューズビット(動作モードに関する情報)を書き込みます。同時にブートローダも書き込みますが、手順12でスケッチを書き込む際にはブートローダは使用しません。また、スケッチを書き込むと、ブートローダは消去されます。

以前にヒューズビットを書き込んで動作モードを設定したマイコンの場合は、この手順をスキップできます。

ヒューズビットを書き込むには、ツール→ブートローダを書き込むメニューを選んでください。

図14、ヒューズビットを書き込む
図14、ヒューズビットを書き込む

ヒューズビットの書き込み中は、ProgrammingのLED(LED4)が点灯します。

写真37(再掲)、Programming LEDの点灯
↑ 画像をクリックすると拡大
写真37(再掲)、Programming LEDの点灯

しばらくすると、ヒューズビットが書き込めるはずです。

図9(再掲)、書き込み完了メッセージ
図9(再掲)、書き込み完了メッセージ

ヒューズビットの書き込みが終わったら、ProgrammingのLEDは消えます。

写真38(再掲)、Programming LEDの消灯
↑ 画像をクリックすると拡大
写真38(再掲)、Programming LEDの消灯

もし、ヒューズビットの書き込みに失敗すると、ErrorのLED(LED3)が点灯して書き込みが中断します。その場合は、正しい手順で書き込んでいるか再確認の上、もう一度ヒューズビットを書き込んでください。

写真39(再掲)、Error LEDの点灯
↑ 画像をクリックすると拡大
写真39(再掲)、Error LEDの点灯

注:エラーの発生の状況によっては、ErrorのLEDが点灯しない事もあります。必ず画面のメッセージを確認してください。

【手順12】ファイル→書込装置を使って書き込むメニューを選び、スケッチを書き込む

ファイル→書込装置を使って書き込むメニューを選ぶと、スケッチを書き込み始めます。

図15、スケッチを書き込む
図15、スケッチを書き込む

スケッチの書き込み中は、手順11の際と同様に、ProgrammingのLEDが点灯します。

スケッチが書き込み終わると、ProgrammingのLEDは消灯し、次の様なメッセージが表示されます。

図16、書き込み完了メッセージ
図16、書き込み完了メッセージ
【手順13】 マイコンをZIFソケットから外す

ZIFソケットのレバーを立ててからマイコンを取ってください。

続けて別のマイコンに同じスケッチを書き込む場合は、手順10~13を繰り返してください。

広告

12.ブートローダを使わずにATmega168にスケッチを書き込む方法

前章のブートローダを使わずにATmega328Pにスケッチを書き込む方法において、手順9と手順10の間で、ツール→マイコンボードメニュー(Arduino IDE 1.0.Xの場合)でArduino Diecimila or Duemilanove w/ ATmega168を選ぶと、ATmega168にスケッチを書きこむ事ができます。

なお、この方法でスケッチを書き込んだATmega168を動作させるには、、外部クロック源として16MHzの水晶振動子が必要になります。

注:末尾にPの付いたATmega168Pという型番のAVRマイコンがありますが、それにはここに書いた方法でスケッチを書き込めません。後述する方法で書き込んでください。

図17、Arduino Diecimila or Duemilanove w/ ATmega168の選択 (Arduino IDE 1.0.Xの場合)
図17、Arduino Diecimila or Duemilanove w/ ATmega168の選択
(Arduino IDE 1.0.Xの場合)

Arduino IDE 1.6.Xまたは1.7.Xをお使いの場合は、ツール→マイコンボードメニューで一旦Arduino Duemilanove or Diecimilaを選んでから、ツール→プロセッサメニューでATmega168を選びます。

図18、Arduino Duemilanove or Diecimilaの選択 (Arduino IDE 1.6.Xおよび1.7.Xの場合)
図18、Arduino Duemilanove or Diecimilaの選択
(Arduino IDE 1.6.Xおよび1.7.Xの場合)
図19、ATmega168の選択 (Arduino IDE 1.6.Xおよび1.7.Xの場合)
図19、ATmega168の選択
(Arduino IDE 1.6.Xおよび1.7.Xの場合)

次のページでは、ATmega88/88V/168Pにブートローダやスケッチを書きこむ方法を説明します。

ツイート
シェア
このエントリーをはてなブックマークに追加
フォロー
目次へ  前のページへ (1) (2) (3) (4) (5) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 2200円
販売店 スイッチサイエンス 妙楽堂
サポートページ
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
サイトマッププライバシーポリシーお問い合わせ用語集
しなぷすのハード製作記