このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。
Macintosh 上の OS MacOSX でも、この演習を行うことができます。 但し、 Atmel Studio が用意されているというわけでは無いので、同等ではあ りません。
Atmel Studio 付属のアセンブラと AVRA では仕様が異なります。
AVRAのホームページは https://sourceforge.net/projects/avra/ にあります。
アセンブリ言語を書く場合は次の点に注意します。
#include "m328Pdef.inc"
と指定する。
.include "m328Pdef.inc"
.cseg
.org 0x0000
rjmp reset
.org INT_VECTORS_SIZE
reset:
ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
ldi r16,1<<pb5
out ddrb, r16
.equ time = 10
main:
sbi portb,pb5
rcall wait
cbi portb,pb5
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
#!/bin/sh
dir=/Applications/Arduino.app/Contents/Java/hardware/tools/avr
$dir/bin/avrdude -C $dir/etc/avrdude.conf -p m328p -c arduino -P $1 -D -U flash:w:"$2":i
これを program.sh というファイル名でセーブし、