ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

CasePlayer2解析に関する問題

019_08 : IARのクロスコンパイラを使用していますが、CasePlayer2での解析時に「CasePlayer2-E-SYN : 名前( *** )が宣言されていません.」のエラーが出ます。どうすれば良いですか?

【質問】
IARのクロスコンパイラを使用していますが、CasePlayer2での解析時に「CasePlayer2-E-SYN : 名前( *** )が宣言されていません.」や「CasePlayer2-E-SYN : 使用できない文字コードがあり ます.」等のエラーが出ます。この宣言は、i/oポ ートの名称のようです。どのように対処すれば良いですか?


【回答】
ルネサスエレクトロニクスのマイコン、RL78ファミリ向けのIAR統合開発環境(Embedded Workbench)に含まれるコンパイラ(ICCRL78)を使用している場合、そのソースコードをCasePlayer2で解析す ると下のような文字コードエラーや未定義エラー が多数発生します。

CasePlayer2-E-SYN : 使用できない文字コードがあります.
CasePlayer2-E-SYN : 宣言が正しくありません.
CasePlayer2-E-SYN : 構文に誤りがあります.
                :
CasePlayer2-E-SYN : 名前( P0 )が宣言されていません.
CasePlayer2-E-SYN : 名前( P0_bit )が宣言されていません.
                :
                :

これは、IARコンパイラでは、マイコンのi/oポートやレジスタの定義を、ヘッダファイル(*.h)で定義していますが、その定義が非汎用言語(ANSI-C, GNU-C, C99)構文(@)を試用している為です。
CasePlayer2は、汎用言語構文に準拠している為、コンパイラの予約語を解析出来ないため、エラーとなります。(Cオプションパラメータを使用しても解決できません。)
これを回避するためには、CasePlayer2での解析の際に、ヘッダファイル(*.h)で定義されている内容を汎用言語構文に修正する必要があります。

■ヘッダファイル(ioxxxxx.h)のイメージ
__saddr __no_init volatile union { unsigned char P0; __BITS8 P0_bit; } @ 0xFFF00;
※「__saddr」「__no_init」は、Cオプションパラメータの設定でエラー回避できますが、「@ 0xXXXXX」以降を

???修正する必要があります。

ガイオでは、ユーザーが使用している「ヘッダファイル(ioxxxxx.h)」から、その内容を修正したヘッダファイルを作成するサポートを行っています。 ユーザーサポート宛に、「ヘッダファイル(ioxxxxx.h)」をお送り頂ければ、弊社でヘッダファイルを作成し返送させて頂きます。ご希望の場合は、弊社サポート専用窓口宛にお問い合わせ下さい。

このヘッダファイルを入手後、CasePlayer2の「設定」タブの「プリプロセッサ」の設定にて、送付するヘッダファイルを参照するよう「システムインクルードパス」または「ユーザーインクルー ドパス」を変更して下さい。

※ユーザーのファイルは変更せず、参照するヘッダファイルを変更する事で、エラー回避できます。


関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: RL78 | 未定義エラー | SFR定義ヘッダファイル

他のキーワード検索


参考情報・リンク