AVRISP mkIIとAVR Studio 4で始めるAVRマイコン開発

これまでKeinSoftでは、AVRマイコンの工作例をいくつか紹介してきたが、いずれもLinux環境を使っていた。

今回は基本に立ち返り、Windows環境で、ATMEL純正のツールを使ったAVRマイコン開発の「はじめの一歩」を解説してみる。

とりあえず、LEDを点滅させてみたい

LEDを点滅させるには、下図のような簡単な回路でできます。今回は写真のようにブレッドボードで回路を組んでみましょう。

なにを準備すればいいの?

ハードウェアの準備

 

テスト用マイコン回路  

 

回路図のとおりに回路を作るには、次の部品が必要です。ブレッドボードを使うと、半田付けをしなくてもよく、手軽に部品を差し替えられるので、試作や実験のときに重宝します。  
 

 

ISP(In-System Programming)プログラマ

パソコンで開発したマイコン用のプログラムをマイコンに書き込むために必要な装置です。AVRマイコンの製造元であるATMEL純正のプログラマを用意しておくと、いろいろな面で安心です。

 

   

ISPプログラマとマイコンをつなぐクリップ  

 

AVRISP mkIIには、6ピンのソケットがついており、マイコンを搭載した基板の方にISPコネクタがついているときは、そのまま接続できます。  
 

 

しかし、自作の基板では、ISP用のコネクタを作るのは面倒です。そこで、洗濯ばさみのようなICクリップをつかって、マイコンとISPプログラマをつなぎます。
 

クリップは、AVRISP mkIIのケースを開けて、最初についているケーブルと差し替えます。基板上で"1"と書いてあるところが、ソケットの▲印のついた端子の位置となるようにしてください。

パソコン(Windows XP/Vista)

マイコン用のプログラムを開発したり、開発したプログラムをマイコンに転送したりするために必要です。WindowsXPの方が軽快に動作しますが、Vistaでも大丈夫です。新しいパソコンでも使えるわけです。

なお、Linuxでも開発できます。AVR-GCCや書き込みソフトavrdudeなどを別にインストールする必要があります。

ハードウェア、私はここでそろえました  Webショップの紹介  

 

電子部品やISPプログラマは、次のようなWebショップでそろえることができます。  

 

ソフトウェアの準備

C言語開発環境

AVRマイコンのプログラムを開発するためのC言語コンパイラやリンカは、AVR-GCCというオープンソースのものが便利です。Windows環境でAVRマイコンの開発環境一式を一気にインストールできるパッケージがWinAVRです。

統合開発環境

マイコンシステムの開発は、プログラムのソースコードを入力したり、ビルドして実行可能プログラムを生成したり、実行可能プログラムをマイコンに書き込んだりと、いろいろなソフトウェアを使いながら行います。これらの操作をひとつのソフトから実行できるソフトを統合開発環境といいます。AVRISP mkIIには、AVR StudioというATMEL純正の統合開発環境が添付されています。

AVRISP mkIIのデバイスドライバ

AVRStudioをインストールするときに、何でも"YES", "ACCEPT"としていれば、すでにAVRISP mkIIのデバイスドライバはハードディスクにコピーされています。初めてAVRISP-mkIIをパソコンに接続したときに、自動的にデバイスドライバがインストールされます。

ハードウェアを組み立てよう

図を参考にして、ブレッドボードに部品を挿していきます。

ソフトウェアを開発しよう

先ほど組み立てたハードウェアに、LEDが点滅するプログラムを書き込んでみましょう。

AVRStudioの起動

[スタート]-[すべてのプログラム]-[Atmel AVR Tools]-[AVR Studio 4]と順にクリックしていきます。


[New Project]をクリック

プロジェクトを設定しよう


[Project type:]はAVR GCCをクリック

[Project name:]は led-tiny2313 と入力

[Location]は、ファイルを保存するフォルダ名ですが、初期状態では、ログインしているユーザのドキュメントフォルダ内の"default"というフォルダが指定されます。図では、"kaimu"というユーザ名の場合です。日本語のユーザ名ではうまくいかないかもしれません。うまくいかなかったら、英字のみのユーザ(コンピュータの管理者権限あり)をWindowsに登録し、そのユーザでログインしなおしてください。

[Next>>]をクリック


[Debug platform:]は"AVR Simulator"をクリック。

[Device:]は、"ATtiny2313"をクリック

[Finish]をクリック

ソースコードを入力しよう


PB0に接続したLEDを点滅させるプログラムのソースコードをウインドウ中央のエディタに入力します。

	#include <avr/io.h>
	int main(void)
	{
		volatile long i;
		PORTB = 0xff;
		DDRB = 0xff;

		while(1) {
			PINB |= _BV(PB0);
			for (i = 5000; i > 0; i--);
		}

		return 0;
	}
			

[File]-[Save]をクリックするか、[CTRL]キーを押しながら[S]キーを押せば、プログラムがハードディスクに保存されます。

ビルド(ソースから実行形式プログラムに変換)

ソースコードは、人間が見て分かりやすいようにC言語で書かれています。これをマイコンで実行するには、実行形式のファイル(HEXファイルといいます)に変換する必要があります。これをビルドといいます。

[Build]-[Build All]をクリックすると、ビルドを実行します。

問題なくビルドされると、左下のBuildウインドウに、"Build succeeded with 0 Warnings..."と表示されます。

ソースコードが間違っている場合には、左下のBuildウインドウに、"error"メッセージが表示されるので、そこをダブルクリックすると、間違いの付近にカーソルが移動するので、よく見て直しましょう。普通は、エラーのあった行か、その上の行に間違いがあります。

プログラムをマイコンに書き込もう

AVRISP-mkIIとパソコンをUSBケーブルで接続します。さらに、ICテストクリップでATtiny2313Vをはさみます。隙間がないようにしっかりとはさんでください。さらに、マイコン回路の電池ボックスに電池をセットします。準備が整うと、AVRiSP-mkIIにある2箇所のLEDが緑色に点灯します。

AVRStudioのメニューで[Tools]-[Program AVR]-[Auto Connect]をクリックし書き込みダイアログを表示します。

もし、自動的に接続できない場合には、[Tools]-[Program AVR]-[Connect...]をクリックし、図のように[Platform:]には"AVRISP mkII",[Port:]には"USB"を選択し、[Connect]をクリックします。


[Flash]セクションの[Input HEX File]をクリックして、右端の[...]をクリックします。書き込みたい実行形式のファイル"led-tiny2313.hex"を指定します。図では、kaimuというユーザの場合を示しています。

[Flash]セクションの[Program]をクリックします。

マイコンに接続されたLEDがピカピカと点滅しましたか?うまくいかない場合には、回路の接続を点検したり、ソースコードの間違いを探したりしてください。


(C) 2009. KAIMUNANTAI, KeinSoft. All rigths reserved.