- ベストアンサー
VxWorks+Tornadoを使っての開発
をやることになったのですが、添付のマニュアルがすべて英文で読むのに時間が掛かり、開発期間に間に合いそうにありません。 日本語のサイト、または文献で良いものを知っていらっしゃったら教えて頂けないでしょうか? 当方のレベルはソフト開発歴18年、ここ10年はWindowsばかりやっている、といったところです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>作成するソフト自体はTCP/IP通信+スレーブボードのメモリアクセスぐらい TCPは使いました。ちょっと違いがありますね。 エラー時のsocket()の戻り値が違うとか、 hostGetByName(),getservbyname()等が無いとか。 実機、クロスコンパイラ等が来るまでは、Windows上でダミーのインクルード、関数作ってコンパイル、デバッグしてました。 (で、コンパイラが届いても実機がまだ未完成でまたされたとか(^^;;) 参考に、Vxworks使うのに基本的な注意点と思うことを。 1) タスクはWindowsのスレッドに相当し、 OS自体がプロセスに相当する。但し、カーネルモード。 通常メモリ空間は共通(仮想記憶は無い)で保護は何もない。 マルチスレッドなのでスタティック、グローバル変数等を使う場合は、排他制御の意識が必要。 2) タスクの優先順位が重要で、ラウンドロビンは無く、(制限付で使えたかも) 高いプライオリティのタスクで無限ループ組むと 何も出来ない。 明示的にWindowsでいうSleep()やWaitForMultipleObjects()等やウエイトI/O等を使って制御をOSに渡す必要がある。 まあ、直接I/Oしないなら確かにそれほど難しくはないかも知れません。 私の時は、割込みは自分で設定して使うし、ハードウェアのポートは直接i/oするしでいろいろやってましたが。
その他の回答 (1)
- terra5
- ベストアンサー率34% (574/1662)
2年ぐらい前と昨年にPowerPC用のVxWorks,Torande2を使いましたが、 その時は印刷された日本語マニュアルがありましたけど。 開発環境含めて借りて作業したので今手元にありませんので詳細はわかりませんが。 私の時はVxWorks,Tornadoに関してはマニュアル以外は参考になりそうな情報はなかったですね。 あとは実機で試行錯誤です。 >当方のレベルはソフト開発歴18年、ここ10年はWindowsばかりやっている、といったところです。 ターゲットマシンとどんなソフトを作るかによりますが、かなり難しいような気がしますが。 リアルタイム系OSとか、組込み機器とかハードウェア動作に関する知識、経験とかありますか? 私は以前に一度ボードコンピュータのpSOS+使ったこともあったし、多少のハードウェアの知識とか、 Windows以外にもOS-9とかUnixとかいろいろ使った経験もあったので大分助かりましたが。 ソフトも通常のアプリケーションでなく、リアルタイムに近いもの作ってましたし。 CQ出版社のTECHI Vol.19 実線リアルタイムOS活用技術に少し(10ページ程度)、VxWorks,Tornadoのことが載っています。 リアルタイムOSに関してはTECHI Vol.15のリアルタイムシステム/マルチタスクシステムの徹底研究あたりが参考になるかも知れません。 http://www.cqpub.co.jp/hanbai/series/techi.htm あと、Tornadoはクロスコンパイラ等はgnuのを使っているので、 それ方面の資料ならあちこちにあると思います。 RS-232Cで接続してgdb使うとかあるかも知れませんし。
お礼
ご回答ありがとうございました。 日本語のマニュアルが存在しているのですね。 さっそく問い合わせてみます。 書籍はやはりTECH Iぐらいしかないのでしょうかね? 少ししか載っていないので他に専門の本があれば、、、と探しているのですが。 今は英語のマニュアルを渋々読んでいるのですが、読むスピードが日本語とは比較にならない程遅く、試行錯誤の方が全然早い状態で、難儀しています。
補足
作成するソフト自体はTCP/IP通信+スレーブボードのメモリアクセスぐらいなので楽勝なのですが、やるからにはなるべく解りたいと思いまして。。。ご面倒お掛けします。
お礼
>参考に、Vxworks使うのに基本的な注意点と思うことを。 こういうことが知りたかったのです。 あとは試行錯誤してみます。 ありがとうございました。