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

titicaca @ buz.bbiq.jp titicaca @ buz.bbiq.jp
2010年 2月 14日 (日) 18:15:10 JST


中村様

> ところで、25MHzのH8のCで書いた多チャンネルシリアルルーチンの処理能力は
> どれくらい出るものなのでしょうか?(扱い的にはToppersのserial.cと同様。PGは

シリアルはポーリングで動作するGDBスタブも(AKI)AE-3069-LAN 20MHzで
は57600は全くダメで38400以下しか動作しませんでした。
25MHzなら多少は余裕があるにしても割込みを使ったときのオーバヘッドも
考えると1chが限界ではないしょうか。

再送プロトコルでカバーして無理やり3chするにしても、外部メモリアクセス
は遅いので、シリアルドライバだけコード、データともオンチップメモリで
動かして高速化したほうが良いでしょう。

また、RAMデバッグのために、TOPPERSプロジェクトのGDBスタブが使っている
ような仮想ベクタ使うと割込み時のオーバヘッドが大きくなるので
直接ジャンプするものにしたほうが良いです。

それから、可能なら送信はポーリング動作にすれば割り込みが減って
受信とりこぼし対策になるでしょう。

以上ヒントでした。

256 坂元