FreeRTOS (チュートリアルは非常に詳細です)

概要:

      FreeRTOS については以前に内容の一部を書きましたが、読みやすいようにまとめてまとめました。すべてを学習したら、FreeRTOS についての理解が深まりましたことをおめでとうございます。

 第 1 章 FreeRTOS の STM32 への移植

 第 2 章 FreeRTOS タスクの作成

 第 3 章 FreeRTOS タスク管理

第 4 章 FreeRTOS メッセージ キュー

第 5 章 FreeRTOS セマフォ

第 6 章 FreeRTOS ミューテックス

第 7 章 FreeRTOS イベントグループ

第 8 章 FreeRTOS タスクの通知

第 9 章 FreeRTOS ソフトウェア タイマー

第 10 章 FreeRTOS のメモリ管理

第 11 章 FreeRTOS の割り込み管理

RTOS を学ぶ理由

      組み込み分野に入ると、最初にシングルチップ プログラミングに触れることが多く、51 シングルチップを始めるにはシングルチップ プログラミングが最初の選択肢となります。ここで言及するマイクロコントローラー プログラミングは通常、ベアメタル プログラミング、つまり RTOS (Real Time Operating System リアルタイム オペレーティング システム) を追加しないプログラムを指します。一般的に使用されている RTOS には、海外の FreeRTOS、μC/OS、RTX、国内の FreeRTOS、Huawei LiteOS、AliOS-Things などが含まれます。その中でも、海外のオープンソースで無料の FreeRTOS が最も高い市場シェアを持っています。

      ベアメタルシステムでは、基本的にすべてのプログラムは自分たちで記述され、すべての操作は無限ループで実装されます。現実の中小型電子製品の多くはベアメタルシステムを採用しており、ニーズにも応えることができます。しかし、オペレーティング システム全体を導入する必要があるのに、なぜ RTOS プログラミングを学ぶ必要があるのでしょうか。1 つはプロジェクトのニーズです。製品で実現すべき機能が増えてくると、単純なベアメタル システムでは問題を完全に解決できなくなり、プログラミングがより複雑になります。プログラミングの難易度を下げたい場合は、 RTOSの導入を検討できる マルチタスク管理を実現することが、RTOSを利用する最大のメリットです。2 つ目は、学習の必要性です。ベアメタル プログラミングをやみくもに叩きつけるのではなく、より良いキャリア プランニングを達成するために、より高度なことを学び、人生の頂点で Bai Fumei と結婚する将来に備える必要があります。資格のある組み込みソフトウェア エンジニアとして、学習は決して止まらないものであり、常に将来に備えなければなりません。この本を使っていると、本に対する嫌悪感が薄れてくるので、機会があったらそう思わないでほしいと願っています。

      RTOS プログラミングのルーチンを明確にするために、「ベア メタル システムとマルチタスク システム」の章でこれら 2 つのプログラミング メソッドの違いを簡単に分析します。私はこの違いを RTOS を学ぶための鍵と呼んでいます。 RTOSの学習は簡単であると言えます。これら 2 つのプログラミング方法の違いを説明するときは、主に方法論について説明し、主に擬似コードを使用した特定のコード プログラミングについては説明しません。

RTOS を学ぶ方法

       ベアメタル プログラミングと RTOS プログラミングはスタイルが多少異なり、RTOS の学習は難しいと多くの人が言うため、学習者は RTOS プログラミングと聞くと RTOS プログラミングを怖がります。

      では、具体的にはどのようにして RTOS を学ぶのでしょうか? 最も簡単な方法は、他人が移植したシステム上の RTOS の API 命令を確認し、これらの API を呼び出して必要な機能を実現することです。基本的な移植についてはまったく気にする必要はありません。これが最も簡単で最速の方法です。この方法には一長一短があり、製品であれば、機能を早く実現して市場に投入し、最初のチャンスを勝ち取ることができるのがメリットであり、製品に問題があった場合にデメリットとなるのがデメリットです。プログラムを作成すると、RTOS の理解が不十分なため、デバッグが困難になります。学習の場合、単純に API を呼び出すことはお勧めできません。RTOS のいずれかを詳しく学習する必要があります。

       現在、市場にある既存の RTOS は同様のカーネル実装方法を備えており、そのうちの 1 つを詳しく調査するだけで十分です。これは常に同じであり、将来他のタイプの RTOS に切り替える場合にも便利です。では、RTOS を詳しく学ぶにはどうすればよいでしょうか? ここで最も効果的かつ難しい方法の 1 つは、RTOS のソース コードを読み、カーネルと各コンポーネントの実装を詳しく調べることですが、このプロセスは退屈で苦痛です。しかし、RTOS の本質を学ぶためには、あなたが地獄に行かなければ誰が地獄に行くでしょうか?

      RTOSのソースコードを解説した書籍も市販されていますが、基礎が不十分でこれまでRTOSを使ったことがない場合、ソースコードは非常に退屈なものであり、RTOS全体の構成や実装を把握することはできません。グローバルな視点から。

FreeRTOS の著作権

      FreeRTOS は、2003 年に米国の Richard Barry によってリリースされました。Richard Barry は、FreeRTOS の所有者および保守者です。過去 10 年間で、FreeRTOS は 9 つのバージョンを経て、多くの半導体メーカーと緊密に協力してきました。何百万もの開発者がいます。 . 現在最もシェアの高いRTOSです。

      FreeRTOS は 2018 年に Amazon に買収され、AWS FreeRTOS と改名され、バージョン番号が V10 にアップグレードされ、オープンソース契約も当初の GPLv2+ から MIT に変更されました。GPLv2+ と比較すると、MIT はよりオープンであり、よりオープンであることがよくわかります。何をするのも自由です。以前のバージョンの V9 はそのままですが、V10 バージョンでは V9 と比較して IoT 関連のコンポーネントが追加されており、コア部分は基本的に変更されていません。AmazonによるFreeRTOSの買収は、話題のIoTと人工知能に参入するためでもある。

FreeRTOS の請求に関する問題

FreeRTOS

      FreeRTOS は、GPLv2+ ライセンス契約に準拠した「オープンソースで無料の」リアルタイム オペレーティング システムです。ここで言うオープンソースとは、FreeRTOS のソース コードを無料で入手できることを意味し、製品が FreeRTOS を使用し、FreeRTOS カーネル ソース コードを変更しない場合、製品のすべてのコードはオープン ソースなしでクローズ ソースにすることができますが、 FreeRTOS カーネル ソース コードを変更する場合は、変更部分をオープンソースにしてコミュニティにフィードバックする必要があります。他のアプリケーション部分はオープンソースである必要はありません。無料とは、個人でも法人でも、一銭も支払うことなく無料で利用できることを意味します。

OpenRTOS

FreeRTOS と OpenRTOS は同じコードを持っていますが、正式に利用できるサービスは異なります。FreeRTOS は無料であると主張し、OpenRTOS は有料であると主張します。両者の具体的な違いを表に示します。

保存RTOS

      SaveRTOS も FreeRTOS をベースとしていますが、SaveRTOS は特定の分野についてセキュリティ関連の設計を行っており、SaveRTOS で得られるセキュリティ検証の詳細については表を参照してください。もちろん、SaveRTOS も有料であり、これらのセキュリティ検証は無償で行われるわけではありません。

 まず、FreeRTOS を STM32 に移植してマルチタスク OS とベアメタル開発の違いを体験しますチュートリアルはすでに行われており、C 言語のリンク リスト、キュー、ポインタについての深い研究があります構造などを理解できるので、後の勉強がとても楽になります。

C言語リンクリストの詳しい解説

おすすめ

転載: blog.csdn.net/qq_61672347/article/details/125748646