第 2 回 MacOSX での開発

本日の内容


2-1. 本日の内容


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

2-2. Macintosh における開発

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

環境構築

Arduino IDE のインストー ル Arduino IDE
MacOS X 版をダウンロードし、アプリケーションフォルダに入れる
Mac app Store でのAVRAのインストール
Install avra on Mac OSX なお、M1プロセッサのMac では brew の起動の仕方が違う。

Microchip Studio との互換性

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

AVRAのホームページは https://sourceforge.net/projects/avra/ にあります。

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

  1. .device ディレクティブはありません
  2. .inc ファイルは /usr/local/include/avr にあります (M1 Mac ではインストール先が異なります)。 #include "m328Pdef.inc"と指定する。
  3. コメントは ; (セミコロン)から行末までです

flash.asm


.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

program.sh


#!/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 というファイル名でセーブし、 chmod +x program.sh と実行可能にしておく

使用方法

  1. avra flash.asm と打つと、 flash.hex が作られる(エラーがでた 場合は適宜修正し、 繰り返す)
  2. ls /dev/tty.usb* と打ち、 arduino の接続デバイス名を 取得する
  3. ./program.sh /dev/tty.usb(上で出た文字列) Hexファイル名 と打つと、書込が行われる。

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