(toppers-users 3206) Re: 【ASP】M32Cのprc.tfの不具合

片岡 歩 kata @ witz-inc.co.jp
2010年 6月 2日 (水) 15:15:06 JST


コニカミノルタ Wada様

いつもお世話になっております。
片岡@ヴィッツです。

不具合のご連絡をいただきありがとうございます。
また、ご返信が遅くなってしまい、すみません。

ご指摘内容および修正方法について、Wada様のご理解であっております。

他のプロセッサ依存テンプレートでは、TARGET_INTATRの定義のあとに
kernel.tfをインクルードする構成になっておりますが、M32Cについては
ご指摘の通り、順序が逆となっておりました。
ご迷惑をおかけしました。

本不具合の修正については、次期バージョンアップのタイミングで
対応させていただければと思います。

以上、御連絡ありがとうございます。

>コニカミノルタ派遣のKota Wadaと申します。
>
>********************************************************
>既出の問題かもしれませんが、メーリングリストに
>見当たらなかったので、投稿させていただきました。
>********************************************************
>
>TOPPERS/ASPのM32C対応を使用し、
>R32Cへの移植を行っております。
>
>INT1の割込み属性で立下りエッジを設定しようとして
>問題が発生しました。
>(本来はIFSRレジスタ制御を追加し、両エッジの設定を拡張しようとしています。
>その事前確認としてすでに拡張されている立下りエッジを設定してみました)
>
>その原因がM32C対応のprc.tfの不具合ではないかと判断しています。
>解決方法が正しいかどうかの確認をいただきたいと思います。
>
>
>【現象】
>INT1を使用するドライバのcfgファイルにて
> CFG_INT(INTNO_INT1, { TA_ENAINT |  INTATR_INT1, INTPRI_INT1 });
>
>INT1を使用するドライバのヘッダーファイルにて
> #define INTATR_INT1	TA_NEGEDGE
>
>この状態でコンフィギュレーションを行うと
>以下のエラーが発生します。
> error: E_RSATR: illegal intatr `TA_ENAINT |  INTATR_INT1' of intno `INTNO_INT1' in CFG_INT
>
>【解析内容・修正方法】
>上記エラーはkernel.tfの以下の箇所で発生していました。
>$	// intatrが([TA_ENAINT]|[TA_EDGE])でない場合(E_RSATR)
>	$IF (INT.INTATR[intno] & ~(TA_ENAINT|TA_EDGE|ALT(TARGET_INTATR,0))) != 0$
>		$ERROR INT.TEXT_LINE[intno]$E_RSATR: $FORMAT(_("illegal %1% `%2%\' of %3% `%4%\' in %5%"), "intatr", 
INT.INTATR[intno], "intno", INT.INTNO[intno], "CFG_INT")$$END$
>	$END$
>
>しかし、M32Cのプロセッサ依存のテンプレートファイルprc.tfで
>割込み属性に拡張がされていますので、問題は発生しないはずです。
> $TARGET_INTATR TA_POSEDGE | TA_NEGEDGE | TA_LOWLEVEL | TA_HIGHLEVEL$
>
>
>本現象をこちらで解析し、原因と思われるのは、
>prc.tf中のkernel.tfのインクルードされている位置です。
>
>kernel.tfインクルードがTARGET_INTATRの定義より上にありますので、
>kernel.tfエラー判定箇所でTARGET_INTATRが認識できず
>エラーが発生していると思われます。
>(実際にALTを外してやるとTARGET_INTATR がnon-valueのエラーとなることを確認しています)
>
>
>以上より、prc.tfでは、TARGET_INTATRの定義の下の箇所で
>kernel.tfがインクルードされるべきではないでしょうか。
>
>この解決方法で問題ないか、ご存知の方おられましたら、
>ご回答いただきたいと思います。
>
>以上、よろしくお願い致します。
>
>
>

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
||                                                                  ||
|| (株)ヴィッツ                                                   ||
||    組込制御開発部                               ||
||                                                                  ||
||     片岡 歩    E-mail:kata @ witz-inc.co.jp                      ||
||                                                                  ||
||    〒460-0008 名古屋市中区栄2-13-1 白川第2ビル2F/7F              ||
||       TEL:(052)223-7570                      ||
||           (052)220-1218(代表)                                    ||
||       FAX:(052)218-5855                                          ||
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜