前回の続きです。
gccとbinutilsが正常にインストールされたかをチェックします。
$ avr-gcc --version
$ avr-ar --version
バージョン情報が出力されない場合は
$ echo $PATH
として、パスが通っているか確認しましょう。通っていない場合は以下の記述を~/.bashrcに追加しましょう。(シェルがbashの場合。それ以外のシェルの場合はマニュアルを参考にパスを通しましょう)
export PATH=<インストールしたディレクトリ>:$PATH
次に、Makefileを用意します。WinAVRに含まれているMakefile自動生成ツールmfileを使います。windowsで生成したファイルを持ってきた人は改行コードが違うかもしれないので、
$ nkf -w -Lu --overwrite Makefile
として改行コードをLFにしましょう。mfileで自動生成したMakefileをココにおいておきます。以下の部分をプロジェクトごとに変更する必要があります。
- MCU 使うAVRの種類
- F_CPU AVRのクロック周波数(Hz)
- TARGET メインのソースコード(拡張子抜き・生成されるバイナリの名前にもなる)
- SRC そのほかのソースコード(こっちは拡張子付き・$(TARGET)を消さないように注意)
- AVRDUDE_PROGRAMMER 使う書き込み機(avrdudeを使う場合)
- AVRDUDE_PORT 書き込み機が接続しているポート(avrdudeを使う場合)
この状態で、
$ make
とすると、文字が流れていきコンパイルが完了します。拡張子が.hexのファイルができていれば成功です。
書き込み方法・フューズビットの設定方法などは本題ではないため割愛します。
一応基本的なことを書いたつもりですが、疑問点などがありましたらコメントにお願いします。
by Shiozaki
この記事では.bashrcに追記となっていますが、.profileや.bash_profileが存在するときはこちらが多くの状況では優先的に読み込まれます。通常はこれらのファイルから.bashrcが読み込むように書かれているはずですが、そうでない場合もあるので.bashrcに書き込んで反映されなくても慌てないでください。by Y.O
[…] ちなみに以前LinuxでもAVR(2)で紹介されていたMakefileからエッセンスを凝縮するとこのようになります。以前紹介されていたMakefileは依存関係ファイルを.depという不可視フォルダに作ります […]