このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
Macintosh 上の OS MacOSX でも、この演習を行うことができます。 但し、 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 にあります。
アセンブリ言語を書く場合は次の点に注意します。
#include "attiny2313.inc"
のよ
うに指定する
.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
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>