Chapter 1. TestLab:番外編

AVRで遊ぼう

Table of Contents
AVRってなあに?
AVRの情報源
ライター回路を作ろう
ライターソフトウエアavrprog
まずはアセンブラから
おわりに
Bibliography
AVRで遊ぼう

AVRってなあに?

AVRは、Atmel社(http://www.atmel.com/)が、 作成している8bit RISC Flash Microcontrolerです。 プログラム用には1000回の書き込み保証のあるフラッシュメモリが搭載され、 データ用に10万回の書き込み保証のあるEEPROMが内蔵されています。 32本の8ビット汎用レジスタを持ち、 入出力に利用可能なパラレルポートがチップによって 3本から48本の範囲で用意されています。 このポートは5VでLEDを直接点灯できる能力があるものです。 チップによってはA-Dコンバータも用意されていますので、 かなり高度な処理が可能ということが分かって頂けると思います。 また、基本的にプログラムはシリーズ全てで互換性があります [1] ので、 コストやプログラムの規模に見合ったチップを利用することができます。 各チップの機能概要については http://www.atmel.com/atmel/products/prod199.htmを 参照してください。

AVRのためのプログラムライタにはいろいろなものがあります。 代表的なものは以下の通りです。

Figure 1-1. 秋月電子通商のATMEL AVR マイコンプログラマキット

最近になってFreeBSD portsに、devel/avr*という 開発環境が入りました。 devel/avrprogはライター用のプログラムで、 簡単な回路を作成することで、 パラレルポートからプログラムの書き込みや消去が可能になります。 また、devel/avr-binutilsをつかうことで、 アセンブラのプログラムやIntel HEXフォーマットへの変換が可能です。 devel/avr-gccdevel/avr-libcを 利用することで、 C言語での開発も可能になっています。

今回は、AVRを題材にして、 アセンブラでプログラムを作成することを目標にします。 この時、できるだけお手軽に遊んでみることを目標にしますので、 portsなどあるものは使ってしまいます。

クロス開発環境の製作に興味のある方は、 内川さんの記事の方も是非参照してください。

Bibliography

[1] 加藤芳夫, マイクロコンピュータAVR入門, CQ出版, 2001年9月20日.

[2] トランジスタ技術: 特集:PIC & AVR製作パラダイス, CQ出版, 2000年7月.

Notes

[1]

もちろん、存在しない入出力に対する操作は意味を持ちませんし、 それに対応している命令は用意されていませんので、 完全に互換性があるわけではありません。

[2]

ただし、このプログラムを書き込むためには、 先にライタが必要になります。