2000年9月24日時点でのRTLinux Man Pagesで紹介されているAPIとなる。 それそれの最後に付いている数字は,その関数への引数の個数である。
gethrtime.3
システムが起動してからカウントを始めるリセットや調整が不 可能な時間を返してくる関数
周波数は1193180Hzによって管理している。
clock_gethrtime.3
時間を返してくる関数
周波数は1193180Hzで時間を管理しているgethrtimeだと多少誤 差がでてくるため他の方法で行っている。
以下の方法で時間を管理できる。
CLOCK_REALTIME
The standard POSIX clock
CLOCK_8254
The clock that is used on non-SMP x86 systems
CLOCK_APIC
The local APIC clock on SMP x86 systems.
pthread_attr_getcpu_np.3
RT-Linuxではどのスレッドがどの CPUで実行されているのか調べてくれない。また,スレッドは そのスレッドを呼び出したCPUで実行される。しかしRT-Linux はそのスレッドがどこで実行されているかを聞いてくる。
そこでこの関数を用いてpthreadの属性を調べる。
pthread_attr_setcpu_np.3
pthreadの属性を変更する。
pthread_delete_np.3
リアルタイムスレッドを消去する。
pthread_setfp_np.3
浮動小数点数の利用の可,不可を決定する。0で不可,それ以 外で可となる。
pthread_suspend_np.3
q pthread_wakeup_np
を呼び出すまでスレッドをサスペン
ドさせる。
pthread_wakeup_np.3
pthread_suspend_np
によってサスペンドさせたスレッ
ドを復帰させる。
pthread_make_periodic\_np.3
周期的なスレッドを作成する。
pthread_wait_np.3
pthread_make_periodic_np
によって指定された次の開
始時間までスレッドを終了させる。
rt_com.3
RT-Linux用のシリアルポートドライバである。
rt_com_read.3
シリアルポートからデータを読み込みこむ。
rt_com_setup.3
シリアルポートに関するパラメータを変更する。
rt_com_table.3
シリアルポート1つにつき1つ作られるテーブルである。
rt_com_write.3
シリアルポートへデータを送る。
rtf.4
RT-FIFO用のキャラクタ型デバイスのこと
メジャーナンバ150,マイナーナンバ0-63
デバイスファイルは"/dev/rtf"になる。
rtf_create.3
RT-FIFOを作る。 その際,名前とサイズを決定する。
rtf_create_handler.3
RT-FIFO用のハンドラをインストールする。
ハンドラはLinuxのプロセスがRT-FIFOにアクセスする度に呼び出される。
rtf_destroy.3
rtf_createによって作られたRT-FIFOの削除。
rtf_get.3
RT-FIFOからデータを読み込む。
rtf_put.3
RT-FIFOへデータを書き込む。
rtl_request_irq.3
IRQへの割り込みを行うリアルタイムハンドラのインストール。
rtl_free_irq.3
IRQへの割り込みを行うリアルタイムハンドラの開放。
rtl_get_soft_irq.3
ソフトウェアハンドラのインストール。
rtl_free_soft_irq.3
ソフトウェアハンドラの開放。
rtl_getcpuid.3
現在スレッドの実行されているCPUのIDを調べる。
rtl_getschedclock.3
リアルタイムスケジューラの利用しているクロックのIDを返してくる。
rtl_global_pend_irq.3
Linuxへの割り込みを行うIRQのスケジュールを決める。
rtl_hard_disable_irq.3
IRQを使用不可にする
rtl_hard_enable_irq.3
IRQを使用可にする。
rtl_allow_interrupts.3
cpuへの割り込み処理の許可。
rtl_no_interrupts.3
割り込みに関するパラメータを保存してから割り込みの中止。
rtl_restore_interrupts.3
rtl_no_interrupts
によって保存されたパラメータを読み込んでから割り込み可能にする。
rtl_stop_interrupts.3
cpuへの割り込み処理の中止。
rtl_setclockmode.3
クロックモードの設定。
sigaction.2
RT-LinuxのPOSIX信号の操作用関数
rtl_v1.3
以下のAPIはRT-Linux Ver.1.xで使用され,Ver.3でも利用できる。
今後プログラムを作成するときには,POSIXベースのVer.2.0以降のAPIを利用することを推奨する。
free_RTirq(unsigned int irq)
割り込みハンドラの開放
request_RTirq(unsigned int irq, void (*handler)(void))
割り込みハンドラのインストール
rt_get_time(void)
時間を返してくる関数
バグがあるらしいのでgethrtime
を今後使用する。
rt_task_init(RT_TASK *task, void (*fn)(int data), int data,
リアルタイムタスクの作成をする。
rt_task_delete(RT_TASK *task)
rt_task_init
で作成されたリアルタイムタスクの削除をする。
rt_task_make_periodic(RT_TASK *task, RTIME start_time, RTIME period)
この関数により指定された間隔でタスクを実行さるため,マークをつける。
rt_task_suspend(RT_TASK *task)
タスクをサスペンドする。
rt_task_wait(void)
rt_task_make_periodic
で指定された時間までタスクを終了させる。
rt_task_wakeup(RT_TASK *task)
rt_task_wait
でサスペンドしたタスクを復帰させる。
rt_use_fp(int allow)
浮動小数点数の使用の可、不可を決定する。
0で不可,それ以外で可となる。
rtf_create(unsigned int fifo, int size)
rtf_create_handler(unsigned int fifo,
int (* handler)(unsigned int fifo))
rtf_destroy(unsigned int fifo)
rtf_get(unsigned int fifo, char *buf, int count)
rtf_put(unsigned int fifo, char *buf, int count)
rtf_resize(unsigned int fifo, int size)