2012年1月19日木曜日

USBasp


USBasp はAVR マイコンのプログラマー(書き込み機)です。
以前に紹介した、「Arduino as ISP」のようなものです。
新品の(何もプログラムされていない)Atmega328p にArduino ブートローダを書き込んだり、ブートローダーを使わず(シリアル経由のプログラム転送をせず)にプログラムを書き込む事が出来ます。

Arduino IDE でISP プログラマーを使ってプログラムを転送する場合、以前は設定を自分で書く必要があったのですが、Arduino IDE 1.0 からは設定が不要になりました。

USBasp は設計仕様がオープンになっており、こちらのサイトで回路図やプログラムが公開されています。
今回は手軽に使える市販品を紹介します。(aitendo AVR-USBasp-B 900円)


メーカー(ATMEL)純正のISP プログラマーは AVRISPmkII があります。(秋月で3000円
純正開発環境 AVRStudio (Windows版のみ)などで使う場合はこちらがお勧めです。


購入した aitendo のモノは基板に2011.07 と書かれたものでした。中身のバージョンは分かりません。
以前のバージョンは不評の様で心配でしたが、今回購入したものは Arduino 用として特に問題なく使えました。


Arduino IDE 1.0 でのISP プログラマーの使い方


[1] Arduino ブートローダーの書き込む場合

1) USBasp をUSB ポートに接続する(Mac はドライバ不要。Windows はドライバーのインストールが必要。)
2) Arduino のICSP 端子に接続する(接続ケーブルなどの作成が必要)
3) Tools > Programmer > USBasp を選択
4) ボードの選択
 ・Atmega328p チップにOptiboot (Arduino Uno用)のブートローダを書く場合
  Tools > Board > Arduino Uno
 ・ Atmega328p チップにNon-Optiboot (Arduino Uno以前) のブートローダを書く場合
  Tools > Board > Duemilanove w/ ATmega328
を選択

5) Tools > Burn Bootloader
ちょっと時間がかかります。


firmware のアップデートをしなさい、とメッセージが出ていますが、とりあえず書き込めたようです。
アップデート方法は後日調べてみます。

[2] ISP 経由でプログラムを書き込む場合
1) USBasp をUSB ポートに接続する
2) Arduino のICSP 端子に接続する
2) Tools > Programmer > USBasp を選択
3) Tools > Board を選択
4) File > Upload Using Programmer (または、Shift キーを押しながら転送ボタンを押す)で書き込みを実行

ISP でプログラムを書き込むとブートローダーは上書きされてしまいます。
シリアルポート経由のプログラム転送に戻す場合は、再度ブートローダーを書き込みます。

0 件のコメント:

コメントを投稿