강의

멘토링

로드맵

BEST
Hardware

/

Embedded IoT

FreeRTOSプログラミング

RTOSを使用するだけでリアルタイム処理が可能だと信じていませんか? この講義をご覧になり、ご確認ください。 複雑なインタラプト、優先順位、相互排除、ポーティングに関する洞察力を培います。

  • guileschool
Operating System
FreeRTOS
Embedded

学習した受講者のレビュー

こんなことが学べます

  • ハードリアルタイムを実装する方法

  • インタラプトを安定的、効率的に運用する方法

  • 頻繁な相互排他によるシステム性能低下を克服する方法

  • タスクの優先順位決定を確実にする方法

  • 私が作ったタスクがリアルタイムで動作するかテストする

  • ポーティング ノウハウ

川のひとつにまとめるFreeRTOS!
コンセプトから本物のノウハウまでご確認ください。

講義のテーマ 📖

RTOSとは?

Real-Time Operating System?

RTOSはリアルタイムオペレーティングシステムの略で、
限られた時間内に目的のタスクを処理できるように
作成されたオペレーティングシステムです。

RTOSは、リアルタイムアプリケーション向けに開発されたオペレーティングシステムです。高性能と信頼性が不可欠な環境や、自動車、家電、医療、航空宇宙、防衛、産業制御、自動化など、さまざまな分野の組み込み製品に使用されています。

高レベル(Hard-Realtime)を必要とするタスクも、リアルタイムオペレーティングシステムを使用して、限られた時間内に結果を処理できます。

FreeRTOSとは?

多くの分野に適用されるほど、RTOSもその種類とライセンス形態が多様です

FreeRTOS (クリック)

FreeRTOSは通常、組み込みアプリケーションに必要なすべてのコンポーネントでコンパイルされた単一の画像形式でメモリにフラッシュされて使用さます。
使用されているマイクロプロセッサに関係なく、組み込みアプリケーション開発者はFreeRTOSカーネルとすべてのFreeRTOSソフトウェアライブラリに対して同じ標準化されたインタフェースを使用できます。

FreeRTOSカーネルはコンパクトでシンプルで使いやすいよう設計されています。

FreeRTOS準拠の100ドル未満のマイクロコントローラボードを簡単に入手できます。

一般に、FreeRTOSベースのアプリケーションはLinuxベースのシステムよりはるかに簡単であるという利点があります。

ソース:VDC Research (クリック)

Freeertos.orgは、クイックスタートガイド(クリック)を含む、FreeRTOSカーネルの使用に関する一連の詳細なチュートリアルとガイドを提供しています。

Amazonは、 IoTデバイスが自社のクラウドに安全に接続できるようにする多数のソフトウェアライブラリをFreeRTOSカーネルに基づいて実装しています。


次の内容を学びます📚

FreeRTOSが無料でありながらソースコードベースのカーネルを備えているという点は周知の事実です。
それでは、カーネルのソースを活用できるという本当の利点は何ですか?

私が使用するカーネルがソースコードを提供してくれるという言葉は、ユーザーが望む場合はいつでもその内容を覗くことができることを言いますが、私たちの究極の目的がRTOSという自動車をよく運行することにあるなら、内燃機関車両の構造や原理の学習にその意義を置くのではなく、方向指示などの遵守、急速に加速しないなど、より多くの時間と労力を費やすことは私にとって大きな助けにはなりませんか?

また、カーネルソースを分析してカーネルをより良くパフォーマンスを改良することもできますが、すべてのコード修正には責任が伴うので、あえてお勧めすることはできません。

今からFreeRTOSという自動車をよく運行するために、私たちが不可欠に知っておくべきことをまとめてみましょう。

RTOSの6つのホットトピック✅

  1. ハードリアルタイムを実装する方法
  2. 割り込み安定的かつ効率的に運営する方法
  3. 頻繁な相互排除によるシステム性能の低下を克服する方法
  4. タスク優先順位の決定を確実にする方法
  5. 作成したタスクがリアルタイムで動作するかどうかをテストする
  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内で講義映像の補助資料として個人的な使用目的にのみ利用されなければなりません。必要です。

別の講義を一緒に見る 🔍

Linuxシェルスクリプトマスター
Linuxシェルコーディング
強力な機能を体験してください。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • RTOS 入門者

  • 軽量型OSを製品に適用したい方

  • OSに関する学習が必要な方

  • FreeRTOSをベースとした製品の最適化に悩む方

  • 製品のハードリアルタイムと安定性、二兎を捕らえたい方

前提知識、
必要でしょうか?

  • C言語

こんにちは
です。

3,233

受講生

226

受講レビュー

264

回答

4.7

講座評価

5

講座

인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.

강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)

カリキュラム

全体

206件 ∙ (9時間 21分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

72件

4.8

72件の受講レビュー

  • trueangel5님의 프로필 이미지
    trueangel5

    受講レビュー 1

    平均評価 5.0

    5

    91% 受講後に作成

    I enjoyed it. How about making a lecture on practical projects (such as mp3 players, driving robots, and drones) using FreeRTOS? I enjoyed the lecture.

    • cydphj1717님의 프로필 이미지
      cydphj1717

      受講レビュー 4

      平均評価 5.0

      5

      100% 受講後に作成

      A lot of effort has gone into the practice files and lecture videos to make it very easy to practice the main functions of FreeRTOS. I think this is the best FreeRTOS lecture that the general public can access on the market. It clearly distinguishes between the parts that you need to focus on and the parts that you don't, and explains them with various examples, making it a lecture that is really easy to understand. I remember how much I struggled reading the reference documents n times when I used FreeRTOS in my graduation project. I wish I had come across this lecture sooner. Thank you so much for providing such a great lecture.

      • guileschool
        知識共有者

        Embedded June! Just like in programming languages, I made the repetitive parts into loops or functions, so I paid attention to the source files that are repeatedly used in about 10 practical examples, and the source I wanted to see (eg. task.c, FreeRTOSConfig.h) so that I could quickly check them. I am grateful that you found that part helpful. I hope to see you again with a more substantial lecture. ㅎㅎㅎ~~

    • goodgeni2232님의 프로필 이미지
      goodgeni2232

      受講レビュー 3

      平均評価 5.0

      5

      100% 受講後に作成

      Thank you for the great lecture.

      • s25171051692님의 프로필 이미지
        s25171051692

        受講レビュー 1

        平均評価 5.0

        5

        60% 受講後に作成

        • hongmicah1899님의 프로필 이미지
          hongmicah1899

          受講レビュー 2

          平均評価 5.0

          5

          100% 受講後に作成

          I had always been interested in RTOS, and I got the opportunity to take the freeRTOS course following the ARM Cortex-M course. I was able to learn in detail about tasks, semaphores, mutexes, and more, and it was great to solidify my understanding through hands-on practice. Also, it was excellent how you explained how to utilize and apply these features through various examples like the MP3 Player. However, if I had to mention something disappointing, I felt that some lectures weren't quite smooth. Sometimes the lecture would end in the middle of speaking, and some lectures started with practice without theory, which was confusing. But there weren't many such videos, and I could understand and move on by rewatching the lectures. I binged the lectures during Chuseok, so there are parts I didn't understand 100%, but I should watch the lectures multiple times to fully understand everything before moving on. Thank you for uploading such a great course!

          ¥22,355

          guileschoolの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!