05082024

Last update2016/05/28 14:38

Back 現在地: Home パートナー segger-tools embOSフレームプログラム

embOSフレームプログラム

embOSフレームプログラム

このサンプルのフレームのプログラムは、単純なマルチタスクプログラムを構築するために選択されたメモリモデルのためのライブラリとのコンパイルおよびリンクをする必要があります。それはすべてのembOSディストリビューションの一部です。

-------------------------------------------------- -------------------- 
ファイル:Main.cppで
目的:OSのためのスケルトンプログラム
-------- END - OF - HEADER ------ ---------------------------------------
* / #"RTOS.h"が含まれOS_STACKPTR intをStackHP [128]、StackLP [128]; / *タスクのスタック* / OS_TASK TCBHP、TCBLP; / *タスクコントロールブロック* / 静的ボイドHPTask(ボイド){ しますwhile(1){ OS_Delay(10); } } 静的ボイドLPTask(ボイド){ (1){しばらく OS_Delay(50); } } /******************************* ************************************** * *メイン* ******** ************************************************** ***********/ int型メイン(ボイド){ OS_IncDI(); / *初期状態では割り込みを無効にする* / OS_InitKern(); / *初期化OSは* / OS_InitHW(); / * OSのハードウェアを初期化する* / / *ここに少なくとも1つのタスクを作成する必要があります!* / OS_CREATETASK(&TCBHP、"HPのタスク"、HPTask、100、StackHP); OS_CREATETASK(&TCBLP、"LPのタスク"、LPTask、50、StackLP); OS_Start(); / * * /マルチタスクの開始 リターン0; }

































このプログラムはその後、エミュレータにロードし、チェックアウトできます。同様に、単一のタスクのプログラムでは、OSを含むプログラムの任意の部分を介してブレークポイントとステップを設定することができます。
タスク切り替えが実行される速チェックアウト...
この機能を展開し、ターゲットハードウェアにプログラムを採用...

この方法は、それが開始するのはごく簡単です。
あなたが唯一の違いは、複数のプログラムが準同時に実行することです、あなたがいつも同じようなプログラムを書くことができます。ないタスクがアクティブでないときにOSが自動的に省電力モードでCPUを置くので、あなたはすでに、消費電力をこのように減少させる。あなたも見ることができるように、タイミングが非常に簡単になります。

その他の機能

あなたがシステムに感じられるように、後で使用することができます。

  • タイミングと定期的に実行する必要があるシンプルな"ジョブ"を制御するソフトウェアタイマ
  • タスク/タスクとタスク/割り込みの通信ではなく、グローバル変数のためのメールボックス
  • リソースは、リソースが同時に複数のタスクで使用されていないことを確認するためにセマフォ