[Armadillo:00136] Armadillo-J   /rc.d/rc.start/ にて自作プログラムを起動するとシリアル通信が上手くできません。

長家 正和 email@hidden
2005年 2月 17日 (木) 17:11:24 JST


ながやと申します。

開発環境を以下に示します
------------------------------------------------
Armadillo-J [PN(1p)*************-01P]
VineLinux 2.6r4
arm-elf-tools-20030314.sh        // こんぱいら?
uClinux-dist-aj20050105.tar.gz   // そーす
-----------------------------------------------

Armadillo-J にて、シリアルを介して接続された機器を、
制御するプログラムを作成しております。

私が作成したプログラムを、イメージにし、転送します。
そして telnetにてログイン後、起動しますと、無事シリアル
と通信し正常に動作します。

しかしながら、
/etc/rc.d/rc.start/ 内に [rc.95.jst]というシェルを書き
--------------------------------
#!/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin
TZ=JST-9
export PATH TZ

echo -n "Starting jst: "
/bin/jst2000 -mas &
if [ $? = 0 ]; then echo "done"; else echo "failed"; fi
-------------------------------
イメージを転送し、電源をいれたところ
動作せず、シリアルの通信のところでエラーが生じています。

発生したエラーは以下の模様です。
------------------------------
/dev/ttyS0: Invalid argument
------------------------------

発生したタイミングですが、
私のプログラムは一度の起動で 
シリアルのOpenを2回行います。
2回目の Openで発生しております。
[シリアルOpen]
↓
[処理]
↓
[シリアルClose]
↓
[ソケット通信]
↓
[シリアルOpen] (エラー発生)
Openの引数は次のとおりです。
-------------------------------------
fd = open(Modemdevice, O_RDWR | O_NOCTTY );
-------------------------------------
シリアル /dev/ttyS0 の利用は、このMLのログを参考に
/etc/inittabの ある一行をコメントアウトしています。

これは,telnet時(正常動作時)にたまたま私のプログラムが
動いただけと考えたほうがよろしいでしょうか?

原因として、現在いろいろ探しているのですが、
いきずまったためメールさせていただきました。
どうかご教授お願いします。

Nagaya Msakazu


__________________________________
Let's Celebrate Together!
Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/so2005/




armadillo メーリングリストの案内