Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
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,167

受講生

212

受講レビュー

262

回答

4.7

講座評価

5

講座

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

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

カリキュラム

全体

206件 ∙ (9時間 21分)

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

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

受講レビュー

全体

64件

4.7

64件の受講レビュー

  • trueangel5님의 프로필 이미지
    trueangel5

    受講レビュー 1

    平均評価 5.0

    5

    91% 受講後に作成

    잘보았습니다. FreeRTOS를 이용한 실무 적용 가능 프로젝트(mp3 플레이어, 주행 로봇, 드론 같은...)도 강의로 만들어서 해주시면 어떨까요? 좋은 강의 잘 보았습니다.

    • Embedded June님의 프로필 이미지
      Embedded June

      受講レビュー 4

      平均評価 5.0

      5

      100% 受講後に作成

      FreeRTOS의 주요 기능을 아주 쉽게 실습할 수 있도록 실습 파일과 강의 영상에 엄청난 정성이 들어가 있습니다. 일반인이 시중에서 접할 수 있는 최고의 FreeRTOS 강의가 아닐까 싶습니다. 집중해서 들어야 하는 부분과 그렇지 않은 부분을 명확하게 구분해주시고, 다양한 사례를 들어서 설명해주셔서 이해하기 정말 쉬운 강의입니다. 졸업 프로젝트에서 FreeRTOS를 활용할 때 레퍼런스 문서를 n회독 하며 얼마나 고생했는지 생각납니다. 이 강의를 좀 더 빠르게 만났더라면 좋았을 걸 이라고 생각했습니다. 좋은 강의 제공해주셔서 정말 감사합니다.

      • 홍영기
        知識共有者

        Embedded June님! 프로그래밍 언어에서 반복되는 부분은 루프문이나 함수로 만들듯이, 10여개 정도되는 실습 예제에서 반복적으로 사용되는 소스파일, 그리고 내가 보고싶은 소스(eg. task.c, FreeRTOSConfig.h)를 빠르게 확인할 수 있도록 주의를 기울였습니다. 그 부분이 도움이 되셨다니 오히려 제가 감사합니다. 더욱 알찬강의로 다시 뵙기를 원합니다 ㅎㅎㅎ~~

    • 꿈꾸는소년님의 프로필 이미지
      꿈꾸는소년

      受講レビュー 3

      平均評価 5.0

      5

      100% 受講後に作成

      좋은 강의 감사합니다.

      • ko Kin님의 프로필 이미지
        ko Kin

        受講レビュー 1

        平均評価 5.0

        修正済み

        5

        87% 受講後に作成

        현역인데 RTOS쪽 이해가 부족해서 그냥 블랙박스로 두고 넘어가는 경우가 많았습니다. 강의를 통해서 많이 배우고 이제 이해 합니다! 다만 다음 강의를 만드실 때는 편집에서 영상 화질과 음량, 편집 포인트에 좀 더 신경 써주셨으면 합니다 ㅎㅎㅎ 한강에 40초 이런건 굳이 나눌 필요가 있을까 싶네요.

        • 정다은님의 프로필 이미지
          정다은

          受講レビュー 2

          平均評価 5.0

          5

          30% 受講後に作成

          ¥22,028

          guileschoolの他の講座

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

          似ている講座

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