(toppers-users 3235) Re: ハンドラ内でloc_cpuやdly_takを使用してしまった場合

Meika Sugimoto asuka.choronos @ gmail.com
2010年 9月 15日 (水) 21:05:11 JST


浜崎様

杉本と申します.

結論から言うと,割込みハンドラ内でタスクコンテキスト用の
サービスコールを呼ぶとエラーが返る仕様です.
何もせずに呼び出し元に戻るので,直接的に暴走や停止の原因に
なることはありません.

念のためTOPPERSのサイトにあるソースも確認しましたが,
きちんとエラーを返すようになっていると思います.
#ソースを見ただけですので推測です


実際にどう動くかはアプリケーションの実装次第になりますが,
エラーが返ることを確認せずに作っていたとすると
アプリケーションが意図した動作になっていない可能性が
ありますので,確認をお勧めします.

以上,よろしくお願いします.

(2010/09/15 17:15), hamasaki_h-krk @ corp.khi.co.jp wrote:
> 
> 始めて投稿する浜崎というものです。
> ITRONどころか、組込みマイコン事態の知識も低く、ほぼ素人です。
> このため質問自体も低レベルで不明な内容もあるかもしれませ
> んがよろしくお願いします。
> 
> 弊社で使用しているマイコンボードでCPUはSH2(7055F)、OSはjspカーネル
> Release 1.1.1β対応を組込んでいるのですが、まれに(年1,2回)
> CPU停止(WDTが作動)してしまいます。
> 
> 頻度が少なく原因究明が困難となっているのですが、最近になり
> シリアルの送信ハンドラ内(serial_handler_out)内にloc_cpuとdly_tsk
> が使用されている事に気付きました。
> 
> しかし、ハンドラ内ではiloc_cpuを使用しないといけない、loc_cpu
> を使用したら即座にエラー等でまともに動かないと思っていたのに
> 現状その状態で半年ぐらい動いています。
> 間違いは間違いなのですが、この間違いが弊社で問題となっている
> CPU停止につながるのか確認するため
> 
> (質問)
> ハンドラ内でloc_cpuやdly_tak使用するとどういった問題が発生する
> のか?
> どんなことでもいいので、どなたか教えていただけないでしょうか。
> 
> 


-- 
--------------------------
Meika Sugimoto
mail:asuka.choronos @ gmail.com