川のひとつにまとめるFreeRTOS!
コンセプトから本物のノウハウまでご確認ください。
講義のテーマ 📖
RTOSとは?
Real-Time Operating System?
RTOSはリアルタイムオペレーティングシステムの略で、
限られた時間内に目的のタスクを処理できるように
作成されたオペレーティングシステムです。
RTOSは、リアルタイムアプリケーション向けに開発されたオペレーティングシステムです。高性能と信頼性が不可欠な環境や、自動車、家電、医療、航空宇宙、防衛、産業制御、自動化など、さまざまな分野の組み込み製品に使用されています。
高レベル(Hard-Realtime)を必要とするタスクも、リアルタイムオペレーティングシステムを使用して、限られた時間内に結果を処理できます。
FreeRTOSとは?
多くの分野に適用されるほど、RTOSもその種類とライセンス形態が多様です。
FreeRTOSは通常、組み込みアプリケーションに必要なすべてのコンポーネントでコンパイルされた単一の画像形式でメモリにフラッシュされて使用されます。
使用されているマイクロプロセッサに関係なく、組み込みアプリケーション開発者はFreeRTOSカーネルとすべてのFreeRTOSソフトウェアライブラリに対して同じ標準化されたインタフェースを使用できます。
FreeRTOSカーネルはコンパクトでシンプルで使いやすいように設計されています。
FreeRTOS準拠の100ドル未満のマイクロコントローラボードを簡単に入手できます。 一般に、FreeRTOSベースのアプリケーションはLinuxベースのシステムよりはるかに簡単であるという利点があります。
Freeertos.orgは、クイックスタートガイド(クリック)を含む、FreeRTOSカーネルの使用に関する一連の詳細なチュートリアルとガイドを提供しています。
Amazonは、 IoTデバイスが自社のクラウドに安全に接続できるようにする多数のソフトウェアライブラリをFreeRTOSカーネルに基づいて実装しています。
次の内容を学びます📚
FreeRTOSが無料でありながらソースコードベースのカーネルを備えているという点は周知の事実です。
それでは、カーネルのソースを活用できるという本当の利点は何ですか?
私が使用するカーネルがソースコードを提供してくれるという言葉は、ユーザーが望む場合はいつでもその内容を覗くことができることを言いますが、私たちの究極の目的がRTOSという自動車をよく運行することにあるなら、内燃機関車両の構造や原理の学習にその意義を置くのではなく、方向指示などの遵守、急速に加速しないなど、より多くの時間と労力を費やすことは私にとって大きな助けにはなりませんか?
また、カーネルソースを分析してカーネルをより良くパフォーマンスを改良することもできますが、すべてのコード修正には責任が伴うので、あえてお勧めすることはできません。
今からFreeRTOSという自動車をよく運行するために、私たちが不可欠に知っておくべきことをまとめてみましょう。
RTOSの6つのホットトピック✅
- ハードリアルタイムを実装する方法
- 割り込みを安定的かつ効率的に運営する方法
- 頻繁な相互排除によるシステム性能の低下を克服する方法
- タスク優先順位の決定を確実にする方法
- 作成したタスクがリアルタイムで動作するかどうかをテストする
- ポッティングノウハウ
上記の内容はすべて今回の講義の核心テーマです。
まず、RTOSを使うだけで自動的にリアルタイム処理になると誤解していませんか?
同じ材料を持って家を建ててもどんな大工が建てた家は強風や漏水にも揺れることなく安全な反面、また他の大工が建てた家は雨が少しだけでも天井から水が落ち、冬には断熱もうまくいかず暖房費が多く出てくることができます。 FreeRTOSだけでなく、RTOSの両方に該当する言葉です。
第二に、割り込み(Interrupt)をすばやく処理しなければならない作業に切り分けていませんか?
私たちのそのような固定観念が、私が作る製品やプログラムにどれだけ悪影響を及ぼすかについて事例を通して調べ、その解決策まで見ていきます。
第三に、作成しているソースコード関数内にしきい値ゾーンが表示されたらすぐにミューテックスを使用しようとしませんか?
ちょっと待ってください。
第四に、重要なタスク(作業)に高い優先順位を割り当てていませんか?
タスクに優先順位を割り当てていただいた方は、とても難しいでしょう。
第五に、プログラムの実装と同じくらい重要なのは、私が意図したとおりにタスクがリアルタイムで動作するかどうかを検証することです。
必要に応じて、デバッガに加えて機器やそれに対応する機器が必要になる場合がありますが、もちろん、これらの機器がなくても開発してテストすることはできますが、より簡単に問題を確認し、対策を講じることができます。
第六に、私が作成したプログラムが常に同じハードウェアで動作することを期待することはできません。
私が作成した製品ハードウェアのパフォーマンスがアップグレードされると、当然のことながらポーティング作業を必要とします。
13年以上熟練したRTOS講義ノウハウ💡
皆さんの時間を私の時間のように大切に考えて講義を作りました。
13年間、RTOS現場講義をしてきて、より多くの学習者と出会うために、こうしてオンラインでも講義を作ることになりました。
こんな方におすすめです! 🔑
RTOSを初めて
学ぶ入門者
FreeRTOSベースの製品
最適化を心配する方
軽量型OSを製品に
適用したい方
IoT(モノのインターネット)
開発者
加えて、こんな方も学べばいいです!
👉 製品のハードリアルタイムと安定性、二匹のウサギを全て握りたい方
👉 Linuxオペレーティングシステムと比較、レビューをご希望の方
👉 OSの理解を深めたい方
👉オフラインクラスに参加する時間の余裕がない方
- 学習のための選手の知識としてC言語を知っておく必要があります。
この講義だけの特別な点✨
- 特徴 1.映像を180個の小章で割り、後で閲覧にも役立つように構成しました。
- 特徴 2. 2Dアニメーションを積極的に活用して理解に役立つようにしました。
- 特徴 3.すべての実習例はTO-DOとともに行います。
- 特徴 4.不要な内容は大胆に捨てられ、さらにコアに集中するのを助けます。
- 特徴 5.開発者マニュアルを見なくても映像だけで学習できるよう、できるだけ気にしました。
使用ツールを確認してください🧰
- コンパイラ:STM32CubeIDE
- 練習ボード:STmicro社公式ボード(ヌクレオ、ディスカバリー)
-
- 練習の例と教材ファイル:freeRTOS_tutorials.zip(ファイルはセクション0。FreeRTOSの先頭にあります)
- 講義で使用したボードはNucleo-64 F103RBですが、実習例は次のようなボードもサポートしています。
- あなたが望むSTM32ボードが上記のリストにない場合は、「(付録)私が持っているNucleo Boardで講義を続ける」ビデオを見た後、あなたはあなたがあなたの希望するボードのためにあなたの好きなボードのために修正し、あなたのソースコードをあなたに教えてください。 1~2日かかります。質問するコーナーで申し込み)
講義を作った
知識共有者を紹介します✒️
ホン・ヨンギ(ガイルスクール)
主な履歴
- 1995:VRTXsa RTOS(68K MCUベースのセットトップボックス)
- 1999:VXWorks RTOS(MPC860 MCUベースのVoIP)
- 2003: NucleusPlus RTOS(ARM MP3)
- 2004: uC/OS-II RTOS(ARM MP3)
- 2008〜:RTOSカーネルの分析と活用実務現行講義
- 2019~:FreeRTOSプログラミング実務現業講義
その他
- UC/OS-II ベースの malloc/free 互換ダイナミックメモリマネージャの開発
- uC/OS-II ベースの miniGUI 移植
- uC/OS-II ベースのイーサネット (DM9000A) TCP/IP 移植
- uC/OS-II ベースの FatFs + SD カード移植
- uC/OS-II ベースの YAFFS + NANDFLASH 移植
- RTOSカーネル移植多数
- YouTubeチャンネル、 フラッグハブ
予想される質問 Q&A 💬
Q. C言語を知らない人が受講してもいいでしょうか?
この講義はエンジニアの方に加えて、非専攻者やRTOS内蔵製品に関心を持っている方も受講していただくとよいでしょう。
Q. 中級者もこの講義を受講してもよいでしょうか?
RTOSに入門したい方はもちろん、すでにRTOSを使用している中級者の方までもカバーできるように講義を企画しています。
Q. モノのインターネット(IoT)についても授業のテーマとして扱いますか?
FreeRTOSはさまざまなIoTデバイスで使用されていますが、このクラスはRTOSカーネルという1つのトピックに焦点を当てています。
Q. 実習のためのSTM32ボードの種類が多様ですが、何でも構いませんか?
映像では現在STM32 Nucleo64 f103rbボード基準で授業を進行します。
もし他のSTM32ボードで練習したい場合は、「(付録)私が持っているヌクレオボードで講義に従う」映像を視聴した後、実習例ファイル(freeRTOS_tutorials)ソースを自分の希望するボード用に修正し、本講義を利用するか、ソースコードをあなたが望むボード用に。 1~2日かかります。質問するコーナーで申し込み)
Q. FreeRTOSは良いですか?
とても良い質問ですが、難しい質問でもあります。
どのOSが良いのかという質問に対して、私は次のように正式な答えを準備しています。
(1)無料/有料 (2)ソースコード/バイナリ (3)多くのユーザーを持っているか (4)開発環境支援
以上は、RTOSを選ぶときに見る重要な項目です。
FreeRTOSは上記の1,2,3項目についてほぼ満点を与えることができます。
Q. 私はVxWorksを使用していますが、このレッスンは私に役立ちますか?
講義のタイトルはFreeRTOSプログラミングですが、この講義はRTOSの定数(核心)に集中する教育で設計されています。
どんなRTOSを使用しても、共通して必ず知っていかなければならない知識、よく使うスキル、ユーザーがやりやすい誤解や偏見を集めてこの講義で取り上げていくと信じています。
- 講義で使用されたプレゼンテーション資料は、PDF文書の形で受講生に無料で提供されます。
- 一緒に提供される文書は、Inflearn内で講義映像の補助資料として個人的な使用目的にのみ利用されなければなりません。必要です。
別の講義を一緒に見る 🔍