Niosはucosエクスペリエンスを使用します

Niosはucosエクスペリエンスを使用します

1. Hello world
この記事では、パンクチュアアトムSOPCチュートリアルの4つのucos実験を議論の対象とし、実験のこの部分を完了するためのいくつかの経験を取り上げます。
プロジェクトに興味がある場合、またはプロジェクトが必要な場合は、2991447145 @ qq.comまでご連絡ください。
タスクステータス情報の保存はスタックによって異なります。基本的に、プロセッサはプログラム構造に従ってデータを処理します。タスクがジャンプすると、現在の情報が保持され、復元時に復元されます。 OK。
タスク間に優先順位があります。ucosスケジューリング戦略は、最初に高い優先順位で実行されます。実際、この戦略は、優先順位の低いタスクには適しておらず、待機状態にある可能性があります。ただし、スケジューリングアルゴリズムを完全にすることは困難であり、特定の状況が詳細に分析されます。
タスクコードは通常のc関数​​を使用でき、関数名、つまり関数エントリアドレスは、パラメータとしてタスク作成API関数OSTaskCreateExt()に渡されます。

2.タスク管理と時間管理

タスク遷移図は次のとおりです。
タスク遷移図
タスクがスリープ状態から始まり、タスク作成機能を介して準備完了状態に入るのを確認することは難しくありません。準備完了状態は、タスクの開始、割り込みの終了、およびタスクの切り替えという3つの可能なモードを介して実行状態になります。実行状態のタスクはプリエンプトされて準備完了状態に戻り、中断されて割り込みサービスに入ります。遅延、セマフォ、一時停止などの制御が発生すると、待機状態になります。この待機は、リソースの競合回避などに使用され、待機状態は準備完了状態になります。
OSCPUUsage変数を使用する場合は、cfg.hにマクロ定義を追加する必要があります。そうしないと、この部分はコンパイルされず、Ucosの調整可能性が反映されます。

3.セマフォ
セマフォは、プロセスの通信と同期に使用されます。これは、タスクによるリソースの使用を制御し、競合を回避するVerilogのイネーブル信号に少し似ています。1枚の紙に自由に書いている2人が非常に混乱することは想像に難くありません。相互に排他的な書き込みが上記の問題を克服できる場合。
このパートでは、データ構造を習得するための要件が​​あります。データ構造は、データの編成を調査します。リソースへのタスクの共通アクセスをシミュレートするために、複数のタスクがアクセスできるようにグローバル変数が定義されています。別の例として、作業メカニズムがロックされ、誰かがそれを使用してロックを閉じ、離れた後に次のメカニズムに渡します。
API機能については、まだ慣れの余地があり、人々のエネルギーは常に限られています。この種のBSPベースの開発では、APIについての知識が特に重要です。

4.メッセージメールボックスとメッセージキュー
メッセージメールボックスは、メッセージを公​​開することによってタスク通信を実装しますが、メッセージキューは、より大きな容量を持つ複数のメールボックスの集合です。ミッションコミュニケーションの媒体がある場合、それを送信する方法と受信する方法を理解する必要があります。

5.まとめ
RTOSを使用した、OSにはまだ議論の余地があると言わざるを得ません。立ち止まるな

おすすめ

転載: blog.csdn.net/qq_44801767/article/details/106692519