エラーメッセージ:Undefined external "?V1" referred in abcd
テクニカル・ノート 98110
アーキテクチャ:
8051
コンポーネント:
linker
更新日:
2018/08/26 4:01
はじめに
IAR Embedded Workbench for 8051バージョン8.20以前からバージョン8.30にプロジェクトを移行した後、以下のエラーが突然発生するようになりました。
Error[e46]: Undefined external "?V1" referred in abcd
解説
プロジェクトで古いバージョンのcstartup (main()関数の前に呼ばれるコード)を、IAR Embedded Workbench for 8051バージョン8.30に移行しようとする場合、
バージョン8.30の新しいcstartupファイルでは仮想レジスタエリアの使用状況が最適化されるように変更されているため、上記のエラーが発生します。新しいcstartupファイルは、IAR Embedded Workbench for 8051バージョン8.30で使用されることを想定しています。
解決方法
バージョン8.30の新しいcstartupファイルを使用するか、プロジェクトに問題回避用のアセンブラファイルを追加してください。
詳細なバージョンの説明
この変更は、バージョン8.30.1 (品番EW24412)で導入され、バージョン8.30.2のリリースノートに記載されています。
ヒント
テクニカルノート95811で同様の問題を扱っています。