第 2 回 MacOSX での開発

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

2-1. Macintosh における開発

Macintosh 上の OS MacOSX でも、この演習を行うことができます。 但し、 Atmel Studio が用意されているというわけでは無いので、同等ではあ りません。

環境構築

avrdude のインストール CrossPack for AVR® Development
the GNU compiler suite, a C library for the AVR, the AVRDUDE uploader and several other useful tools.
AVRAのインストール
Assember for the Atmel AVR microcontroller family

Atmel Studio との互換性

Atmel Studio 付属のアセンブラと AVRA では仕様が異なります。

AVRAのホームページは http://www.webring.org/l/rd?ring=avr;id=46;url=http%3A%2F%2Fwww.suprafluid.de%2Favra%2Fpp にあります。

アセンブリ言語を書く場合は次の点に注意します。

  1. .device ディレクティブはありません
  2. .inc ファイルは添付していないので、ダウンロードして、ソースコー ドと同じフォルダに入れ、 #include "attiny2313.inc"のよ うに指定する
  3. コメントは ; (セミコロン)から行末までです

flash.asm


.include "tn2313def.inc"
.cseg
.org	0x0000
	rjmp	reset
.org	0x0013
reset:
	ldi	r16,low(RAMEND)
	out	SPL,r16
	ldi	r16,0xff
	out	ddrb, r16

.def	pattern = r16
.equ	time = 3
main:
	ldi	pattern,0x00
	out	portb,pattern
	rcall	wait
	ldi	pattern,0xff
	out	portb,pattern
	rcall	wait
	rjmp	main

.def	wreg0 = r20
.def	wreg1 = r21
.def	wreg2 = r22
wait:
	ldi	wreg0,time
wait0:
	ldi	wreg1,0
wait1:
	ldi	wreg2,0
wait2:
	nop
	dec	wreg2
	brne	wait2
	dec	wreg1
	brne	wait1
	dec	wreg0
	brne	wait0
	ret
.exit

Makefile


all: flash.hex

install: flash.hex
	avrdude -c avrispmkII -p attiny2313 -U flash:w:$< -F

flash.hex: flash.asm
	avra $<

clean:
	rm -f *.hex *.eep.hex *.obj *.cof

謝辞

このドキュメントは吉田三四郎君の協力により、作成しました。協力ありが とうございました。

坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科