(toppers-users 3078) Re: [H8]E_CTX reported by `isig_tim()' in line 63 of `../jsp/systask/timer.c'. 頻発

Takayasu Nakane nakane @ next-dimension.co.jp
2010年 2月 14日 (日) 12:11:22 JST


ROM 状態でごめんなさいの中根@NDです

H8/3052 で問題があるようですが,かなり前に気が付いて指摘したような気がす
るのですが(記憶が曖昧で済みません),直っていなかったようですね。

ご指摘のように h8_3052.h では以下の様に定義されています。
H8IN_RAM_BASE		0xffef10
H8IN_RAM_SIZE		0x001000

RAMの先頭アドレスの間違いが指摘されていますが,H8IN_RAM_SIZE の方も間違
っています。
3052 は 8kbyte の RAM ですので 0x002000 が正解です。

もし,3052 で jsp を使おうかと思っている方はご注意を。

To. 中村 様
シリアルはうまく動作するようになったでしょうか。
何か相談に乗れることがあるなら個人のメールアドレスへ送ってくれたら協力し
ますよ。

(株)ネクスト・ディメンション
      中根
      nakane @ next-diemnsion.co.jp

>こんばんは、中村です。
>
>TO: 坂元 様
>
>> TOPPERSの実装には詳しくないのですが、可能性として多重割込みに絡む
>> 問題のような気がします。シリアルとtimerの割込みレベルを同じにする
>> などして多重割り込みを使わなければ問題を回避できるかもしれません。
>
>上記、先日試してみたのですが、残念ながらうまくいきませんでした。
>単に、シリアルにタイマーが割り込んでいるというわけではなくて、
>おそらく、送信バッファにデータを挿入する際に結構長い時間cpuロックを
>しているのですが、そのロックをかける瞬間に割り込まれてしまうのでは
>ないかとおもっています。
>ただ、具体的にどう手を入れていいのかがさっぱりわかりません(--;。
>それに、E_CTXをださずそのままフリーズするケースもあるため、
>単純にそれだけが原因とも言い切れないのです。
>
>今回は、TOPPERSの使用をあきらめて、現状まっさらな状態から
>作り直しているところですが、実は単純なシリアル送信割り込みではまって
>いたりします。コードを見る限り問題なさそうなのですが、どういうわけか
>うまくうごいてくれず・・・。間に合うのか心配になってきました(--;
>
>
>2010年2月13日14:25  <titicaca @ buz.bbiq.jp>:
>> 中村様
>>
>>> その後、ですが、syslogを止めてもtimerが動いているとやはりNGでした。
>>> 根本的に?TOPPERSの組み込みシリアルルーチンとtimer処理の相性が悪いようにお
>>> もいます。
>>
>> TOPPERSの実装には詳しくないのですが、可能性として多重割込みに絡む
>> 問題のような気がします。シリアルとtimerの割込みレベルを同じにする
>> などして多重割り込みを使わなければ問題を回避できるかもしれません。
>>
>>> 追伸:
>>> 坂元様、MLでのファイル添付は極力避けたほうがよいです。FTPなりWebなりにあげ
>>>>>
>> 失礼しました、了解です。
>>
>> 256 坂元
>>
>>
>>
>