LinuxでもAVR(2)

前回の続きです。

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

LinuxでもAVR(2)」への2件のコメント

  1. この記事では.bashrcに追記となっていますが、.profileや.bash_profileが存在するときはこちらが多くの状況では優先的に読み込まれます。通常はこれらのファイルから.bashrcが読み込むように書かれているはずですが、そうでない場合もあるので.bashrcに書き込んで反映されなくても慌てないでください。by Y.O

  2. […] ちなみに以前LinuxでもAVR(2)で紹介されていたMakefileからエッセンスを凝縮するとこのようになります。以前紹介されていたMakefileは依存関係ファイルを.depという不可視フォルダに作ります […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です