1

助けが必要です。別のアルゴリズムを使用して freeRTos の代替スケジューラを構築し、OS でそれを置き換えようとするプロジェクトがあります。

私の質問は次のとおりです。

  1. 平常時でも可能ですか?(数ヶ月程度)

  2. OSコード全体でスケジューラのコードを認識するにはどうすればよいですか?

4

2 に答える 2

4

FreeRTOS はわずか数千行のコードであることを考えると、数か月以内に確実に可能になります。もちろん、スケジューラの書き方を知っていれば。

ただし、FreeRTOS には実際のスケジューラさえありません。実行可能なタスクのリストを維持し、すべてのスケジューリング ポイント (割り込みからの復帰または明示的な明け渡し) で、そのリストから最も優先度の高いタスクを取得します。

于 2011-09-21T21:05:55.947 に答える
1

質問 2 にさらに回答を追加するには:

タスク コントロールは tasks.c にあり、portable/port.c にはコンテキスト スイッチが含まれています。

ソース組織のドキュメントを見てください。特定の関数名は、それが定義されているファイルを示します。彼らがいることができる場所はあまり多くありません。grepを使用してください:)

于 2011-11-18T09:55:50.527 に答える