リアルタイムリナックスについて
■ このスレッドは過去ログ倉庫に格納されています
0001wait_np
NGNG素朴な疑問やくだらない質問も受け付けます。
RT-Linux http://rtlinux.cs.nmt.edu
ART-Linux http://www.etl.go.jp/etl/robotics/Projects/ART-Linux
わかることは答えます。わからないことは皆さんが答えてください。
0490login:Penguin
04/06/01 18:43ID:6kdmcUpyインターフェイス社(www.interface.co.jp)からRTLinuxのインストール・プログラミングの
チュートリアルがダウンロードできる筈(「RTLinuxによるPCI/CompactPCI/CardBus制御(導入編)」)。
http://www.interface.co.jp/catalog/tutorial/tutorial.asp
ここからどうぞ。
後、ディストリビューション何使っている?最新版の3.2はどうか知らないが、
3.1をRedHat7以降にインストールするときにはkgccを使わなくてはならない。Makefile
の中でcc=gccと書いてある行をcc=kgccに書き換えること。それから、ファイルシステムを
ext2にしておくことを忘れずに。
0491490
04/06/01 20:13ID:6kdmcUpy>チュートリアルがダウンロードできる
会員登録(無料)が必要だった。資料を請求すると登録したメールアドレスに送られてくる。
0492login:Penguin
04/06/01 23:34ID:ubHP3Spvレスありがとうございます。
ディストリはvine2.6r1、
RTLinuxは3.2pre2、
ファイルシステムはext2です。
RTLinuxのインストールはできたと思うのですが、
サンプルのfrankリアルタイムモジュールを組み込もうとすると
警告がでてしまい、frank_appが起動できません。
Warning: loading frank_module.o will taint the kernel: no licence
インストールが失敗してるのでしょうか?
0493login:Penguin
04/06/01 23:39ID:ubHP3SpvModule Size Used by Nottainted
rtl_sched 44352 0 (unused)
rtl_fifo 11200 0 (unused)
rtl_posixio 7904 0 [rtl_fifo]
rtl_time 12360 0 [rtl_sched rtl_posixio]
rtl 30048 0 rtl_sched rtl_fifo rtl posixio rtl_time]
rtl_schedとrtl_fifoの(unused)が気になるのですが、、、
0494login:Penguin
04/06/02 00:02ID:9ZKvMDVNGPLでないとヤダ。っつー話。
0495490
04/06/02 09:19ID:M4Yv3p7u放置しておいても問題ないけど、気になるならモジュールの先頭に
#include <linux/module.h> /* 違うヘッダーだったかも知れない */
#ifdef MODULE_LICENSE
MODULE_LICENSE("GPL");
#endif
を挿入してコンパイルすれば警告は出なくなる筈。
rtl_XXXXがロードできている以上、インストール自体は問題ないと見た。
後、余力があるならRTAI(http://rtai.org)も試してみる価値あるよ。APIはRTLinuxと
そんなに異質ではない(自分はRTLinuxからの移行組)し、パフォーマンスも上。何よりも
ユーザー空間でリアルタイム処理が可能なのは開発する上で非常に便利(RTLinuxでも
出来るが、有料版が必要)。
0496login:Penguin
04/06/03 00:57ID:uy2IGTRI例えば、frank_appはrtl_fifo使わないけど、rtl_fifoはrtl_posixio使うよ、ってことだね。
0497login:Penguin
04/06/03 02:23ID:USSwg0qLなるほど。英語が読めないもので、何を意味しているのかわかりませんでした。
英語も勉強しないといけないですね。
>>495
とりあえず、気にしないことにします。
RTLinuxのインストールはできていたのですが、
カーネルの構築の際のパッチを当てるのに失敗していたようです。
最初からやり直したらサンプルを動作させることができました。
まずは、RTLinuxを試してみて、それからRTAI試してみたいと思います。
>>496
frank_appが動作しないということです。
上にも書いたように、RTLinuxのパッチを当てるのに失敗していたようです。
Linuxに関しても初心者ですので、いろいろと苦労したのですが、
なんとか、インストール、サンプルの動作を行うことができました。
これからいろいろと、試してみて勉強していきたいと思っています。
ありがとうございました。
0498login:Penguin
04/06/17 10:15ID:BYfUzpKU0499login:Penguin
04/06/17 11:52ID:/6Gqjick赤帽ならCDに入ってるだろう。
違うディストリならそんなのない。
0500login:Penguin
04/07/02 07:45ID:K5tSDoUWモジュールって、GPL に支配されるんですか?
シロウト考えではRT_Linux のローダブルモジュールにした段階でGPL
のライセンスからは開放されると思うのですが。
RT_Linux自体がGPLのライセンスがあれば限りなくクロなんだけど
0501login:Penguin
04/07/02 17:36ID:B6kWQkqKRTLinuxFree版はGPLになる。
RTLinuxPro版はFSMLabsのライセンスなのでGPLではない。
0502ぴょん♂なのら ◆1yIJeW3IJk
04/07/27 22:54ID:9JtP7alp0503login:Penguin
04/08/03 15:18ID:La2BeQuuコレってRTLinuxなのかなあ・・
0504login:Penguin
04/08/03 20:04ID:94UTNKFshttp://www.axlinux.com/
0505login:Penguin
04/08/03 21:53ID:0P3Qaw2+OMAPつーことなのでベースバンドは全部DSPに押しつけてるのでせう。
0506login:Penguin
04/08/04 01:12ID:taaefpnU0507login:Penguin
04/08/27 02:18ID:IhTqD1Vjなんか最近RTってはやらないのか?
話が全然出てこねー
0508login:Penguin
04/08/31 14:54ID:gu4ZECZT0509& ◆RdmUjfVKqQ
04/09/27 14:21:46ID:PzFLl6Ag0510login:Penguin
04/10/04 20:37:01ID:Flj6R4Bmkernel2.6のLinuxに対してインストールすることはできるのでしょうか?
また、できるだけ新しいverのLinuxカーネルで使いたいのですが現在確認
されている中で最も新しいカーネルのverはいくつなんでしょう?
よろしくお願いします。
0511login:Penguin
04/10/05 00:18:59ID:ZsKaaePA0512login:Penguin
04/10/05 01:52:54ID:DBEusFQ6まあ赤帽のパッチ山盛りカーネルですんなり動くとは思えんが。
0513login:Penguin
04/10/05 06:27:47ID:6+jmYHNi0514login:Penguin
04/10/08 21:21:09ID:v7EOZOFI0515login:Penguin
04/10/08 22:19:57ID:6kP1TOwD0516login:Penguin
04/10/09 20:00:27ID:XfPG0zUK0517いなむらきよし
04/10/09 20:25:36ID:wzqBaBn70518510
04/10/11 22:36:23ID:NcJ3tw/E結局見つけたHPを参考にしてVine2.6にRTLinuxを入れました。
そうですかVine3でも入るんですか・・・。
また余裕があればやってみます。入れ方とか特に変更点ってありませんよね?
0519login:Penguin
04/10/12 01:07:45ID:s+nUfX7Q0520login:Penguin
04/10/18 10:33:13ID:xRSzMHjL0521login:Penguin
04/10/23 15:41:10ID:zs+/nAk1お薦めのディストリビューションがありましたら
教えてください。
0522login:Penguin
04/10/24 09:18:04ID:En403dzf0523login:Penguin
04/10/24 18:20:45ID:7tIqS7lNハァ?
カーネルは調べれば分かるだろ。
0524login:Penguin
04/10/29 16:45:32ID:0D86eRIqいいんじゃないかと思ったんだけど、違うの?
0525login:Penguin
04/10/29 17:23:19ID:y+SPcU1Rhttp://www.linux.or.jp/JF/JFdocs/RTLinux-HOWTO.html
0526login:Penguin
04/10/29 17:59:24ID:0D86eRIqということは、ドライバ書ける人は、リアルタイムリナックスをあえて
導入する必要は無いってことかな・・・
0527login:Penguin
04/10/29 18:08:11ID:Y+c0QoPh0528login:Penguin
04/10/29 18:41:59ID:0D86eRIqただ単にタイマ割込が欲しいとか、そういった用途ならリアルタイムリナックスは
不要って考えで間違いないかな?
0529login:Penguin
04/10/29 20:18:24ID:7ztGpOcJカーネル空間で完結するならそうかもしれんな。
ただ、行儀の悪いドライバが長時間cliしてくれるので、
割り込み取りこぼして悲惨な事になるような気もするが。
0530login:Penguin
04/10/29 20:25:58ID:Y+c0QoPh割り込みもまずはカーネルが拾うんだから無理だと思う。
ドライバがCPUを独占できる状態しか俺は思いつかない。
0531login:Penguin
04/10/29 20:33:19ID:0D86eRIq要するにカーネルの割込優先順位に関する部分を変更して、
ドライバが受ける割込の優先順位を上げれば良いだけ?
0532login:Penguin
04/10/29 20:57:56ID:Y+c0QoPh残りを通常カーネルに渡しているわけで結局同じものになる気が。
RTタスク管理の無いLiteバージョンになるのか。
0533login:Penguin
04/10/29 21:09:30ID:0D86eRIqなるほど、とすると、カーネルの割込優先順位を変えられる程度に
カーネル内部の知識があれば、リアルタイムリナックスは不要と。
0534login:Penguin
04/10/29 23:06:11ID:Eo/MNG1Vまあ普通はそんなにイラネだが
0535login:Penguin
04/10/30 07:14:16ID:XQ97+gwPいい加減にしろ
0536login:Penguin
04/10/30 14:43:26ID:TYoeHD2g固定って、他のスレッド停止出来るって意味?
0537login:Penguin
04/10/30 15:45:37ID:eGxK51J4完璧な割り込み周期を維持できること
0538login:Penguin
04/10/31 02:45:57ID:XRCDBwGC割込持って行ければ良い訳よね。
0539login:Penguin
04/10/31 12:43:21ID:bwEKnrSK0540login:Penguin
04/10/31 16:04:26ID:0wkZJa8M0541login:Penguin
04/10/31 18:39:03ID:XRCDBwGCというと?
0542login:Penguin
04/10/31 18:54:37ID:O+3bnaBT決まった時間間隔で処理することを保証すること なんですよ。
割り込み応答が最速2μsできます とか言っても
最悪で2msとかかかってたらそれはダメなのです。
ある周期の処理が、それがたとえ10ms毎であっても、
必ず何があっても決まった周期で処理が回ってくるのなら
それはリアルタイム性があると言えるのです。
素のカーネルじゃ10msも守れませんしね。
0543login:Penguin
04/10/31 21:36:11ID:XRCDBwGCそれをデバドラと少しのカーネル書換だけで実現出来るんじゃない?
って漏れは言ってる訳。意味分かってないのは、そっち。
0544login:Penguin
04/10/31 21:47:12ID:O+3bnaBT>デバドラと少しのカーネル書換だけで実現
そうです。それをやっているのがART-Linuxです。
0545login:Penguin
04/11/01 01:21:37ID:QnmivVR9なるほど。要するにデバドラとカーネル少し書き換える技量が
あればLinuxの世界で食っていける訳ですね。
0546login:Penguin
04/11/01 06:56:29ID:IqBdvM7Dリアルタイムタスクが複数でも、優先度つけて必要時に必ず呼ばれる保証があるとか。
みたいなものだと思ってた。
2.6に入るかもしれない、realtime-preemptとか関係ある?
0547login:Penguin
04/11/01 18:17:57ID:FLEE/KeAスケジューリングについてお勉強しなおすこと。
0548login:Penguin
04/11/01 21:54:33ID:I8lJY/1Zワンオフもののドライバとカーネルいじって飯食ってるけど、なかなかね。
いっつも最後はチップの足をプローブでつまんで・・・とかなっちゃうのがツライね(w
0549login:Penguin
04/11/01 22:10:02ID:QnmivVR9チップの足をプローブで摘むのは、よくやってるけど、そんなに
凄いことか? 所詮オープン系あがりが、組込屋の真似事してる
ようにしか思えないけどね。
0550login:Penguin
04/11/01 22:32:06ID:M4ZLPcEu0551login:Penguin
04/11/01 23:12:29ID:hyoy0JcL必要な処理が割り込みハンドラなのか、
プロセスがスケジューリングされるまでなのかで話が違ってくる。
0552548
04/11/02 00:57:42ID:usdoWqOIそこまで自惚れちゃねぇよ(w
マイコンの仕事が減ってLinuxに来て、OSあるって素晴らしい、とか思ってたけど、まぁやっぱ
苦労するのは一緒さね、と、実感してるところさ。
0553login:Penguin
04/11/02 20:05:42ID:sn0dlhpLそれなら、わかる。 言い過ぎたよ、ごめん。
0554login:Penguin
04/11/08 17:06:16ID:GpmKmbLUう〜ん。停電でファイルシステムクラッシュの可能性もアリなのね・・・
UPS入れたくないんだよな。やたらとUPS入れてると電池寿命やUPSの
トラブルなど、結構UPSそれそのものが不安定要因になっちまうもんね。
0555login:Penguin
04/11/09 22:01:34ID:2A/WWRC1たぶん使えると思うんだが。RT_Linux で ext2 しかつかえないと思う
根拠を示してくれ。
0556login:Penguin
04/11/10 08:45:57ID:B0XUbNwxよく書かれているでしょう?
だからext2じゃないとダメなのかなと。あれはどういう意図なんでしょう。
0557login:Penguin
04/11/10 08:49:24ID:VV5WwC8Sminixfsやfatにするな、って話じゃなくて?
0558login:Penguin
04/11/11 05:55:27ID:5XL9fT26だからなんじゃない?その理屈だと
RT_linux じゃなくて linux のインストールは ext2 でやれという話になって
まったく持ってスレ違いになるのだが。
0559554
04/11/11 22:19:28ID:UCiRNpzF0560login:Penguin
04/11/12 01:27:45ID:dT8AIfCR0561login:Penguin
04/11/14 00:02:36ID:/TLOVWlr0562login:Penguin
04/11/15 20:35:56ID:10JUdiu1導入書のサンプルプログラムを組んでみて実行していたのですが
RT-FIFOが利用できないと言う状況に陥りました。
モジュールを組み込んだ後でLinux アプリケーションを実行すると
rtf*が開けないと言われます。
また、/var/log/messeage には
modprobe:Can't locate module char-major-63
と表示されます。
何か解決策はありませんか?
0563login:Penguin
04/11/16 01:05:50ID:W35w9DvSモジュールいれろっつーの
あと、messageの方はぶっちゃけ関係ない
0564login:Penguin
04/11/16 13:36:22ID:S/RnWkFrMakeFileのEXTRAVERSIONにはちゃんと-rtl3.2-pre2と入っているのに
リブートしてuname -rで見ると2.4.19だけしか表示されない・・・・
その結果、RTのモジュールの組み込みでカーネルバージョンが違うと判断
されて組み込めません。
EXTRAVERSIONを別の文字にしてみましたがやはり同じ結果でした。
このような事例はどなたか経験されていませんか?
0565login:Penguin
04/11/16 14:09:51ID:G7sZQYh00566564
04/11/16 14:17:59ID:ZL/4SuDUMakefileでした。不正確ですみません。
0567login:Penguin
04/11/16 17:18:15ID:bDtBtk7F違うカーネルが起動していたというオチを期待してみる。
0568564
04/11/16 17:48:24ID:TtTdcF97>>567
VINE2.6r1にインストールしなおして同じことしたらできました。
カーネルソースはディストリ付属じゃなくて同じ正式カーネルソースで
やったのに何が違うんでしょうね・・・・
0569login:Penguin
04/11/16 23:56:05ID:OMkExe2BVineをよく知らないけど、ブートローダが変わった?
grubならばカーネルのファイルを置き換えればそれをロードしてくれるけど
liloだったら/sbin/liloを実行しないとだめ、、、ってスレ違いか…
0570564
04/11/17 15:14:35ID:MtTEkLqOEXTRAVERSIONが表示されていて新規コンパイルすると出ないという状況だった
ので以前のものが起動していたというオチではないと思うのですが・・・
今はxconfigの日本語ヘルプ入れて設定の勉強中。
0571大きなお世話?
04/11/18 23:08:52ID:aQ4xrTuKリアルタイムLinuxに以下もあります、いかがでしょうか?
RTAIやRTlinuxの様に別のOSでは無いので、
普通に組んだLinuxアプリがリアルタイムで動きます
http://www.co-nss.co.jp/
http://www.timesys.com/index.cfm?bdy=bsp_downloads.cfm
0572login:Penguin
04/11/19 07:44:46ID:AxAS8yWN工作員か?
なんで
| RTAIやRTlinuxの様に別のOSでは無いので、
から
| 普通に組んだLinuxアプリがリアルタイムで動きます
こうなる?
何かで読んだ限りは、Linux 側でのスケジューラ等の改良も進んでるしそれでも
おっつないのは確かモジュール側で対応できる価格も安く、ツールも整備されてる。
(RTLinux と MontaVista のいいとこ取りみたいな)
が、新興なので対応 CPU と実績が足りない。私の周りではあまり使ってる噂を聞かない。
うまくマーケティングすればもっと伸びても良さそうだが、世の中良いモノは売れない、
の典型みたいな感じ。
0573login:Penguin
04/11/20 08:21:04ID:4e80hxOxhttp://www.goodsoft.jp/litron/
0574login:Penguin
04/11/20 09:16:21ID:aLcMUdlZ浮動小数点表示が使用できないことが発覚しました。
RT-Linuxに付属のサンプルプログラム /fp のなかにあるrt_process
で実行してもrtl_printfで表示させると本来数字が出るはずの部分に%%f
が表示されてしまいます。
事前にpthread_setfp_npは実行しているはずなのですが・・・。
何か解決策は無いものでしょうか?
0575login:Penguin
04/11/20 23:02:22ID:NN3qs2XU参考にコード書いたらどうね?
(printf とかコードころがってるし、1から作っても大したこと無いでしょ?)
0576login:Penguin
04/11/21 04:57:46ID:8JHfji+L>>575
いえ最終的にはmath.hの中の関数を用いて
ロボットの制御を行おうとしているのですが、
デバッグの段階で浮動小数点表示がほしかったのです。
条件分岐で試したところ少数の大小関係くらいは判別できて
いるようなのですが、sin、cosには値すら入ってないようです。
ネットに転がっているRTのサンプルプログラムなどと見比べて
見ても差は見受けられないようなのですが・・。
0577login:Penguin
04/11/21 08:46:58ID:oxGnhs+/数学関数ライブラリって RT タスクから直接コールできるんすか?
なんとなくシェアドライブラリになっているのは全滅のようなきがするんすが。
0578login:Penguin
04/11/24 19:53:04ID:Vy7ltdmphttp://www.fsmlabs.co.jp/fsmj/products/rtpro_faq.htm#Q28
あと、math.hと浮動小数点を使うならexamples/fpが両方やってるので
参考になるかも。すでに見てるとは思うけど。
ちなみに、こっちではfpと同じやり方で普通にsin,cosが使えてます。
ただ浮動小数で監視したいだけなら、fifoでユーザ空間に送ってから
printfで表示するという力技も簡単でいいかも。
0579login:Penguin
04/11/24 20:28:58ID:T5ejbite(スレッドがスリープするまでは他のスレッドの周期実行は始まらないのですか?)
同様にリアルタイムスレッド処理中のハードウェア割り込みはどうなるのでしょうか?
昔、RT-LINUXの本見たときにmutexの話が出てたような気がしたのだが・・・・
もし割り込んでこないのならどういう場合にmutexを使うのかも教えてください。
0580login:Penguin
04/11/25 03:13:15ID:ddCt5ahOレスありがとうございます。
一応両方とも見てはいるのですが・・・。
fifoでユーザー空間に値を送るというのが最終手段かなとは考えていました。
1つお聞きしたいのですが、
sin cos が使えているというのはどのように確認されたのでしょうか?
0581login:Penguin
04/11/26 00:40:52ID:ajynM7+1私の場合、プログラムが完成するまでは、監視したい値を
全部fifoでユーザ空間に送ってファイルに書き出していました。
いきなり最終手段で申し訳ない……
0582login:Penguin
04/11/28 17:04:59ID:TSr7l4Oh現状ではV4Lで画像取り込みだけユーザ空間で行ってmbuff使ってRTへ送ってますけど,
画像の取り込みが一定周期じゃないから嫌なんですよね.
RTfifo使ってトリガ的にキャプチャする方法とかしかないですかねぇ・・・.
0583login:Penguin
04/11/28 20:29:47ID:Yh8BbC7y回答を期待しているのに逆に素人の質問で恐縮だけど、リアルタイムで画像処理とかって
やっていいものなのですか・・・?
画像処理といえばCPU時間のかかる処理の代表のようなものだけどその間に
起きた様々な割り込みとかどうなってしまうのでしょう・・・
なんとなく撮影指令やキャプチャや結果出力だけをリアルタイムで行って
画像処理はユーザー空間で行って結果が出るのが遅すぎる場合はリアルタイム側で
タイムアウトにするとかそういう感じかなと思っていたのですがどうなんでしょう。
全くの勘違いだったら指摘してください。
0584login:Penguin
04/11/28 20:54:29ID:daoD02VWEyeToys なんてリアルタイムに処理できないとゲームにならんから、
そういう用途はあるんだろう。ロボット系の画像情報処理も 100ms
も止まってたらまずくねーか?
RT 側でキャプチャカード制御する形なら思った通りのことが出来るが、
ドライバ開発が大変だね。Linux 側のドライバ少しいじって出来ると
良いけどな。たとえば、キャプチャ始まると物理メモリバッファに
DMA されてだな、DMA が終わった時点でキャプチャカードが割り込み
発生、こいつをRT 側で受けるとか。
RT のことよく知らないから想像で書いた。スマソ。
0585login:Penguin
04/11/28 21:01:05ID:EJb0njjw処理が間に合わなかったらデータは捨てるとか決めておけば問題無いんでしょうね
0586login:Penguin
04/11/28 23:41:04ID:I26wKYxb>>583
このあたりの疑問はRT-LINUXの本質を問うものだと思うのだが、過去レス
を見ても決定的な説明がない。
誰か説明してくれないかな?
0587login:Penguin
04/11/29 00:00:07ID:Y3nq9b2O割り込みはスレッド実行中保留されます
というか、ワリキンすよワリキン
コレとコレだけ頂戴 って書いとけば別だけど
0588login:Penguin
04/11/29 00:01:11ID:Y3nq9b2Oなんのための優先順位だっつーのな
0589login:Penguin
04/11/29 00:10:02ID:M7hbxUgv逆にリアルタイムスレッドを並列処理させることも可能なのですか?
■ このスレッドは過去ログ倉庫に格納されています