(toppers-users 2887) AKIH8-3069FでTCP/IPとシリアルを使ったタスクの不具合#2

山田健二 kenji.yamada00 @ gmail.com
2009年 3月 6日 (金) 11:02:56 JST


お世話になっております。
昨年10月に下記シリアル通信の不具合の件でご相談させて
頂きました山田と申します。

  (toppers-users 2816) AKIH8-3069FでTCP/IPとシリアルを使ったタスクの不具合
  http://www.toppers.jp/TOPPERS-USERS/200810/msg00005.html

半年近く経ってしまっており恐縮ですが、その後不具合箇所の
特定ができましたのでご報告いたします。
(以前のメールを削除しており、別スレッドになるかと思いますが
  ご勘弁ください)

■開発環境
 AKIH8-3069F + jsp-1.4.2 + tinet-1.4
 PizzaFactory2評価キットTOPPERS教材対応版

■実行環境

 WEBサーバ ------------ AKIH8-3069F ------------ 装置A
              Ethernet                  RS232C
                                 19200bps、フロー制御なし


(問題点)
AKIH8-3069Fと「装置A」間において、シリアル通信処理のタスクが
止まるような現象が発生する。

(不具合箇所)
シリアルデータ受信時に serial_rea_dat() 内の
_syscall(wai_sem(spcb->spinib->rcv_semid)) で止まって
いることが分かりました。

※当初は 19200bps で通信しており、9600bps に下げた
 ところ不具合現象はかなり発生しなくなりました。

装置A から送信されるデータは、確認した範囲では
欠落は無いようなので、AKIH8-3069F 側でのデータ受信時に
取りこぼしが起こっているのでは?と推察しているところですが、
問題が発生するシリアル通信処理タスクは、tinet を組み込まないと
止まることなく動作しますので、やはり tinet の組み込み方に
問題があるのでしょうか?

申し訳ありませんが、皆様、ご教授の程よろしくお願いします。


山田