2013年4月2日火曜日

could not find definition of symbol 'WriteSPI' in file"

Dynabook 購入の本来の目的のひとつでもあった、Microchip MPLAB IDE と C18 をインストールし、使い始めた。久しぶりのPICプログラムの仕事(既製品の改造)が、タイミングよく入った為だ。古いノートパソコン方の旧バージョンで着手し、だいたい目処がついたところでソースを移して  Dynabook + MPLAB V8.90 + C18 V3.45 の新しい組み合わせへ移行する。
MPLAB X版のインストールは今回見送った。

ところが、Build でいきなりつまずく。タイトルにあるメッセージでエラーになった。幸いマイクロチップのフォーラムで同様の質問を見つけた。10日前の日付だ。そこに述べられていた解決策の通りやってみた。(私の場合は使用デバイスがPIC18F4520)

古いノートパソコンから、PIC18F4520.lib ファイルをコピーして、
  1. PIC18F4520.lib をリネーム後、古い方のファイルをライブラリフォルダへコピーする
  2. PIC18F4520.lib はそのままにして、古い方のファイルをプロジェクトフォルダへコピーする
1.で試してOK。明示的な方法をとりたいと思い、2.の方法に改めた。ライブラリのフォルダを指定しなくても、プロジェクトフォルダから優先的に探すようだ。

Build が通ったので、メモリ使用量とチェックサムを旧バージョンと比較し、一致。早速、実機にプログラムした。当たり前のことながら変わりなく動く。めでたし。

* 古いノートパソコンの方のバージョンは、MPLAB IDE V8.63, C18 V3.36 。この不具合の理由はバグとのこと。次のバージョンで修正されるみたい。