(toppers-users 4055) Re: RXシリーズでのカーネル管理外設定時のassert

Hiroaki TAKADA hiro @ ertl.jp
2013年 2月 20日 (水) 17:44:00 JST


久保様

TOPPERS/ASPを利用くださいまして、ありがとうございます。

メールを読ませていただいた段階で、私の見解をお知らせします。

ご指摘の通り、149行目の「 if(intatr == TA_NONKERNEL ){」は適切では
ありません。

> (asp\include\kernel.h)
> ・TA_NONKERNEL -> 0x02
> ・TA_ENAINT    -> 0x01
> ・TA_EDGE      -> 0x02

そもそも、TA_NONKERNEL は、DEF_INH に対する inhatr に対して指定する
ための定数です。それに対して、TA_ENAINT と TA_EDGE は、CFG_INT に対
する intatr に対して指定するための定数です(よって、値の重複は問題
ありません)。ですので、inhatr に対して TA_NONKERNEL をチェックする
こと自身が不適切です。

どのように修正すべきかについては別途検討したいと思いますが、とりあえ
ずは、その部分のコードを外してくださって良いと思います。

高田広章
名古屋大学

(13/02/20 16:59), AKIRA KUBO wrote:
> コニカミノルタオプティクス(株)
> 久保と申します。
> 
> お世話になります。
> 
> 本日は、カーネル管理外割り込みを設定した時点での
> assertについて、アドバイスいただきたく、メールをお送りさせていただきます。
> 
> [状況]
> ・TOPPERS/ASPにおいて、カーネル管理外の割込みを使用しています。
> ・CPUはRX63Nになります。
> ・RX62N用のTOPPERS/ASPをカスタマイズしています。
> ・このCPUの割込みレベルの最大は15で
>  14,15がカーネル管理外となるように設定しています。
> ・IRQ5の割込みレベルを15に設定しています。
> ・IRQ5割込み検出トリガはネガティブエッジに設定しています。
> 
> [現象]
> シスログ(シリアル)出力にて、
>  「C:\.....\asp\arch\rx_rxc\prc_config.c:153: Assertion
>      'TMIN_INTPRI <= intpri' failed.」と出ます。
> 
> [詳細/質問]
> 該当のファイル(prc_config.c)を確認したところ
> void x_config_int( INTNO intno, ATR intatr, PRI intpri){
> 関数の中に気になる記述を見つけました。
> 
> 149行目の「 if(intatr == TA_NONKERNEL ){」
> というところです。
> 
> [intatr]というワードで関数内を検索すると
> 174, 177, 180, 183, 207行目で使用されており
> その全てが「if( ( intatr & TA_XXX ) != 0U ){」
> (ただし、TA_XXXは行により異なる)
> という記述になっています。
> 
> (ファイルを添付させていただきます。)
> 
> ここに出てくるTA_XXXの定義値について
> 確認してみたところ以下のようになっています。
> (asp\include\kernel.h)
> ・TA_NONKERNEL -> 0x02
> ・TA_ENAINT    -> 0x01
> ・TA_EDGE      -> 0x02
> 
> (asp\arch\rx_rxc\prc_kernel.h ->
>   カスタマイズによりasp\arch\rx_rxc\prc_kernel_rx631.h)
> ・TA_POSEDGE   -> TA_EDGE(0x02)
> ・TA_NEGEDGE   -> 0x04
> ・TA_BOTHEDGE  -> 0x08
> ・TA_LOWLEVEL  -> 0x10
> 
> ※一部カスタマイズしたところはありますが
> 定義値やコードなどは原型のままだと認識しております。
> 
> この定義値を見る限り、
> 149行目の判定は適切ではないと
> 考えているのですが、いかがでしょうか?
> 
> それとも、カーネル管理外で使用する
> 割込みにTA_NEGEDGEなどの属性を
> 与えることが間違っていますか?
> 
> TOPPERS/ASPにとって、よりよい姿を
> 教えていただきたいと考えています。
> 
> 不足している情報などあれば、
> 提示させていただきます。
> 
> なお、RX62Nでも同様の処理をしていますが、
> 同様の結果となっております。
> 
> どうぞ宜しくお願いいたします。
> 
> --------------------------------------------
> 久保 明 :コニカミノルタオプティクス(株)堺サイト
> センシング事業部
> 開発部 開発3課
> 〒590-8551 大阪府堺市堺区大仙西町3-91
> TEL 072-241-7651
> FAX 072-241-7681
> e-mail : akira.kubo @ konicaminolta.jp
> 
> 
>