• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:shced.h, sys/mman.h, mraa)

Linuxでリアルタイム制御のためのサンプルプログラムとは?

このQ&Aのポイント
  • Linuxでリアルタイム制御をするためには、Preempt RTを導入する必要があります。
  • リンク先のページには、リアルタイム制御のためのサンプルプログラム「led_rt.c」があります。
  • 「led_rt.c」では、<sched.h>、<sys/mman.h>、<mraa.h>などのヘッダーファイルや、sched_setscheduler、mraa_result_t retといった関数が使用されています。

質問者が選んだベストアンサー

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

書籍の紹介はできませんが、挙がっていたヘッダファイルについて簡単に説明します。 ・sched.h Linuxのスケジューリングに関係するヘッダファイル。sched_setscheduler()を呼ぶために必要です。質問に挙がっていた中ではリアルタイム制御に直接関係するのはこれだけです。 sched_setscheduler()やstruct sched_paramについてはhttps://linuxjm.osdn.jp/html/LDP_man-pages/man2/sched_setscheduler.2.htmlを参照してください。 ・sys/mman.h Linuxでファイルのメモリマッピングを行うmmap()・munmap()を呼ぶ際に必要なヘッダファイル。リンク先のサンプルプログラムには現れませんが、mraa_gpio_use_mmaped()に関係していると思われます。 mmap()・munmap()についてはhttps://linuxjm.osdn.jp/html/LDP_man-pages/man2/mmap.2.htmlを参照してください。 ・mraa.h Intel Edisonなどで低レベルのI/O通信を行うEclipse Mraaライブラリを使うためのヘッダファイル。 http://iotdk.intel.com/docs/master/mraa/ これはLinuxそのものの機能ではないので、Linuxの本には出てきません。 mraa_で始まる関数の説明は上記のウェブページ(英語)を参照してください。 Eclipse Mraaを使う予定がないのであればリンク先のサンプルプログラムはあまり参考にならないと思います。どこがLinux一般の話でどこがMraa固有の話なのかを見分けないと混乱するだけでしょう。

octopass
質問者

お礼

ありがとうございます!!大変助かります!!

その他の回答 (1)

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.1

取り敢えず、sched.hで検索すると、こちらがヒットして来ます。 【読解入門】Linuxカーネル (スケジューラ編その2) https://qiita.com/ueba/items/749e8da79b49fc0bc932 カーネルを理解するために、最初から読まれては如何でしょう? 【読解入門】Linuxカーネル (概要編) https://qiita.com/ueba/items/47b6de5ea8f4e6749f8f rtカーネルは、組み込みで言及されることが多いので、制御を目指すなら、組み込みLinuxの新しめの書籍を当たった方が良かろうかと思います。 (扱うカーネルのバージョンが、より現行のモノに近いモノを。)

関連するQ&A