VME/CAMAC 専門研修
リアルタイムOS, L4-Linux用VMEデバイスドライバの開発
名前: |
小田切淳一 |
所属: |
加速器研究施設 |
Last Modified: Nov. 8, 2001
テーマの概要:
KEKB 加速器の制御システムは EPICS(Experimental Phisics and Industrial
Control System)をベースとして構築されている。現在までのところ、EPICS は
フロント・エンドの VME 計算機用の OS として VxWorks を必要としてきたが、
次期バージョンからは VxWorks を含む、その他多くの OS 上でも動作するよう
に拡張される。ここで VxWorks を置き換えるための OS に要求される条件と
して、
・全てのEPICS タスクが単一のメモリ空間を共有すること。すなわち、スレッド
がサポートされていること。
・これらのスレッドの実行制御に対してマイクロ秒のオーダーでのリアルタイム
性が保証されること。
の2点がある。これらの条件を満たし得る OS として、数ある Linux のリアルタ
イム拡張の中から L4-Linux を候補として選び、現在、L4-Linux と EPICS の
インタフェース部分の実装を行っている。これにより、ハードウエアに依存しない
EPICS のコアとなる機能については一応、使用できるようになる。しかし、この
システムを実用に供し得るものにするためには、CAMAC、GPIB 等の数多くの
デバイス・ドライバが必要となるので、これまでに VxWorks をベースにEPICS用
に開発されてきたデバイス・ドライバがそのまま利用できることが肝要である。
このためには、デバイス・ドライバの実装方式として、VME のアドレス空間を
ユーザ・プロセスのアドレス空間内にマップし、ユーザ・プロセスから直接、VME
バス上のモジュールにアクセスする方式を採ることが可能でなければならない。
これを Linux 上で実現するためのソフトウエアは既に KEK オンライン・グループ
により開発されライブラリとして提供されている。このライブラリが L4-Linux の上
でも使用できるか否かを確認すること、そして、もし何らかの修正が必要であれば、
それを行うことが主なテーマである。さらに、このシステム上で割込みに対する
応答性を測定し、実際にマイクロ秒のオーダーのリアルタイム性が保証されて
いることを検証することまでを目標とする。
開発環境
- 使用するハードウエア:
・ VMIVME-7698-130 (CPU ボード)
・ VMIVME-7452-505 (HDD ドライブ、FDD ドライブ)
- 使用するソフトウエア:
・ L4-Linux (カーネル2.2ベース)
・ Debian GNU/Linux パッケージ(gcc-2.95.2)
・ EPICS 3.14 (アルファ・バージョン)、及び 3.13 のドライバ・サポート
・ L4-Linux と EPICS のインタフェース・ライブラリ
・ vmelib (Linux VME ライブラリ)
最終報告会での発表