リアルタイムリナックスについて
■ このスレッドは過去ログ倉庫に格納されています
0001wait_np
NGNG素朴な疑問やくだらない質問も受け付けます。
RT-Linux http://rtlinux.cs.nmt.edu
ART-Linux http://www.etl.go.jp/etl/robotics/Projects/ART-Linux
わかることは答えます。わからないことは皆さんが答えてください。
0713login:Penguin
2005/07/20(水) 21:37:14ID:COp3cVuMその金額には、単にOSだけではなく、サポートも含まれていると思います。
自分でKernel2.6やRTAIのフリー版などを使った場合は、100万円出さなくて
済むかわりに、いろいろな調査や設定などで「時間」や「手間」など、
個人の場合は直接お金として表われてこない「コスト」がかかるかもしれません。
それから、今のTimeSysはどうなのか知りませんが、2年ぐらい前は100万円も
出さずに買えるケースがありましたよ。
Pentium用の基本セットなら、$875で買えました。日本でもそれに
準じた金額でした。
http://web.archive.org/web/20031008120542/http://www.timesys.com/
商用版だからといって高いとは限りませんよ。
0714login:Penguin
2005/07/20(水) 23:31:30ID:0vP2x2nPおお!いいじゃないですか!$875なら。
x86(PC-AT)しか使わないのでいけるかも?
RTAIのフリー版しか選択の余地無しと思っていましたが。
日新はそんなこといってなかったのに…
今はいくらなんだろ?
ありがとうございました。
0715login:Penguin
2005/07/22(金) 07:27:20ID:F28odBSTユーザープロセスのスケジューリングポリシーや優先度は
sched_setscheduler() で設定できるけど、
ドライバなんかで生成した Kernel Thread のそれは
どうやったら設定できるのかな。
sched.c::sched_setscheduler() を直接呼ぶの?
pthread API は使えるわけ無いし、ググってもほとんど情報がない。。。
0716login:Penguin
2005/07/23(土) 18:29:54ID:dRSqAEeOpidを持つスレッドであれば、schedのsetscheduler関係のものが使えるのでは?
試してみればいかがでしょう?
タスクレットとかだと、普通のKernel 2.4では優先度とかを設定するのは
無理なような気がします。
Kernel 2.6のO(1)スケジューラとか、MontaVista、TimeSys、RTAIとかだと
タスクレットに対しても優先度とかを設定できるんですかねぇ?
0717login:Penguin
2005/07/24(日) 08:17:20ID:2uHKuXyjもともとは、ユーザープロセスのほうで SCHED_FIFO とかにしても
Kernel Thread の影響で全体のスケジューリングにどういう影響が
あるかを調べてます。
kernel/sched.c とか kthread.c を見てる限りではプロセスと
同じ扱いみたいだからできそうなんだけど、時間の都合で
まだ試せてないんです。
あと sched_yield() はユーザープロセスオンリー?な気もして
引き続き調べ中。 ちなみに 2.6.11 でつ。
0718login:Penguin
2005/07/24(日) 10:55:19ID:aAm3ZTIwカーネルスレッドがSCHED_OTHER(2.6では名前変わったんでしたっけ?)なら
SCHED_FIFO/SCHED_RRスレッドのスケジューリングには影響ないでしょう。
SCHED_FIFOのスレッドが影響を受けてしまったら、SCHED_FIFOの意味が
薄れてしまいますよね。プライオリティの設定にもよる気がしますが。
それからカーネルスレッド内のクリティカルセクションが長いとユーザプロセス
に影響が出てしまいますが、どうスケジューリングされるのかということだけ測定
するのであれば、そういう条件はあまり関係ないかもしれませんね。
あと、sched_yield()のようにCPUをあけ渡してスケジューリングしたいのなら、
カーネルモードではschedule()を呼べばいいと思います。
0719login:Penguin
2005/07/24(日) 10:58:30ID:aAm3ZTIw優先度を設定したいんですね。
SCHED_FIFOにすれば、ユーザモードでもカーネルモードでも関係ない
ような...
0720login:Penguin
2005/07/24(日) 22:14:29ID:2uHKuXyjさんくす。
ユーザープロセスも Kernel Thread との間に越えられない壁はなくて、
Kernel Thread が全部 SCHED_OTHER(SCHED_NORMAL)なら問題なさそう
ってことでつね。
# どやって調べようか。。。うーむ
ちなみに、以下調べたことチラシの裏書き。
FIFO/RR は静的優先度1-99 で、OTHER は 0。 OTHER は OTHER の中で別に
動的優先度(NICE値)を持っており、各プロセスに平等にCPU が行き渡るように
スケジューラが動的優先度を随時調整している。
静的優先度と動的優先度は、変数としては同じところに保持されていて、優先度の参照の際には
スケジューリングポリシーを参照してオフセットを足して使い分けている。
(静的[0..MAX_RT_PRIO-1]、動的[MAX_RT_PRIO..MAX_RT_PRIO+40])
コード的に動的優先度の数(-20〜20の40個)より静的優先度の数(0〜99 の100個)の方が
大きい前提で比較を行っている if 文がありそうなので、sched.h の MAX_USER_RT_PRIO を
いじるときは注意。
sched_setscheduler() などでスケジューリングポリシーを設定するときに
FIFO/RR なら OTHER から CPU を奪って FIFO/RR にタスクスイッチする。
優先度の判定もしていて、優先度が current より高ければ、同様にタスクスイッチ
する。
0721login:Penguin
2005/08/06(土) 03:14:59ID:TACiXhq1Fedora4使ってる人いますか?
0722login:Penguin
2005/08/10(水) 01:16:20ID:IMW3UDZu> sched.c::sched_setscheduler() を直接呼ぶの?
CPU migration thread なんかの kernel thread は、
pid を 0 にして sched_setscheduler() で、
呼び出した thread 自身のスケジューリング設定をやってるね。
あと、sched_yield() したければ、schedule() でも良いかもしれんが、
yield() ってのも有る。これだと、set_current_state() とかでの
前準備しなくて良いのでは。
0723login:Penguin
2005/10/08(土) 13:46:20ID:ng3C5EQG0724松井→サントスは必要なかった
2005/10/08(土) 21:54:34ID:vgSIfNSb0725YAHOO出品情報でし
2005/10/10(月) 14:36:38ID:9ddrRvAC開始¥3300ですので、よろしければ入札してみてくだせ!
Linux CUI環境に最適!
http://page13.auctions.yahoo.co.jp/jp/auction/r20112912
0726login:Penguin
2005/11/02(水) 21:57:24ID:OP6gpXTW新製品「Turbolinux FUJI」発表
2005年11月25日より販売開始
ターボリナックス株式会社
同新製品は、2003年10月にリリースされ、リナックスOS分野で前人未踏の
52週(1年間)連続売上第一位(BCN調べ)を記録し、
数年来国内売上シェア第一位を誇るターボリナックスの
基幹デスクトップ製品「Turbolinux 10 Desktop」(以下10D)
の後継製品にあたり、 国産OSならではの完成された日本語環境はもちろん、
10Dで提唱したWindowsとの互換性をさらに強め、安全性、 安定性に優れた
デスクトップ環境を提供します。Windows環境との共存の強化により、Linux
とWindowsの優位性を融合した ハイブリッド・デスクトップリナックスOSとして、
企業、官公庁、自治体、教育機関などへの導入をより一層スムーズなものとします。
FUJIではOS本体とプラグインという新しいビジネスモデルを展開します。
これにより、ユーザーは基幹OSであるFUJIを入手すれば、
用途に応じてプラグインを足すだけで自分だけに特化したOSを利用することが可能となります。
現時点において、ビジネスユース向けプラグイン、 ホームユース向けプラグインやURLフィル
タリングソフトなど、セキュリティ関連プラグインの提供を予定していますが、都度ユーザー
ニーズを 市場から汲み取り、タイムリーに新しいプラグインを提供することがFUJIの価値を高
めるものと考えています。なお、FUJI発売と同時に プラグイン第一弾としてサイバーリンク社
の「PowerDVD for Linux」が決定しており、これら各種プラグインは新ツール"Turboプラス"経
由で提供し、 ユーザーは簡単に購入、ダウンロード、インストールができるようになります。
http://www.turbolinux.co.jp/cgi-bin/newsrelease/index.cgi?date2=20050920033408&mode=syosai
0727login:Penguin
2005/11/04(金) 23:40:35ID:3YE2b6zqちっともリアルタイムじゃねーべナ。
プラグインのスケジューラで自作の奴とか試したエロイ人はおらんのか?
0728login:Penguin
2005/11/24(木) 03:25:01ID:bxMMMkbfEPSON から出ているポータブルストレージP-2000には、イーソルという会社のµITRON4.0準拠OS
が搭載されているようです。
…そこで、本体のHDD(40GB)を例えば160GBの物に換装する事は可能でしょうか?
120GBへの換装の成功例は有ります。
137GBの壁は現在のハードでも有るのでしょうか?
0729login:Penguin
2005/11/24(木) 04:14:56ID:Cn8YF6mC0730割込ハンドラ@優先順位
2005/11/24(木) 11:43:07ID:b7no7JmMrtl_request_irq(irq, handler)関数で登録した割込ハンドラの
優先順位はどうなるのでしょうか?
私の環境では、割込ハンドラ関数実行中に、SCHED_FIFOで生成した
別のスレッドがレディー状態になると、そのスレッドにCPUの使用権が
移てしまいます。
割込ハンドラ関数を最優先に処理させる為の方法はあるのでしょうか?
0731割込ハンドラ@優先順位
2005/11/25(金) 09:12:08ID:PGju3YQA割込みハンドラの処理が間違っていました。
割込み処理の中で,関数 pthread_wakeup_np() を使って,
スレッドを起動しようとしていたのですが,
この関数を使うと,ただちに(割込み処理の途中で)
スレッドが実行されていました。
スレッドを起動する処理に,関数 pthread_kill() を使うと,
割込み処理が終了した後で,スレッドが実行されるようになりました。
【変更前】割込みハンドラ
unsigned int intr_handler(unsigned int irq, struct pt_regs *regs)
{
:
pthread_wakeup_np(thread_id);
:
return 0;
}
【変更後】割込みハンドラ
unsigned int intr_handler(unsigned int irq, struct pt_regs *regs)
{
:
pthread_kill(thread_id, RTL_SIGNAL_WAKEUP);
:
rtl_schedule();
return 0;
}
0732login:Penguin
2005/12/02(金) 20:30:55ID:X1Af1hb4スレ違いだが、P2000側のドライバが 48bit LBA なんて
対応して無いだろ。 やめとけ。
0734login:Penguin
2005/12/27(火) 00:35:29ID:Odg3gsORどんなOSですか?かなりいいOSとは聞くのですが、情報は
ありませんか?教えて下さい
0735login:Penguin
2005/12/27(火) 00:42:18ID:Odg3gsORどんなOSですか?かなりいいOSとは聞くのですが、情報は
ありませんか?教えて下さい
0736login:Penguin
2005/12/27(火) 13:55:55ID:1SQYWINhまず、あなたの社名と営業所名を書いて下さい。
話はそれからです。
0737login:Penguin
2005/12/27(火) 18:50:13ID:etMJ9ITSVxWorkってかなり開発環境がいいって聞いているのですが・・
情報を教えて下さい。
0738login:Penguin
2005/12/27(火) 19:38:55ID:4xI3gVfp会員制クラブみたいな感じ。あと小口もあまり対応しないはず。
ここはペンギン板なので他の方を代弁しますね。
かえれ。
0739login:Penguin
2005/12/28(水) 00:13:50ID:FBPxkGUIVIA C3プロセッサは相性わるいんかな?
insmodしてもrmmodすると落ちる…
RT-Linux3.2-pre3ってどこに落ちてる?
ART-Linuxってどうよ?ダウソするのに氏名やら住所,使用目的をメールせないかんのけど…
わけわかんね。
0740login:Penguin
2005/12/28(水) 01:43:15ID:ERfm6VHA0741login:Penguin
2005/12/28(水) 22:32:04ID:4bTtfVys0742login:Penguin
2005/12/30(金) 14:33:20ID:khrfGdI6本家(FSMlabs)からRTLinux Freeのdownloadへ行けばOKじゃないんですか?
RTLinuxFree - fsmlabs.com
http://www.fsmlabs.com/rtlinuxfree.html
Home - www.rtlinuxfree.com
http://www.rtlinuxfree.com/
1年前は、pre2がDLできてたけど、流石に今はpre3じゃないかなぁ?
最近試してないんで知らないけど。;-)
0743login:Penguin
2006/01/04(水) 16:00:17ID:GCA5+gu6www.rtlinuxfree.comのrtlinux-3.2-rc1.tgzを落とせばいいんですよね?
これ落としてビルドしたけど,やっぱ止まる…(ToT)
configurationが問題かな?
CPUのタイプやら,その他のオプションをいろいろ変えているけど,なかなか…
ちなみに,カーネルは2.4.20,RedHat9です。カーネルはkernel.orgから落としました。
RTのdoc読むとkgccを使ってますよね?gccではダメなんですか?
あと,gccって,このカーネルではこのgccのバージョンじゃないとダメ!ってありますか?
0744login:Penguin
2006/01/04(水) 16:18:31ID:o2qi2kX+持っているぞ。必要なら教えて。
0745login:Penguin
2006/01/05(木) 16:01:52ID:hDtsW4j7↓これでしょ?
ttp://www.cqpub.co.jp/interface/contents/2005/200503.htm
●「VxWorks」を使ったRTOS技術の基礎と応用(第11回,最終回)
組み込みシステムのデバッグ(後編)――ビジュアライゼーション・ツール
0746login:Penguin
2006/01/05(木) 17:26:40ID:+yMnItYH可能なのでしょうか?
pthread_make_periodic_np(pthread_self(),gethrtime(),X*1000*1000);
そのスレッドの最後でXを返すことでスレッドの次の実行周期を
変更できると考えていたのですが上手くいかないので
どなたかわかる方教えていただけませんか?
0747login:Penguin
2006/01/05(木) 18:50:11ID:xmEkQvVD営業的に説明が難しくて・・・・。
何かご存知のことがあれば教えて下さい。
よろしkお願いします。
0748login:Penguin
2006/01/08(日) 17:50:13ID:Ga3TjZNrRH9のgcc(3.2でしたっけ?)で無問題と思います。
少なくとも、pre2, pre3で試した時は、RTLinuxのレグレッションテストを通りました。
kgccを使う必要があったのは、RH7.X/8.X系の時の話で、9.0では問題に突き当たった
経験は無かったです。
> configurationが問題かな?
そうですね、変にチューニングしようとすると、おかしな状態になるケースが多いはずです。
基本方針としては、
・変なチューニングを施さない
(最適化させるのは、最低ラインのビルドが成功してから徐々に変える)
・エラーが出たら、大抵の場合特定のモジュールのビルドに失敗しているのでビルド対象から外す
(Gイーサとか、Gイーサとか、Gイーサとか…(笑))
ってな感じかな?
0749login:Penguin
2006/01/11(水) 13:32:29ID:Wn8rLbzA遅くなってすいませんm(_ _)m
んじゃ,gccを使用する場合は
CC=$(CROSS_COMPILE)gcc
から
CC=$(CROSS_COMPILE)kgcc
にする必要はないってことですね?
CPUの問題と思って色々種類を変えてビルドしてたんですが,やっぱり変化無しで…
やっと起動した〜!と思ったら,その後のレギュレッションでフリズったり(ToT)
泣く泣くハードリセットかけて再起動して…
とりあえずネットワーク機能は切ってビルドしてみます。
早速,試してみます。
ありがとうございました
0750login:Penguin
2006/02/05(日) 22:19:43ID:nKb5tm0A普通の Linux は動かしてるベンダーあるみたいなんだが。
0751login:Penguin
2006/02/06(月) 11:19:43ID:6e2aa/2o出来るとは思うが。
リアルタイムスケジューラーを二階建てにする意味があるのか?
0752login:Penguin
2006/02/06(月) 14:14:20ID:rV6ufK08きれいにリアルタイムと非リアルタイムの分業ができてない
へぼアーキなんすよ。 全部μITRON にもどせば良いじゃねーかと
いわれないためには、Linux もある程度リアルタイム性を維持して
おいしいところ使えますよっていう話を見せないとね。
Linux 屋さんからμITRON 屋さんにもどるっていう選択肢もあるけど
最近 Linux に情が移って。。。
0753login:Penguin
2006/03/26(日) 02:30:27ID:NU/QeSmU0754login:Penguin
2006/03/26(日) 17:28:11ID:c9l8/p/A0755login:Penguin
2006/03/26(日) 17:35:48ID:YZaB3/Ez0756753
2006/04/03(月) 09:49:37ID:eVyguM6Rグラフィックス動かすのがメインなので、普通のジョイスティックで入力でいいとは思うんですけど。
0757login:Penguin
2006/04/03(月) 10:45:43ID:X1jpCbuvものすごい量のデータで受渡しに時間がかかり過ぎるなら
計算して減らすという手もあるが。
まあRT側は極力単純にするべきだと思うわけですが。
0758login:Penguin
2006/04/04(火) 02:05:24ID:s96GIfzQ計算? その結果の転送? 実際の描画?
0759753
2006/04/06(木) 09:48:57ID:9JjD6Rdi入力値をグラフィックに与える値にする算も複雑なものではないく、送るデータの量も少ないです。
なので、RTを使うこと自体が影響してるのかなと思いまして。
0760login:Penguin
2006/04/06(木) 10:10:14ID:7QNr34MXRTタスクの影響でそこまで重くなったら、システムが破綻すると思う。
0761login:Penguin
2006/04/08(土) 01:00:23ID:16XmyeZgDMA使ってる?
あとは割り込みハンドラがゴージャスに作ってあるとか。
0762login:Penguin
2006/04/13(木) 23:10:52ID:AvNZegIx人いますか? 安定度やリアルタイム性はいかがなものでしょう。
当方MPC82xx(PowerPC)で使いたいと思っています。kernel2.6系で動かしており、
最初はRTAIをと思ったのですが、RTAIはPowerPCはkernel2.4のみのサポートみ
たいで、kernel2.6に移植できるだけの技術力がありません。
XENOMAIはPowerPCもkernel2.6で動くみたいなので、使っている人がいれば情
報下さい。
0763age
2006/05/20(土) 16:57:16ID:58hivAqvどうやって利益出してるんでしょ?
Linuxカーネルベースに手を加えてもGPLならば
ソース公開しなければならないので、
いくらでもパクられそうな気がしますが。
RTOSを勉強するために通常Kernelとのdiffを
とってみたいのですが、どこにいけばMontaVistaの
ソースって見れます?
日本語サイトにはなかった
(FAQに入れなかった)
ちなみにLinux自体初心者です...
0764login:Penguin
2006/05/20(土) 18:57:34ID:wRLJzgLeMontaVistaと契約すればソースも見られると思いますよ。
金額はMontaVista JapanとかELTとかの営業さんに聞けば教えてくれます。
ユーザじゃない人にまでソースを公開しなければならないってことはないので、
誰でもアクセスできるところにはソースはないでしょう。
この辺が、GPLについてよく勘違いしてしまうところですね。
確か、パナソニックかNECのケータイにはGUI担当のCPUではLinuxが動いて
おり(通信用のCPUにはITRON系のOSを載せてた。最近の機種も同じかどうか
は知りません)、取説にソースコードダウンロードのURLが書いてあって、
そこにアクセスして製品のシリアル番号を入れるとダウンロードできた気がします。
0765login:Penguin
2006/05/20(土) 19:13:27ID:wRLJzgLeTOPPERSとか
http://www.toppers.jp/
ソフトリアルタイムで、あんまり割り込み応答性能にこだわらないので
あれば、kernel 2.6で十分イケるんでは?
RTOSの上でタスクの1つとしてLinuxを動かしているRTAIやRTLinuxという
のもあります。
この辺の性能についてはこことか参照。
http://www.atmarkit.co.jp/fembedded/rtos01/rtos01a.html
記事中に、970msとか、"ms"と表記されている部分が確かあったと思いますが、
間違いで、"μs"が正しいです。
>>684
0766login:Penguin
2006/05/20(土) 20:24:39ID:58hivAqv無知な私に、レスありがとうございました。
近い将来、組み込みMontaVistaベースの仕事に
入りそうなので、聞いてみました。
開発経験は長いのですが、オープンソースというのは
初めてで、ライセンス等は疎いです。
このへんも学ばなければなないというところでしょうか。
仕事というのは通信機器関連なのですが、
Kernel2.6でもμのオーダでタスクディスパッチが出来るのなら
素晴らしいですが、Montaとも比較して性能検証
してみたいです。。。
モッサリと言われないためにも・・・
0767login:Penguin
2006/05/21(日) 15:17:43ID:zaWHdAlcディスパッチや usleep の誤差は jiffies 単位だよね?
より正確に jiffies 単位になるだけで。
0768login:Penguin
2006/05/22(月) 23:25:25ID:K2lviSdL「普通」ってどういう条件なのか不明ですが...
ディスパッチがjiffies単位でしか発生しないんでは、プロセスやスレッドは
めちゃくちゃ反応悪いしOSとしてまともに動かないと思いますよ。
というか「ディスパッチ」ってどういう意味で使ってます?
usleepの精度は確かにjiffies単位なので、正確なタイマが欲しければPOSIX
のリアルタイム拡張(1003.1bとか1003.1cでしたっけ?)を使うべきでしょう。
高精度タイマにするパッチとかってないんでしたっけ?
0769login:Penguin
2006/05/23(火) 00:22:24ID:QbeUyqai0770login:Penguin
2006/05/23(火) 01:33:39ID:FRkGPqvH正直なところ、リアルタイム性も大事だが、ゼロコピーとか
そういう処理効率を考えるほうがいいんじゃないかと。
0771login:Penguin
2006/05/23(火) 07:07:17ID:wy0Cc+6E0772login:Penguin
2006/05/23(火) 08:16:09ID:sMe4PIZ00773login:Penguin
2006/05/23(火) 10:31:04ID:QbeUyqai0774login:Penguin
2006/05/25(木) 00:07:00ID:Hcf3hZ1y1msが超長時間って、そりゃ組込みでもモノによるわな。
それにjiffiesは「タイマの分解能」に影響を与えるだけであって、
「割り込み応答性能」じゃない。
「マイクロのオーダの精度」って、タイマ(タイムアウトによるイベント発生)
の分解能のことなのか、割り込み応答性能のことなのかで違ってくるね。
>>773
絶対に時間保証が必要なら、普通に「普通のRTOS」を使うべき。
タイマの分解能が1ms、割り込み応答性能がだいたい数10μs
(これもCPUやバスなどのアーキテクチャに依存するけど...)でいいん
なら、リアルタイム拡張されたLinuxも選択肢の1つになるね。
さらに、リアルタイム拡張Linuxでも、独自のRTOS Kernelで動く
RTLinuxやRTAIと、Kernelそのものをリアルタイム化した
Kernel2.6/MontaVista/TimeSysとでは機能や性能が違うから、
一概には判断できないね。
0775login:Penguin
2006/05/31(水) 00:49:23ID:KXk12jEW0776login:Penguin
2006/06/03(土) 09:03:08ID:6+tC3xDsKernel2.6ベースのものなら使えるのでは?
RTAIやRTLinuxでは、Linux側をがんばってもしょーがないので、
Linux Kernelそのものをリアルタイム化したタイプで、Kernel2.6
ベースのもので試してみたら?
0777login:Penguin
2006/06/26(月) 13:31:41ID:qfWRMZi1今手に入るPentiumDとかのマルチコアやP4のハイパースレッド対応CPUで
RTLinuxカーネルって動くんでしょうか.
一応構成として
Turbolinux 8(Kernel2.4系)
RTLinuxFree 3.1
Interface社のDA,ADボード
Pentium4 3.2E
GigaByte GA-8IG1000-G
ってのを考えています.
0778login:Penguin
2006/06/29(木) 16:01:28ID:l1BeWowDInterfaceによれば、BIOSでHyper-Threadingを無効にし、
OSを再インストールしろとあります。
http://www.interface.co.jp/catalog/hyper_threading.asp
似たような構成で使ったことがありますが、
ハードウェア的には問題ないと思います。
ただHDDはSerialATAでないほうが楽でしょう。
0779login:Penguin
2006/07/11(火) 14:18:25ID:n/PCoE3kご回答ありがとうございます.
Hyper-Threadingが用をなさないとのことで,
CeleronDとIDE-HDDの組み合わせで作業を行っています.
ちなみにTurboLinux8WはSerialATAの機能がONになっていると
IDEが見えないようでインストールすらできませんでした.
0780login:Penguin
2006/09/07(木) 10:18:08ID:Pf/EFgCittp://japan.internet.com/webtech/20060823/12.html
0781login:Penguin
2006/09/18(月) 05:16:52ID:dbPQnzukそこで制御用のマシンをこれから組むことになったのですが、
マシンの構成を決める上で、「パーツはこのようなものではRTLinuxが動かない」
といった特に気をつけなければならないことがあればご教授願えないでしょうか?
バージョンはRTLinuxFree3.1で、今のところはCore2Duoのような新しい物を使っていこうかという方針です
よろしくお願いします
0782login:Penguin
2006/09/25(月) 21:02:47ID:zor5JUeZRTLinuxにおいて、FIFOでモジュールからデータを取ってきて
プロセスで受け取り、その数値を表示させています。
黙ってみている分には問題ないのですが、
マウスを動かしたり、ちょっとした作業をしようとすると、ある変数だけ「NaN」になります。
その他の変数は引き続き問題なく表示されます。
FIFOバッファのサイズを大きくしてみたり、データ数を間引いて減らしたり
USBマウスを使わないようにしたりしてみましたが駄目でした。
何を疑ったらよいのでしょうか。
0783782
2006/09/25(月) 21:46:11ID:zor5JUeZrtl_printfで問題の変数の内容を覗いてみたところ、
他の作業(といってもたいしたことの無い作業)をした瞬間におかしな数値になりました。
どうやらFIFOは悪くないようです。
周期実行を1msにしても状況は変わりません。
環境は、RTLinux2.4、RedHatLinux8、Pen3 1GHzです。
0784login:Penguin
2006/09/29(金) 22:40:49ID:NAuj+gglRT FIFOの取得サイズが、実は想定より小さいケース(瞬間)が
あった。という事は、ありえませんか?
ところで、typoだと思うんですが、
RTLinux 3.?
kernel 2.4.??
RedHat Linux 8
ですよね?
0785login:Penguin
2006/09/29(金) 22:44:18ID:NAuj+gglとりあえず、>>778さんのが参考になるかと思います。
要するに、「少し枯れた構成が安定する」ですね。
0786login:Penguin
2006/09/29(金) 22:47:39ID:NAuj+gglを書いた後に思い出しました。
当該の変数ってのは、浮動小数点数です?
うろ覚えですが、浮動小数点数を扱う際は、専用の初期化関数を
呼ぶんじゃありませんでしたっけ?
0787login:Penguin
2006/10/02(月) 12:02:16ID:lh/RRGYBRTLinuxを使い始めたのですが、どのくらいの正確さでプログラムの周期を
行っているか調べたいのですがどのようにすれば良いのかわからりません。
ネット上には周期を測定したときのグラフなど上がっているのですが方法まで
載っているのがみつかりませんでした。
これは自分でプログラムを組んで測定するものなのでしょうか?
ちなみに1ms周期でプログラムを行うつもりです。
0788login:Penguin
2006/10/03(火) 19:21:24ID:qKxrgjS6RTLinuxの詳細を知りませんが、だいたい次のようにするのが簡単なんじゃないでしょうか?
* OSに対してタイマの精度(分解能)を設定。1msでいいなら1ms。
VxWorksなんかだと、デフォルトの精度が16.67msなので、これをやらないと
タイマAPIとかで「1ms周期」とか作れない。
* 1ms周期を設定した定周期タスクを生成。
定周期起動するAPIを使うか、1msのwait API(システムコール)を実行する
無限ループのタスクを生成。
* そのタスク内で、前回起動したときの時刻と、今回起動したときの時刻を比較。
時刻を取得するAPIは、RTLinuxにあるんじゃないでしょうか。
その時刻取得APIの精度が悪いなら、x86系CPUならインラインアセンブラとかで
RDTSC命令を使ってCPUのクロックから時間を計算。
タスクじゃなくて割り込みで実現したいなら、それでもいいですよね。
タイマ設定APIとかタスク生成APIとかはRTLinuxのドキュメントを調べてみてください。
そもそも、タスクって何?っていうことなら、適当にググるか本屋さんで組み込みや
リアルタイムOS関連の本を買ってきて勉強してみてください。
と、ここまで書いて@ITの記事を思いだして見てみました。
http://www.atmarkit.co.jp/fembedded/rtos02/rtos02b.html
http://www.atmarkit.co.jp/fembedded/rtos02/rtos02c.html
このへんにかなり詳しく書いてくれてる(上記の方法とは別の方法)ので、読んでみてください。
0789ぱあぷウ
2006/11/28(火) 15:22:53ID:yfEB0eXs教えてください。
0790login:Penguin
2006/11/28(火) 17:24:26ID:BUDaYi7C0791login:Penguin
2006/12/23(土) 02:08:55ID:0D9MBKc42.6系には
http://www.rtlinuxfree.com/component/option,com_remository/Itemid,27/func,fileinfo/id,9/
を落とせとのこと。
で、メアドとか登録して数時間は待ってみたけど、
download先のURLとかが全く送られてこない。
メールが届くまでにどれくらいかかるか誰か知ってる?
それとも、どっかで再配布してないかな。
0792791
2006/12/23(土) 12:06:21ID:0D9MBKc40793791
2006/12/24(日) 14:00:34ID:PZGMq9DIkernel再構築後にrebootすると、
Warning: unable to open an initial console
となって止まってしまう。
ググると、dev/consoleが開けないのでは?とかあるけど、
元のkernelでは問題なく立ち上がっている。
何を疑ってみればよいでしょうか?
SL 4.4 (kernel 2.6.9)です。
■やったこと
# mkdir /usr/src/rtlinux
# cd /usr/src/rtlinux
# tar zxvf ~/prepatched_linux_kernel-2.6.9-rtl.tgz
# cd linux-2.6.9-rtlfree
# make menuconfig <= CPUの設定だけPen IIIに変更
# make bzImage
# cp arch/i386/bzImage /boot/rtzImage
# emacs /etc/grub.conf
# reboot
■grub.confに追加した内容
title RTLinux v3.1
root (hd0,0)
kernel /rtzImage ro root=/dev/hda3 <= dfすると/になってる
0794791
2006/12/24(日) 14:21:56ID:PZGMq9DIdoc/Instalation.txtには"Disable local APIC support"って書いてあるんだけど、
patchあてたあとのmenuconfigだとlocal APICの項って出てこない。
だけど、.configには
CONFIG_X86_LOCAL_APIC=y
ってなってしまっている。
これはどうやって回避すればいいんでしょうか?
grub.confにnoapicをつけろってのと同義?
0795login:Penguin
2006/12/24(日) 14:57:16ID:h4sPvLbw2.6版はmake bzImageの後
make modules
make modules_install
make install
で、起動はできるようになったけど…
さらに起動後RTLinuxをコンパイルまではいけるけど
サンプルがちゃんと動いてないので自信はありません、ごめ
0796791
2006/12/24(日) 15:52:36ID:PZGMq9DIあっ、
# make modules
# make modules_install
を書き忘れてました。
# make install
はしてないです。今から試してみます。
0797791
2006/12/24(日) 16:07:05ID:PZGMq9DIすると、grub.confとか自動で書き換えるのか。
# mkinitrd /boot/initrd-2.6.9rtlfree.img
も自動でやっていて、それもgrub.confに追加されていた。
そのまま再起動すると、
LABEL=/がないと怒られたので、
root=/dev/hda3に書き直して再起動。
で、やはり同じく
Warning: unable to open an initial console.
と出て止まってしまうんだな。
swap 512MB
ext2 /dev/hda1 /boot 100MB
ext2 /dev/hda3 / 9GB
という構成。
0798login:Penguin
2006/12/28(木) 18:25:16ID:QDAQeP2Dkernel config の Default Kernel Command line に
console= で何か指定してる?
0799login:Penguin
2006/12/28(木) 22:57:19ID:vc2Jrznfそれは関係ない。
>>797
/dev/consoleあるか?
0800791
2006/12/29(金) 14:15:21ID:XTRI4iDwやってないです。
>>799
/dev/consoleはちゃんと存在していて、
念のために作り直したけど駄目でした。
SL 3.08(kernel 2.4.21)上でRTを2.4.29で入れるのは、
同じマシンで問題なく進みました。
パーティション構成は同じ。
rtlinuxfree.comで登録したら、
相手のサポート(営業?)からメールが来て、
「rtlinuxfreeの中の人だけど何か聞きたいことある?」って言ってたので、
先日、ひとまず同じような内容を英語で質問してみた。
向こうもクリスマス休暇だろうから、
返事は来たとしても来年かな。
0801791
2007/01/07(日) 00:53:10ID:QdnpJTIA# make menuconfig
のときに、設定を変更するようにしてみた。
元々のSL 4.4に入っているsourceでmenuconfigして、
その設定内容とほぼ同一になるようにRTLinuxのkernelでも設定した。
(どちらも2.6.9だけど、patchのせいで変化があるのと、
make時にerrorを吐くのでserial deviceのところだけ不一致にしてる)
それで
# make install
までやってrebootすると、
Uncompressing Linux... Ok, booting the kernel.
ACPI: BIOS age (2000) fails cutoff (2001), acpi=force is required to enable ACPI
audit(1168062126.381:0): initialized
Red Hat nash version 5.2.1.8 starting
mount: error 19 mounting ext3
mount error 2 mounting none
switchroot: mount failed: 22
umount /initrd/dev failed: 2
Kernel panic - not syncing: Attempted to kill init!
となってしまう。
前回と異なり、今回はext3にしているんだが、
/etc/fstabで/と/bootをext2に直しても同じ症状。
なにかお知恵を拝借できないでしょうか。
0802791
2007/01/07(日) 01:52:16ID:QdnpJTIA# make oldconfig
してから一通りやり直してみたらrebootうまくいった。
どこで躓いてたのかよく分かんないけど、やっと進めます。
0803login:Penguin
2007/01/10(水) 14:31:03ID:zye6L7wRC++だとrtl_cpp.hをincludeしないと駄目なんだけど、
カーネル2.4.29だとinclude/linux以下のヘッダが色々と駄目で、
なんかC++で書くの面倒そうなんだけど。
(void *)で型変換してたりとか、
struct namespaceとかlong new;とか、
C++で駄目な書き方が結構使われてる。
examples/cppも手直ししないとmake通らないわ。
0804login:Penguin
2007/02/22(木) 19:40:34ID:DQim9qZohttp://japan.internet.com/webtech/20070221/10.html
0805login:Penguin
2007/02/26(月) 11:24:08ID:w8jwJPewhttp://journal.mycom.co.jp/news/2007/02/21/100.html
どうなっちゃうわけ?
http://www.windriver.com/
落せないっぽいんだが
0806login:Penguin
2007/02/26(月) 11:25:40ID:w8jwJPewヘッダだけ extern C じゃいかんの?
0807login:Penguin
2007/03/09(金) 19:08:59ID:1sSmg2d8古ぃ
Free版は消えるのか否か・・・
0808login:Penguin
2007/03/10(土) 01:49:52ID:wLITnnyN0809login:Penguin
2007/03/12(月) 12:07:48ID:7tn48g83つまり
0810login:Penguin
2007/03/12(月) 14:13:02ID:ImxgX9fHハードリアルタイムが要るけど linux 環境じゃないと
一からプログラムしてられないよぉなお客 -> RTlinux
ということ?
0811login:Penguin
2007/03/12(月) 18:07:48ID:2snl2MjO0812login:Penguin
2007/03/17(土) 19:40:51ID:7s3aOSjD■ このスレッドは過去ログ倉庫に格納されています