[TopPage] [FMTOWNS] [Hardware] [Freesoft] [怪飲料] [CHAT兼掲示板] [LINK・etc] [About] |
■ AVR-GCCをインストールしてみる ■ | |
AVRマイコンは、開発環境にGCCが使えます。ありがたいことです。GCC とは、GNU C Compiler の略称で、フリーのCコンパイラです。 まず、AVR-GCC本体を入手します。cygwinタイプとbinutilタイプがあるようです。私は後者を使いました。画面は、AVR Freaksから入手した avrgcc20010821a.exe のものです。最初はこのようなexeになっているパッケージのもののほうが楽です。 インストール途中でDOS窓が開いて、ライブラリのコンパイルを始めます。かなり時間がかかります。 インストールが成功すると、こんなかんじのディレクトリ構成になります。デフォルトなら、c:\avrgcc\bin にpathを切るバッチファイルが生成され、スタートメニューに追加されます。 |
■ とりあえずコンパイルしてみる ■ | |
とりあえず、コンパイルできるかどうか確認します。 試しに最低限のソースを作ってみました。こんな感じでしょうか。
コマンドラインからはこんなかんじで実行します。 C:\AVRGCC\USR> avr-gcc -mmcu=at90s2313 test.c-mmcuオプションでAVRの種類を指定します。成功すれば、a.outというファイルが生成されます。特にエラーが出なければ、メッセージは何も表示されません(unixの流儀ですね)。最後に-Sオプションを付けると、バイナリの代わりにアセンブラソースを吐きます。 今回はAtmel純正互換の秋月系プログラマを使用しているので、a.out形式(ELFバイナリ)ではなくIntel HEXフォーマットでないと困ります。そのため、とりあえずこんなかんじで実行します。 C:\AVRGCC\USR> avr-gcc -mmcu=at90s2313 test.c -o test.elf-oオプションで、出力ファイル名を任意に指定できます(別にa.outのままでも良いのですが)。一度a.out形式で出力させてから、HEXフォーマットに変換します。 C:\AVRGCC\USR> avr-objcopy -O ihex test.elf test.hexこれで、test.hex が生成されます。成功すれば、例によってメッセージは表示されません。あとは、AVRASMのときと同じように、AVRへ書き込みます。なお、 ihex の代わりに srec を指定すると、モトローラSフォーマットに変換出力します。 生成された .hex ファイルをASMの時と同様にAVRに書きこむと、PB0〜7 に繋いだLEDが点滅するはずです。 |