リアルタイムリナックスについて
■ このスレッドは過去ログ倉庫に格納されています
0001wait_np
NGNG素朴な疑問やくだらない質問も受け付けます。
RT-Linux http://rtlinux.cs.nmt.edu
ART-Linux http://www.etl.go.jp/etl/robotics/Projects/ART-Linux
わかることは答えます。わからないことは皆さんが答えてください。
0685658,664,676,681
2005/06/25(土) 12:02:23ID:XthhRdZ1>最大2μs程度しか時間のゆらぎは発生していません。
間違えました。
最大10μsぐらいありますね。それでも私の場合は十分ですが。
この、
ttp://www.atmarkit.co.jp/flinux/embedded/rtos02/rtos02c.html
の測定方法とは違いますが、「Embedded UNIX Vol.3(CQ出版)」の「TimeSys Linuxの
全貌」という記事に、同じようなジッタの測定結果が出ています。
CPUに50%の負荷をかけた状態で、定周期スレッド(1,2,3,4,5msと変化させて5回測定)が起動する毎に
時間を測定し、そのゆらぎがどのぐらになるか、を測定しています。
最小の1ms周期で、最大19μsという結果です。
Embedded UNIX Vol.3の記事では、測定に使用したCPUやプラットフォームが書かれていませんし、
測定方法が違うので、@ITの記事と比較するのは問題ありそうですが、このTimeSysの数値はRTLinuxと
同じぐらいの数値です。
0686679です。
2005/06/25(土) 15:15:41ID:0dNC8emY>Real-Time Preemptionの結果が気になるところだけど、ユーザ空間で
>1msなんてRTLinuxやRTAIでもお話にならないレベルですね。
>素直に、マイクロカーネル上のリアルタイムタスクにするしかなさそう。
そうですか…ユーザー空間での1ms周期はKernel2.6でもRTAIでもTimeSysでも無理なんですか…
やはりRTAIかTimeSysのRT空間使うしかないのかな?
TimeSysは少し違うみたいだけどユーザー空間でリアルタイムタスク走れて、1ms周期とか出来るんですか?
0687679です。
2005/06/25(土) 15:30:55ID:0dNC8emY>カーネルをプリエンプティブルにすると、カーネル全体をロックせず、
>クリティカルセクションだけをロックするようになるので、応答時間の性能が良くなります。
すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
DIOはPCIBIOSよりベースアドレスを取得して自前で制御しているのでドライバは使っていません。
0688679です。
2005/06/25(土) 15:41:19ID:0dNC8emY>素のカーネルで10ms以下のタイミングが必要なら、プリエンプティブルにするだけでなく、
>カーネル内のタイマを1msに設定するなどのconfigも必要です。
カーネル内のタイマを1msに設定するにはmake xconfig画面内の設定を変更するのでしょうか?
0689679です。
2005/06/25(土) 16:04:21ID:0dNC8emYTimeSysはRTAIより良いですか?
0690login:Penguin
2005/06/25(土) 18:59:09ID:Gw2fBEV5手元にあるのは rtlinux-3.1.tgz
環境は redhat9
tgzを展開するまではいいのですか
その先が分かりません
0691658,664,676,681
2005/06/25(土) 19:08:50ID:XthhRdZ1>そうですか…ユーザー空間での1ms周期はKernel2.6でもRTAIでもTimeSysでも無理なんですか…
685に書いたように、私には十分と思える精度がありますがねぇ。
RTAI:977μs周期プロセスのジッタが±約10μs。
TimeSys:1ms周期スレッドのジッタが±約20μs。
どちらも定周期で起動しているのはユーザ空間のプロセス・スレッドです。
0692login:Penguin
2005/06/25(土) 19:20:30ID:PUKsaVSFまずはドキュメントよく嫁
0693658,664,676,681
2005/06/25(土) 19:44:22ID:XthhRdZ1>すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
ググると、Fedora4ではないですが、こういうところがヒットしますよ。
http://www.jacklab.net/index.php?option=com_content&task=blogcategory&id=236&Itemid=221&lang=en_EN
>>688
>カーネル内のタイマを1msに設定するにはmake xconfig画面内の設定を変更するのでしょうか?
どうやら、kernel2.6ではdefaultで1msになっているようです。
http://www.lifeflow.jp/diary/index.php?p=114
0694658,664,676,681
2005/06/25(土) 20:08:41ID:XthhRdZ1>TimeSysはRTAIより良いですか?
条件によって、どちらが良いとは限らないです。
POSIX APIでリアルタイム処理したいならTimeSys。
RTAI専用APIでもいいからより高い応答性能が必要ならRTAI。
というところじゃないでしょうか。
まぁ、仕事で使うなら、それぞれのサポート費用とそのサポート部門の技術力や親切具合
(困ったときにどれぐらい助けてもらえるか)も考慮することになりますね。
ただし、どれぐらいサポートが充実しているかは、サポートを受けてみないとわからないのが
難点です。
0696login:Penguin
2005/06/26(日) 00:04:06ID:J+V8pQbRどのドキュメントでつか?
0697login:Penguin
2005/06/27(月) 18:07:08ID:3asqS1RKhttp://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
連載:LinuxによるRTOSの実現(3) リアルタイム機能をLinuxカーネル自身で実現するスタンドアロン方式。この方式の具体的な実装やリアルタイム性能を検証する
0698login:Penguin
2005/06/27(月) 23:25:06ID:ehfi2wtqRT→Linuxという経路でデータを周期的に転送する際に,
RTスレッドの方が実行周期が早いためLinux空間でデータを
FIFOから読み出すより早く次のデータが書き込まれにRT-FIFOから
あふれてしまいます.今のところRT-FIFOを作成する際にできる限り
大きな値で作成してごまかしていますがそれでも送れるデータの数に
限界があります.
mallocによるメモリの確保などと同じように大サイズのRT−FIFOを作る
方法は無いものでしょうか?
0699686です。
2005/06/28(火) 11:53:54ID:E3uAtiWc>RTAI:977μs周期プロセスのジッタが±約10μs。
>TimeSys:1ms周期スレッドのジッタが±約20μs。
>どちらも定周期で起動しているのはユーザ空間のプロセス・スレッドです。
これはユーザ空間のデータですか!いいですね!このケースだとRTAIが若干いいですね。
0700login:Penguin
2005/06/28(火) 15:12:59ID:mdDc5EUUARTカーネルで起動するとXが立ち上がりません。
こんな経験をされた方おりませんか?
0701688です。
2005/06/28(火) 15:31:38ID:E3uAtiWc>すみません。Fedora4で実験しているのですが、まだカーネルをプリエンプティブルにする方法が分からないのです…
>ググると、Fedora4ではないですが、こういうところがヒットしますよ。
>http://www.jacklab.net/index.php?option=com_content&task=blogcategory&id=236&Itemid=221&lang=en_EN
ありがとうございます。英語か…
>どうやら、kernel2.6ではdefaultで1msになっているようです。
>http://www.lifeflow.jp/diary/index.php?p=114
Fedora4(kernel2.6.11)でも確認しました。HZ 1000
USER_HZ 100 は何でしょう?
HZ 1000 なのにタスクが100ms周期なのは?
0702689です。
2005/06/28(火) 15:49:25ID:E3uAtiWc>POSIX APIでリアルタイム処理したいならTimeSys。
>RTAI専用APIでもいいからより高い応答性能が必要ならRTAI。
的確な回答、大変ありがとうございます。
POSIX APIでリアルタイム処理したいんでTimeSysと言いたいんですが、
お金の問題があるからRTAIです。RTAI専用APIそんなに沢山ないですよね…
>仕事で使うなら、それぞれのサポート費用とそのサポート部門の技術力や親切具合
RTAIもFree版以外にPro版があるのですか?
それとも有料サポートだけですか?
0703login:Penguin
2005/06/30(木) 01:34:02ID:lB09O4veFIFOのサイズが大きければ溢れるのを回避できるという理屈がイマイチわかりませんが、
抜き取り処理がたまに遅れて、そのときに溢れてしまうってことなのかなぁ。
rtlinuxならmbuffでも使ってみたらどうでしょうか?
0704691,693,694
2005/07/01(金) 18:58:26ID:JIAkAdzD>USER_HZ 100 は何でしょう?
元の100Hz用のdefineを残す、という意図でしょうか。よくわかりません。
>HZ 1000 なのにタスクが100ms周期なのは?
???このHzはカーネル内部のタイマの精度のことですよ?
nanosleepなどでwaitする時、以前は10ms以下にしても働いていなかったのが、
1msまでは働くようになった、ということです。どうやって100ms周期タスクを作ってますか?
ただ、オリジナルの2.6のままではあまり正確性はないかもしれません。
http://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
↑ここにあるように、Real-Time Preemptionパッチをあてれば、かなりいい感じになるようです。
0705691,693,694
2005/07/01(金) 19:33:40ID:JIAkAdzD>RTAIもFree版以外にPro版があるのですか?
>それとも有料サポートだけですか?
前は、Lineoがサポートしていたと思ったのですが、現在はよくわかりません。
6/29,30とESEC(組み込み開発技術展)に行ってたのですが、そこで見つけたElinOSというのが
RTAIをサポートしているようです。ただ、このRTAIがDIAPMで開発されているRTAIと同じ
なのかどうなのかは知りません。
http://www.4link.co.jp/products/elinos.html
趣味で使うならダウンロードしていじくっていればいいですが、仕事(製品に組み込む)となると、
何かトラブルが起きたときに自分でがんばるのかサポートを受けるのか、もし知的財産権の侵害が
発覚したときにどう対処するのか(サポートしてくれる会社とどう契約するのか)、などを考え
なければなりませんよね。
0706698
2005/07/01(金) 20:47:06ID:M2NWuUx+アドバイスありがとうございます.
さっそく試してみます.
0707login:Penguin
2005/07/02(土) 01:32:49ID:gL034C3R0708login:Penguin
2005/07/02(土) 16:57:38ID:TmLVCpln>>HZ 1000 なのにタスクが100ms周期なのは?
>???このHzはカーネル内部のタイマの精度のことですよ?
ありがとうございます。やはり内部タイマでしたか…
>どうやって100ms周期タスクを作ってますか?
100ms周期のタスクを作ったのではなく、1msの矩形波を出力するタスクを2本走らせてオシロで観測したら
周期が100msだったのです。
>http://www.atmarkit.co.jp/flinux/embedded/rtos03/rtos03a.html
>↑ここにあるように、Real-Time Preemptionパッチをあてれば、かなりいい感じになるようです。
おお、新しくなってる!ありがとうございます。
0709702です。
2005/07/02(土) 17:02:03ID:TmLVCpln>6/29,30とESEC(組み込み開発技術展)に行ってたのですが、そこで見つけたElinOSというのが
>RTAIをサポートしているようです。ただ、このRTAIがDIAPMで開発されているRTAIと同じ
>なのかどうなのかは知りません。
ElinOS知ってます。これいくら位するのですか?
0710704,705
2005/07/02(土) 21:03:09ID:anSVXzQL>100ms周期のタスクを作ったのではなく、1msの矩形波を出力するタスクを2本走らせてオシロで観測したら
なるほど。
でも、素のまま(Preemptibleでない)カーネルのままでも、
* mlockallでページアウト(スワップアウト)を禁止
* sched_setscheduler(pthread_attr_setschedpolicy)でスケジューリングポリシーをSCHED_FIFOにして、
かつ、プライオリティを高くする
とすることで、だいぶマシになると思います。
確かKernel 2.4.18で試したときは、このようにしたプロセスで、nanosleepで20msぐらいの定周期
は実現できたと思います。ただ、ちょっと他のプロセスを動かしただけで、10ms以上の遅延が発生して
しまいましたが。
>>709
>ElinOS知ってます。これいくら位するのですか?
値段は聞かなかったのでわかりません。聞いときゃ良かった...
0711login:Penguin
2005/07/03(日) 14:53:10ID:4SJDhJ7q0712login:Penguin
2005/07/19(火) 17:06:43ID:5AykE01BTimeSysにしろRTLinuxにしろElinOSにしろ商用版は似た様な価格です。
個人では無理ですね。
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
ですよね?
■ このスレッドは過去ログ倉庫に格納されています