0

最近、マルチプロセッサを使用した組み込み開発について学びました。デバッグモードでコンテキストスイッチを強制して、必要な特定のスレッドにアクセスできるかどうかを尋ねたいと思いました。可能であれば、デバッガーを介してこれを行う方法はありますか?私が使用するデバッガーは、システムをデバッグするためのgdbです。

ここに投稿された投稿を読んだことがありますが、これらの質問については実際には役に立ちませんでした。

ps、私はそれがおそらく安全な行動ではないことを知っています、しかしそれは私にとって必要です。

前もって感謝します。

4

1 に答える 1

2

これが可能か望ましいかは、おそらくオペレーティング システムとアプリケーションの性質に依存します。典型的な RTOS ベースのアプリケーションでは、このようなアクションは通常不適切です。通常、RTOS では、スレッドは何らかのブロッキング関数を使用して何らかのイベントを待機します。そのスレッドに切り替えるには、予期したイベントが発生していないときに「ブロック解除」が必要になるため、後続の処理が失敗する可能性があります。

RTOS のほとんどのブロッキング関数には、イベントが発生せずに関数が戻るようにするタイムアウトのオプションがあります。スレッドがブロックされている関数の後にブレークポイントを設定し、タイムアウトまたはイベントを待機すると、スレッドのステップ実行を開始できます。

于 2012-11-15T11:58:21.027 に答える