AVR-GCC

AVRStudio から使えるようなことが書いてあるので
Cygwin (mingw?) 入りのインストーラつきパッケージをダウンロードして使ってみた.
しかし AVR Stduio 4 では
まだ使えないようだ. しょうがないので AVR Studio 3 も落としてみた.

avr-objcopy: not found :
上のインストーラに含まれる bin\sh.exe がおかしくて
ワイルドカードの展開ができないっぽい.
このページの指示どおり bin\sh.exe を消したら
*1うまくコンパイルできた.
ただし,Cygwin インストール済みで,Cygwin の bin にパスが切ってある
*2ので,そっちの sh.exe が呼ばれてるはず.
AVRFreaks の掲示板 に Makefile (avr_make) の修正で回避できるようなことが書いてあったけど,無駄だった.

ソフトウェイトは最適化で消される :
出力ポートを順番にHighにするようなテストプログラムをコンパイルしたが,
LED の点滅が早すぎるのでウェイトを増やしたがぜんぜん変わらず,
なんとなくそんな予感はしたんだが,見事に gcc が最適化してくれちゃってた.で,
インラインアセンブラでウェイト をかける方法を見つけた.情報源が消えちゃったときのためにコピペ.

void CPU_wait(unsigned int time){
register unsigned char lpcnt;
__asm__ __volatile__("\n"
"CPU_wait_entry:\n\t"
"ldi %0,200\n"
"CPU_wait_lp:\n\t"
"nop\n\t"
"dec %0\n\t"
"brne CPU_wait_lp\n\t"
"sbiw %1,1\n\t"
"brne CPU_wait_entry\n\t"
:"=&a"(lpcnt)
:"w"(time)
);
return;
}



*1
:ほんとは,念のためファイル名を変えただけ


*2
: Cygwin の inetd を立ち上げたときの名残り.
たぽ
  • たぽ
  • カレン(ST206 3S-GE VVT-i)、BRZ(ZC6 RAエアコン有)でサーキットを走ってます。
    クルマ弄りは基本的にDIY。そのため(?)にガレージ付きの家建てました。

    数年前から登山にも目覚め、時々アウトドアな日記・動画もアップしてます。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください