[戻る]

AVR ATtiny2313 テストボード 導入編の補足〜環境構築の説明

2008年9月
今から始めるAVR #1 導入〜ATtiny2313テストボード」で紹介した開発環境の
構築と操作方法を説明します。最小限の説明です。

「AVR Studio」と「WinAVR」をインストールして、C言語で開発します。
ライターは「簡易型AVRライターキット」(ストロベリーリナックス社)です。
ライターソフトはChaN氏の「avrsp.exe」です。
開発用PCはCOMポート付きで、OSはWindowsXPです。
例としてターゲットのAVRはATtiny2313です(環境構築とは関係ありません)。

以下、図はクリックで拡大します。別ウィンドウが開きます。

ソフトウェア


【インストール】
AVR Studio 4.14 (build 589)
WinAVR-20080610-install.exe
をこの順にインストールします。特に引っかかるところはありません。

AVR Studioが統合開発環境で、ソフトウェア開発作業のメインの場になります。
WinAVRはAVR Studioから呼び出されて使われます。プログラマ(開発者)は直接操作しなくてよいでしょう。

ではAVR Studioを使ってみます。


605x373

【1】
Windowsのスタートメニューから、
プログラム−Atmel AVR Tools−AVR Studio 4
をクリックしてAVR Studioを起動します。

新規にプログラムを開発するときは[New Project]ボタンをクリック。【2】へ。

開発中のプログラムの続きをするなら一覧から選んで[Load]ボタンをクリック。【4】へ。
一覧に出ないときは、[Open]ボタンをクリックしてダイアログからプロジェクトファイルを選択します。


605x373

【2】
C言語で開発するので「AVR GCC」を選択。
「Project name」にプログラム名を書きます。
下の「Initial file」は自動的に決まります。

プロジェクト(開発するソフト)の保存先フォルダは、「Location」横の[…]ボタンをクリックして、ダイアログから指定します。

[Next]ボタンをクリック。【3】へ。


605x373

【3】
使用するライター(書き込み器)がデバッグ機能付きならば「Debug platform」でそれを選択します。
「簡易型AVRライターキット」はデバッグ機能なしなので「AVR Simulator」を選択します。

ターゲットデバイス(AVRの型番)を選択して、[Finish]ボタンをクリック。【4】へ。


1280x1000

【4】
ここがメインの作業画面です。
プログラムを記述し始める前に「設定ボタン」(歯車のアイコン)をクリック。【5】へ。

この設定ボタンがWinAVRの設定呼び出しです。
忘れないうちに、最初に設定を決める/確認する癖を付けましょう。間違えたデバイスを設定してビルドすると大量のErrorでびっくりすることになります。


649x404

【5】
「Device」でAVRの型番を選びます。
ATtiny2313なら「attiny2313」です。

「Optimization」は「-Os」でよいと思います。
ただし、「for(i=0;i<1000;i++);」のような空ループで時間稼ぎする記述などは、「-Os」では削除されます。このような記述をするなら「-O0」(オー・ゼロ)にしてください。

ソフト開発一般に言えますが、最適化レベルの違いは、何かと何かのトレードオフ具合の違いです。例えばコードサイズとメモリ使用量の関係とか。
ATtiny2313のプログラムサイズは2KB(2048bytes)までです。ギリギリまでコードがふくれて、とりあえずコードサイズを切り詰めようと思ったら「-Os」でよさそうです(何かを犠牲にしてるとは思いますが)。

「Generate Map File」「Generate List File」で生成されるファイル(.map/.lss)で、アドレス配置や、Cのソースがアセンブラでどう展開されたのか見ることができます。プログラムの実行には関係ないファイルなのでチェックを外しても構いませんが、一度は見てみましょう。

[OK]をクリック。【6】へ。


1280x1000

【6】
プログラミングを始めます。心行くまで記述したらビルドします。
メニューバーの「Build」からメニューを開いて「Build」をクリック。複数のソースファイルに分けている場合は「Rebuild All」で。時々は「Clean」後にビルド。

下段のメッセージ欄に結果が出ます。ErrorやWarningもここに出ます。
正常にビルドが完了するとプログラムサイズが表示され、拡張子.hexのファイルが生成されます。これがAVRに書き込むファイルです。
hexファイルのサイズはメッセージ欄のプログラムサイズより大きいですが、正常です。


480x72


1280x1000

【シミュレーション】
凝ったプログラムでなければ直接ハードを動かして様子を見てもいいですが、AVR Studioではプログラム動作をシミュレーションすることができるので、デバッグに活用しましょう。

ツールバーの赤丸ボタンでブレイクポイントを張って、緑の再生ボタンでシミュレーション開始。プログラムがコンパイルされてデバッグモードで実行されます。

デバッグモードは、Visual Studioを使ったことがあれば同様の操作で行けるので特に難しくありません。
[F10]でステップ実行、[F5]でブレイクポイントまで実行、ツールバーのボタンからも操作できます。

ツールバー右側のボタンではメモリダンプのウィンドウなどが開きます。下段のメッセージ欄とドッキングできます。

ステップ実行していき、ポートの内容が変化するとI/O View画面のBitsグラフィックも変化します。これは便利です。

ハードウェア



ISP(In System Programming)用のピンヘッダに出す信号の並び順は左図のようにします。
これはATMEL社推奨の並び順で、市販のAVRライターのコネクタはこれに準拠しています。

特に理由がない限り、基板に付けるISP用のピンヘッダはこの通りに作りましょう。



ライターと基板をケーブルでつなぎます。
ケーブルを挿す向きが説明書に載っていないのですが、ライター側は現物を見れば見当が付きます。
基板側はISP用のピン配列が上記説明の通りだとして、左図の向きに挿します。

ライターにはスライドスイッチが付いています。
hexファイルをAVRに書き込むときは、スイッチを本体側に入れます。基板は電源につなげておいてください。
書き込みが完了してAVRを動作させるときは、スイッチをケーブル側に入れます。
このライターの場合、AVR動作時もケーブルは基板に挿したままでよいです。

書き込み

ビルドしてできたhexファイルをAVRに書き込みます。hexファイルの場所を説明します。

AVR Studioの手順【2】の「Location」で指定したフォルダを開きます。
「Project name」で指定したフォルダがあるので、さらに開きます。


AVR Studioで記述したCのソースファイルはここにあります。
書き込みに必要なhexファイルはdefaultフォルダの中にあります。
defaultフォルダを開きます。


hexファイルがあります。このファイルを、ライターを使ってAVRに書き込みます。
その他のファイルは使いません。

【書き込みソフト】
hexファイルをAVRへ書き込むには、ライターに合ったソフトが必要です。
「簡易型AVRライターキット」はChaN氏が開発した自作ライターと互換性があるので、書き込みソフトもChaN氏のavrsp.exeが使えます。ChaN氏のサイト内、AVRライタ製作集ページの「Win32版ライタ制御ツール for Windows9X/Me/NT/2k/XP with c source files」からavrxtool32.zipをダウンロードしてください。zipを解凍した中にavrsp.exeがあります。

【書き込み方】

avrsp.exeのショートカットを作っておいて、そこへhexファイルをドラッグ&ドロップ。
これだけでAVRに書き込めます。
avrsp.exeはコマンドラインからも操作できます。各種オプション設定は付属のドキュメントを読んでください。

AVRにはプログラムによって動作させる以前に、AVR自身の振る舞いを決める設定があります。ヒューズビットと言います。
例えば、ATtiny2313は動作タイミングの基準となる発振器を内部に持っていますが、そのクロック(周波数)を変更したり、外部に接続した発振器で動作させるには、ヒューズビットを書き換えます。
ヒューズビットの書き換えはavrsp.exeでできます。操作方法は付属のドキュメントを読んでください。

詳しくはATtiny2313のデータシートを見てください。ATMEL社のサイトからダウンロードできます。ヒューズビットのことだけでなく、開発に必須の情報源です。
Atmel Products - Datasheets
http://www.atmel.com/dyn/products/datasheets.asp?family_id=607

オススメ書籍

AVRに挑戦しよう!とやる気を出したものの、データシートが英文では取っ付きにくいかもしれません。要点を拾おうにも初心者には見当が付きません。いずれは読まねばなりませんが、先に日本語の書籍で基本を勉強して、AVRに少し慣れてからでもよいと思います。




試しながら学ぶAVR入門
CQ出版(紹介ページ
2008年5月1日発行

AVRマイコン・
プログラミング入門

CQ出版(紹介ページ
2010年1月1日発行

AVRマイコン・
リファレンス・ブック

CQ出版(紹介ページ
2006年4月15日発行

ATtiny2313とATmega88で
説明。
工作例とプログラムが豊富。
AVRの機能説明とプログラム
の説明が非常に丁寧。
初心者に最適。
私はこれで勉強しました。

ATmega88で説明。
初心者でも読めると思う。
より実践的な内容。
アセンブラの説明もある。
AVRを使って工作するための
参考書はこれで。

どちらかというとATtinyシリーズ
よりATmegaシリーズが中心。
リファレンスブックの名の通り、
機能説明が詳しい。
AVRの中を知るための参考書
はこれで。

※紹介内容は2010/04現在。「試しながら」は購入済み。右2冊は書店で立ち読みにて失礼。

以上。


[戻る]
inserted by FC2 system