2013年10月12日土曜日

AVRマイコンをイーサネットにつなぐ

SPI接続イーサネットコントローラのENC28J60のモジュールが到着したので、以前に半田付けした秋月のAE-ATmegaで動かそうとしている。
ここを参考に(ArduinoのGUIではなく)inoでビルドしてみたのだが、けっこう忘れているので手順のメモ。

  1. 適当にディレクトリを作成してino initするとsrcとlibというディレクトリができる。
  2.  src/sketch.inoができているので、ここのソースコードを貼り付ける。
  3. 通信プログラムはここからダウンロード、展開してできたディレクトリをlibの下にEtherCardの名で置く。
  4. arduino-1.0.3とavr-gcc-4.3.4ではprog_charがエラーになるのでPROGMEMで置き換える。差分を置きたいけど面倒そう。。
  5. ino build -d /usr/local/arduino -m atmega328
  6. ino upload -m atmega328 -p /dev/cuaU1
ホストのFreeBSDに依存する部分もある。AE-ATmegaに328を乗せるとATmega328搭載のDuemilanove相当ということで、inoのモデル指定はatmega328になる。

接続でCS(ChipSelect)はPB2(SS)端子を使う模様。他は自明と思うので省略。

さて、うまく動くか試してみよう。