AT90USB162のCPUボードを作成し、Atmel StudioとFlip をそれぞれインストールし、Atmel StudioでLED点灯プログラムを作成してHEXファイルを出力し、FlipでAT90USB162のフラッシュに出力されたプログラムのHEXファイルを使って、作成したプログラムのを書き込み、AT90USB162上で動作を確認します。

使用したソフト開発環境

Atmel Studio 6.2 sp2
Flip 3.4.7.112

ハードウェアの準備

16MHzで動作させたAT90USB162を使用してTeensy 1.0 互換ボードを自作しました。電源はUSBからの5Vを使用しPCから取ります。部品はすべて秋月で購入しました。回路図を次に示します
AT90USB162ボード回路図

上記の回路図に従って、ブレッドボードで作成した互換ボードを次に示します。AT90USB162は表面実装の部品のため、変換基板を使ってブレッドボードに挿入します。右側中央にタクトスイッチを配置し、出来上がったプログラムをフラッシュに書き込むときに使用します。この基板では、下記で作成したプログラムの実行時の状態をキャプチャしています。下側左の緑のLEDが点灯しています。
AT90USB162ボード実装


作成した基板をUSBケーブルを経由してPCに接続し、デバイスマネージャで表示させると、「ほかのデバイス」「AT90USB162DFU」として認識されました。この後、プログラム開発環境をインストールすると、AT90USB162DFUのUSBドライバも一緒にインストールされます。

AT90USB162のプログラム開発

Atmel Studio 6.2 sp2をダウンロードしてC言語によるAT90USB162の開発環境を構築します。以前はAVRといえば「AVR Studio」と「 Win AVR(Cコンパイラ)」の二つを組み合わせて、C言語のソフトを作成していましたが、バージョン6からは、名前がARV StudioからAtmel Studioに変更され、Atmel StudioにはCコンパイラがすでに入っているので、Win AVRのインストールは必要なくなりました。

簡単にインストールの手順を次に示します。インストールを開始すると最初に次のダイアログが表示され、「MicrosoftVisual Studio Isolated Shell」と「Atmel USB Driver」が順次インストールされます。
Atmel Studioインストール開始

MicrosoftVisual Studio Isolated Shell

MicrosoftVisual Studio Isolated Shell

Atmel USB Driver

Atmel USB Driver

続いて自動的に、次のダイアログが表示され、Atmel Studio本体のインストールが開始されます。Atmel Studioのインストールが完了すると、デスクトップ上に、てんとう虫のアイコンが加わります。
Atmel Studio本体のインストール

次に、プログラムを作成します。まず、Atmel Studioを起動し、最初にプロジェクトを作成します。メニューの「new project」をクリックすると、新規プロジェクトの設定画面が表示されるので、「GCC Executable Project」を選択して、OKボタンを押すと次のCPU選択ダイアログが表示されます。ここで「AT90USB162」を選択するとプロジェクトの作成が完了します。
CPU選択ダイアログ

作成したプロジェクトに、次のLED点灯プログラムのコード「Led.c」を作成します。プログラムは、GPIOのPB0からPB7に対して順番に1を設定していき、接続されているLEDを順番に点灯していきます。プログラムをコンパイルするために、メニューのBuildをクリックします。この操作により、プログラムのDebugフォルダに、Led.hexファイルが作成されます。このファイルを使って、AT90USB162のフラッシュに書き込みます。

LED点灯プログラム「Led.c」

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/eeprom.h>

// 時間稼ぎルーチン
void wait()
{
	volatile long t;
	
	for(t=0;t<10000;t++){
		;
	}
}
int main(void)
{
	unsigned char i;
	
	// PORTBを全ビット出力にします。
	DDRB = 0xFF;
	while(1)
	{
		//TODO:: Please write your application code
		for(i=0;i<8;i++){
			// 1ビットずつシフトしながらHを出力します。
			PORTB = (1<<i);
			// 時間待ち
			wait();
		}
	}
}

なお、フラッシュの書き込みもこのAtmel Studioを使用してできます。準備したAVRISP mkII をPCのUSBに接続すれば、Atmel Studioからフラッシュの書き込みができます。しかし今回使用したAT90USB162はUSBを内蔵し、フラッシュ書き込み用のソフトも内蔵しているので次の節で示すFlip ソフトを、フラッシュ書き込みに使用します。


また、AT90USB162のUSBドライバがインストールされており、デバイスマネージャで次のように表示されます。同時に、インストールを選択した「WinDriver」も表示されています。

Flipを使用したAT90USB162のフラッシュへの書き込み

Flipを使用してビルドしたHEXファイルをAT90USB162のフラッシュに書き込みます。インストールの手順を簡単に説明します。インストールを開始すると、次の画面が表示され、最初にJavaのruntimeのインストールが行われます。
Java runtimeインストール

次にFlipのセットアップ画面が表示され、ウイザードに従って操作していくとFlipのインストールが完了します。
Flipインストール開始画面

フラッシュの書き込みは、Flipを起動すると何も選択されていない状態で立ち上がるので、最初にツールバーのICアイコンを選択します。この操作によりCPUのタイプの選択ダイアログが次のように表示されるので、「AT90USB162」を選択します。
CPUタイプ 選択ダイアログ

次に、隣の接続アイコンをクリックすると接続する方法を選択するメニューが表示されます。「USB」を選択すると、次の画面が表示されます。
Flip HEXファイルロード

Fileメニューをクリックし、Load HEX Fileを選択して、ファイル選択ダイアログから作成したDebugフォルダのLED点灯プログラム「Led.hex」ファイルを選択すると、HEXファイルが読み込まれ、完了すると、次のように、画面のステータス表示部分に「Verify Pass」が表示され画面の中央にロードしたHEX File名とそのサイズが表示されます。
Flipフラッシュ書き込み完了

Operation FlowのRunボタンを押すと、AT90USB162のフラッシュに読み込まれたHEXファイルが書き込まれます。

AT90USB162上でのプログラムの実行は、USBケーブルを抜き、以降、USBケーブルを接続するごとに作成したプログラムが実行されます。プログラム実行により点灯しているLEDのキャプチャ画像を、このページのトップに置きます。LEDは3個付けました。そのうち一つが点灯していることがわかります。

再度、AT90USB162のフラッシュを書き換えたいときは、基板上のタクトスイッチを押すと、AT90USB162のフラッシュ書き込みソフトが起動するようになっています。