National Institute of Advanced Industrial Science and Technology (AIST) This page is a page of the former research institute. We stopped updating on March 31.2001.
E-mail to webmaster (Japanese) E-mail to webmaster (English)
next up previous contents index
Next: Index Up: VxWorks Previous: VxWorks側の起動

ホスト側の起動

任意のマシンの上でeusを起動し、"vxworks/vxweus"をロードする。 connect-vxw関数を用いてvxwservに接続する。 接続後、ソケットストリームが*vxw-stream*にバインドされる。 以下に、コネクトの例を示す。この例では、VxWorks上のsin, vadd関数を euslispの関数VSIN,VADとして定義している。

(load "vxworks/vxweus")
(setq s (connect-vxw :host "asvx0" :port 2200 :buffer-size 1024))
(defvxw VSIN "_sin" (theta) :float)
(defvxw VAD "_vadd" (v1 v2) (float-vector 3))

VxWorks上に作成される関数が、vxwsを通じて呼び出されるためには、 次の条件を満たさなければならない。

  1. 引数は、32個以内であること、引数に受け取るベクタの容量の合計が connect-vxwの:buffer-sizeで指定した値を越えないこと
  2. structを引数にしないこと、必ずstructへのポインタを引数にすること
  3. 結果は、int, float, doubleまたは、それらの配列のアドレスであること
  4. 配列のアドレスを結果とする場合、その配列の実体は、 関数の外部に取られていること

 

emtabbing13193

  vxw vxw-stream entry result-type args [関数]   defvxw eus-func-name entry args &optional (result-type :integer) [マクロ]



Hirofumi Nakagaki
Fri Mar 22 14:04:29 JST 1996