私はFreeRTOSの調査を開始し、タスクコンテキスト保存ルーチンを調べました。このルーチンは、レジスタとスタックポインタを格納します。私の質問は、さまざまなスレッドのスタックについてです。コンパイラによって生成されたプッシュとポップを実行するスレッドがある場合はどうなりますか?別のスレッドのスタックを上書きすることはできないでしょうか?マイクロプロセッサのコンテキストスイッチ
-1
A
答えて
2
各スレッドは、コンテキスト格納に必要な専用のコールスタックとの十分なスタックを割り当てる必要があります。コンテキスト格納に必要なスタックスペースの追加量はターゲットに依存しますが、具体的にFreeRTOSの場合、定数configMINIMAL_STACK_SIZE
は少なくともそのサイズにある程度の余裕があります。
スレッドスタックが割り込みコンテキストで使用されるいくつかのターゲットでは、割り込みによるスタック使用も考慮する必要があります。割り込みがネスト可能な場合。最悪の状況は、すべての割り込みが優先順位でアクティブになってから完了するまでの間です。シナリオは考えられませんが、考慮する必要があります。あなたは何を行うことができます何のメモリ保護がありません場合はFreeRTOSのためのスタック割り当ての
関連する問題
- 1. コンテキストスイッチTIme
- 2. FreeRTOS初期コンテキストスイッチ
- 3. ビジー待機とコンテキストスイッチ
- 4. 割り込みハンドラのコンテキストスイッチ
- 5. アームインラインアセンブリを使用したコンテキストスイッチ
- 6. Linux上のプロセスのコンテキストスイッチのトレース
- 7. "performSelectorOnMainThread"を使用してiOS上のコンテキストスイッチ
- 8. コンテキストスイッチをプログラムでカウントする方法
- 9. コンテキストスイッチはモードスイッチを意味します
- 10. マイクロプロセッサSA1100のクロスコンパイラ(ubuntu 12.04 LTS上)のインストール方法は?
- 11. プロセッサ(CPU)とマイクロプロセッサの違いは何ですか?
- 12. マイクロプロセッサからデータを取得するVHDL Spartan 3A
- 13. コンテキストスイッチ時間をどのように減らすのですか
- 14. 新しいプロセス(コンテキストスイッチ後)のページテーブルとページディレクトリの検索
- 15. Linux上でJavaのコンテキストスイッチの頻度を調整する
- 16. Linux上のユーザーランドからコンテキストスイッチを強制する?
- 17. Windowsでコンテキストスイッチの通知を受け取る方法(7)
- 18. マイクロプロセッサはヒープをどのように追跡していますか?
- 19. アンドロイド:デバイスローテーション時にOpenGL ESコンテキストスイッチを無効にする
- 20. Tileraマイクロプロセッサはどんな命令セットを使用していますか?
- 21. コンテキストスイッチは変数の変更にどのように影響しますか?
- 22. 次のうちコンテキストスイッチが関係するのはどれですか?
- 23. コンテキストスイッチがスタックオーバーフローを引き起こす可能性がありますか?
- 24. NodeJSで同時実行またはコンテキストスイッチを実装する方法
- 25. Linuxコンテキストスイッチの内部:プロセスがタイマー割り込みの前に終了するとどうなりますか?
- 26. コンテキストスイッチは毎回動作しますか、予期しない動作が発生しますか?
- 27. C#でコンテキストスイッチなしでアトミック操作を強制する方法はありますか?
- 28. 8051マイクロプロセッサの立ち上がりエッジで外部割り込みをアクティブにする方法はありますか?
- 29. マイクロプロセッサ8086でアセンブリ言語で16ビットの数値を入力するにはどうすればよいですか?
- 30. どのようにして、レジスタはコンテキストスイッチ上のデータをすばやく格納および取得しますか?
にFAQで提供されています。存在する場合は、いいえ。しかし、なぜスタックが上書きされると思いますか?そこで走っている全てのスレッドは、コンパイラによって生成されたプッシュとポップを持つでしょう...? –
しかし、特定の条件に応じていくつかのプッシュとポップがある場合はどうなりますか?その後、別のスレッドのスタックを上書きすることができます。 – Gustavo
それでもどうなるか説明してください。スレッドは別々のスタックを持っていますが、なぜ彼らはお互いを上書きしますか?そして、この特定の条件は何ですか? –