XCodeでAVR その4(LEDチカチカ)

XCode3(OSX10.5)とAVR MacPackがインストール済みを前提に。。
そうそう、このエントリーで書いたXCode3.1βのバグ
最新のiPhone SDK (build 9M2199, beta 7)を入れると、XCode3.1のβが取れて日本語入力の不具合が直りました。
よかったー。
でもiPhone SDKのβっていつ取れるんだろう??

で、さらに前準備、

AVR MacPackのにあるmakefileとXCodeテンプレもいいんですが
OSX-AVRのテンプレを自分用にカスタマイズしたものを右サイドバーの物置に置いておきました。
OSX-AVRのテンプレ使ったわけは、GDBデバッグにも対応してるみたいで、将来的にも使ってみたくて。。
まだ使えてないけど。

まーこれも自分用に改造してあるので正直他の人が使いやすいかどうか。。
フツーにmakefileで全部やったほうがかえってスッキリだったりするかも(笑)

ただ、XCode3.1上でしか使ってません。。3.0でもいける?
AVR用 XCodeテンプレート

dmg内のAVR C Projectフォルダを
/Developer/Library/Xcode/Project Templates以下に
適宜AVR Projectみたいなフォルダを作り、そこへAVR C Projectフォルダごといれてください。

これで準備OK

XCodeにて新規プロジェクトしてプロジェクトネームを入力
new project

すると、まずはmakefileがいっぱつめにでてきます。
makefile setting

このmakefile、いまんとこ自分が使う設定を先頭に集めてます。

MCU = attiny2313 <-使用するAVR F_CPU = 1000000 <-CPUクロック ツルシのAVRなので1MHz OPT = s <-コード最小で最適化 AVRDUDE_PROGRAMMER = dragon_isp <-使用するライター名 これはAVR Dragon の場合 (-c) AVRDUDE_PORT = usb <-AVR Dragonの場合の接続ポート名 (-P) AVR_FUSE_L =0x64 <-AVRのヒューズ設定 AVR_FUSE_H =0xdf <-AVRのヒューズ設定 AVR_FUSE_E =0xff <-AVRのヒューズ設定 AVRDUDE_BITCLOCK_DELAY = 5 <-CPUが低速クロック時(1MHzとか)の場合、ライターの書込速度を遅くします。 ただこれはライターによって違うかも。。JTAG ICE用とも書いてあったりするので。 これは-Bオプション使ってます。

ちなみに自分の持ってるライターで確認できた設定例は
STK500
AVRDUDE_PROGRAMMER = stk500v2
AVRDUDE_PORT = /dev/tty.PL~~~ #include <avr/io.h> #include <util/delay.h> #define sbi(PORT,BIT) PORT |= _BV(BIT) //bit set #define cbi(PORT,BIT) PORT &=~_BV(BIT) //bit clear int main (void) { DDRB = _BV(PB0); //ポートBのPB0ピンを出力設定 cbi(PORTB,PB0); //ポートBのPB0をLOW出力 while(1) //無限ループ { sbi(PORTB,PB0); //ポートBのPB0をHIGH出力(LEDピカ) _delay_ms(500); //500ms待ち cbi(PORTB,PB0); //ポートBのPB0をLOW出力(LED消え) _delay_ms(500); //500ms待ち } return 0; }

これで、まずは、ツールバーの「アクティブなビルド構成」で「Build(Only)」を選び、ビルドボタンを押します。

build menu

無事ビルドできたら、下のほうに「ビルドは問題なく完了しました」とでるはず。
これで、「Flash Program(Only)」を選びビルドボタンを押します。
ライターが接続され、かつ電源が入っていれば、書込後そのままLEDがピカピカするはずです〜。

ちゃんと書き込めるようであれば、Build & Flash Programでデバッグ中でも
ビルド一発書込でスムーズに進むとおもいます。(デバッガは使えないけど。。)

Share on Facebook

4 Comments

  1. 返信
    taka 2009/9/20 日曜日

    はじめまして。MacでAVRを弄っていますtakaと申します。
    色々検索していたら、このblogを発見しまして時々覗かせてもらってます。

    いきなり質問で恐縮なのですが、このプロジェクトテンプレートってAVRMacPackにパスが通してあるようですが
    その設定はどこでされているのでしょうか?
    このたびCrossPackに更新したところ、buildが出来なくなってしまいまして。

  2. 返信
    recotana 2009/9/20 日曜日

    >takaさん
    そういえば名称変わったんですね。。。最近ちょっと離れてたので全然知りませんでした。。
    ちょっとAVRの環境を作るのに時間かかるので書込など検証できていないのですが

    新規プロジェクトではなく、テンプレートファイル AVR.xcodeprojを直接開き
    メニューバーのプロジェクト/アクティブターゲット”firmware”を編集
    ビルドツールの /usr/local/AVRMacPack/bin/make を/usr/local/CrossPack-AVR/bin/make へ変更

    各ビルドメニューのBuild SettingsのPATHを
    /usr/local/AVRMacPack/bin:$(PATH) から /usr/local/CrossPack-AVR/bin:$(PATH) へ変更

    これでイケると思うのですが。。ちょっと環境構築出来ていない状態なので確認できていません・
    とりあえず新版に対応した仮テンプレをこちらに置いておきました
    問題あれば教えてください〜〜
    http://recotana.com/souko/CrossPack_XCode_Template_1.1.zip

  3. 返信
    taka 2009/9/23 水曜日

    なるほど。そんな所に設定があったのですか。勉強になります。
    素早い対応おありがとうございました。こちらもまだ環境構築できておりませんので、何かあったらお知らせしたいと思います。

  4. 返信
    kita 2010/2/22 月曜日

    kitaともうします。
    ここに書かれている通りにやったのですがビルドすると、
    avr-gcc:UL:No such file or directory
    と表示されエラーになってしまいます。
    ライタはAVRISPmk?を使っています。
    ご教示お願いしたいです。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>