こんにちは、
これまでは、vscode ツール バージョン 1.9.20 (旧バージョン) を使用しており、freertos スレッド (RT1189) の状態を確認するためにhttps://marketplace.visualstudio.com/items?itemName=mcu-debug.rtos-viewsを使用していました。アップデート後、ツールが動作しなくなり、「 RTOS検出が完了しませんでした。次回の停止時に再開されます。」と表示されるだけです。何か解決策はありますか?
よろしくお願いします。
こんにちは、
VS Code 用の MCUXpresso には、以前から独自の RTOS ビューアが搭載されています。https://mcuxpresso.nxp.com/mcux-vscode/latest//html/RTOS-Details.htmlをご確認ください。
また、以前の変更点として、拡張機能がMicrosoft C/C++デバッグアダプタからCortex-Debugに基づく独自のデバッグアダプタに移行しました。そのため、新しいデバッグ構成を作成する必要があります。これにより、当社のデバッグアダプタに基づく構成が自動的に作成されます(タイプとして「mcuxpresso-debug」が表示されます)。
追記:Seggerデバッグプローブを使用している場合は、RTOSの**サポート**を有効にするために特別な**イネーブルメント**が必要になりますのでご注意ください( https://mcuxpresso.nxp.com/mcux-vscode/latest//html/Debug-Views.html#enabling-rtos-awarenessを参照)。
よろしくお願いいたします。
クリスティアン
はい、解決しました。デバッグモードで-Ogフラグを付けてコンパイルしていたのですが、それを-O0に変更したらビューアが動作するようになりました。しかし、Ogが標準的な編集・デバッグプロセスのデフォルトとなるべきなので、このツールには改善が必要だと思います。
これとは関係ないのですが、デバッグコンソールにもこの警告が表示されます。
「警告: '
通常はこのようなことは起こらないはずです。バグ報告を提出してください。
よろしくお願いします。
ありがとうございます
実際には、このメッセージはMCUXpresso RTOSビュー自体から発信されています(私は別のプラグインを誤って参照していました)。
launch.json とカスタムデバイススクリプトを添付しました (Linkserver 26.3.123 の MIMXRT1180-EVK.json と同じです)。しかし、「接続スクリプト」は「RT1180_reset.scp」です。
当社のアプリはハイパーラム上で動作し、SDK 2.16を使用しています。Freertosの変数は正しく設定されています。
アプリのステップデバッグはできますが、RTOSの詳細ビューには依然として「 RTOS検出が完了しませんでした。次の停止時に再開されます。」と表示されます。
よろしくお願いします。
@cristiantepusこの件について何か進展はありますか?
今日、MCUXpresso RTOSビューアがリリースモードでは動作せず、何も表示されないことに気づきました。
しかし、 https://marketplace.visualstudio.com/items?itemName =mcu-debug.rtos-views
-Og およびリリースモードでは動作しますが、現在の mcuxpresso vscode プラグインでは動作しません (無効になります)。それを元に戻す方法はありますか?
こんにちは、 @arunkumar_g さん。
弊社が提供するRTOS詳細ビューは、ELFファイル内にいくつかのシンボルが存在することを前提としています(例:「 FreeRTOSDebugConfig」、「 pxCurrentTCB」、「 uxCurrentNumberOfTasks」など多数あります。「 RTOS検出が完了しませんでした。次の停止時に再開されます。」というメッセージでは何が問題だったのかが分からないという点には同意します。この点をより明確にするよう努めます。
「デバッグ」と「リリース」で得られた結果についてですが、これはコンパイラ/リンカの最適化の結果だと考えられます。必要なシンボルが削除されているため、利用者はそれらを見つけることができません。この場合、RTOSの詳細ビューが機能しないだけでなく、低レベルのGDB Thread認識(LinkServer、J-Link、PEmicro)でも、コールスタックビューでFreeRTOSタスクを表示およびデバッグできなくなります。この場合、デバッグモードとリリースモードの両方で必要なシンボルが存在するようにコードを更新することをお勧めするしかありません。ドキュメントとツールからの情報を更新し、必要な記号が不足しているためにビューにデータが表示されないことを明確にします。
また、このケースではMCUデバッグRTOSビューが動作しているとおっしゃっていましたが、そうかもしれません。しかし、私が最後に確認した時点では、バージョン管理(バージョンは「 FreeRTOSDebugConfig」を調べることで確認できます)は一切サポートされていませんでした。また、FreeRTOSのデータ構造はRTOSのバージョンに固有のものであることにもご注意ください。MCUデバッグビューを有効にするには、サポート対象リストに「mcuxpresso-debug」デバッグアダプタ(MCUXpresso固有)を追加する方法をメンテナーに問い合わせてください。