2205118_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2205118_ja-JP

2205118_ja-JP

SWOデータトレース機能(MCXA156上)

NXPコミュニティの皆様、こんにちは。

私は、MCXA156 コントローラとその開発ボードのデバッグ機能の実験を行ってきました。

私の設定:

( FRDM-MCXA156 ) およびカスタム ボード内の MCXA156。

MCUXpresso IDE v25.6 [ビルド 136] [2025-06-27]

MCU Link pro デバッガ

これまで、NXP Expresso SDK のさまざまな例を使用して、デバッグのニーズのほとんどをカバーすることができました。(ブレークポイント、データウォッチ ポイント、ITM printf リダイレクト、割り込みトレースなど)

どういうわけか、SWO 経由の Data Watch Trace/Stream の使用に行き詰まっています。MXCA156 デバッグ機能の機能を誤解しているのではないかと考えています。

私の理解では、MCXA156 は ITM と DWT をサポートしています。

これにより、読み取り/書き込みデータコンペレータを追加し、SWO ピンを介して適切なデータをストリーミング/トレース出力できるようになります。私の設定では、他のすべてのトレース機能が正常に動作しているように見えても、「SWO データ」ウィンドウを動作させることができないようです。

私のセットアップは正しいですか、それともMCUXpresso IDE が私のユースCASEをまだサポートしていないだけでしょうか?

よろしくお願いいたします。

アレックス

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@AlexRu

SWO を使用するには、提供されている手順ガイドに従ってください。

ハードウェア要件:
チップの SWO ピンがデバッガーの SWO インターフェースに接続されていることを確認します。

(これはFRDM-MCXN947ボードです)

Alice_Yang_0-1764234995466.pngAlice_Yang_0-1764234995466.png


ソフトウェア構成:

  1. 新しいプロジェクトを作成するときに、「printf/scanf を ITM にリダイレクト」を選択して、printf/scanf 出力を ITM にリダイレクトします。

Alice_Yang_1-1764235038209.pngAlice_Yang_1-1764235038209.png

2. トレースクロックを設定します。

Alice_Yang_2-1764235054451.pngAlice_Yang_2-1764235054451.png


CLOCK_AttachClk(kTRACE_DIV_to_TRACE); /*! TRACEをTRACE_DIVにスイッチ */

/*! 区切り線を設定します */

CLOCK_SetClkDiv(kCLOCK_DivTraceClk, 3U); /*! TRACECLKDIV分周器の値を3に設定する */


3. MCUXpresso IDEでITMコンソールビューを設定します。

    • SWO ITM コンソールを開きます。
    • IDEs 設定とコードの両方で、対応するコア クロックとトレース クロックを構成します Alice_Yang_4-1764235140283.pngAlice_Yang_4-1764235140283.png Alice_Yang_5-1764235162015.pngAlice_Yang_5-1764235162015.png
    • Alice_Yang_6-1764235196129.pngAlice_Yang_6-1764235196129.pngAlice_Yang_7-1764235214710.pngAlice_Yang_7-1764235214710.png Alice_Yang_8-1764235219324.pngAlice_Yang_8-1764235219324.png
      4. 出力結果を表示します。

Alice_Yang_9-1764235228270.pngAlice_Yang_9-1764235228270.png


SWO および DWT の使用に関する詳細は、 MCUXpresso_IDE_25.06_Instruction_Trace_Guide.pdfを参照してください。このガイドは、MCUXpresso IDE インストール パスの下にあります。

BR

アリス

 

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは、アリス。

SWO トレースの設定方法に関する詳細な視覚化をありがとうございます。

私のCASE、SWO ピン (MXCA-156 PCB) と MCU-Link Pro デバッグ プローブの電気的接続はすでに確認済みです。あなたが言及した PDF には確かにより詳細な情報が含まれており、私の知識が広がります。しかし、これは DWT の使用に関する私の仮定を実際に説明/反証するものではありません。

私のセットアップでは、割り込みリターンと割り込みエントリポイントからのデータが「SWO 割り込み」ウィンドウにすでに表示されています。(これは私の SW からのライブデータです。意味のあるデータと正しいタイミング情報です。)

AlexRu_0-1764332623019.pngAlexRu_0-1764332623019.png

この情報により、SWO ピン経由の電気接続が機能していること、トレース クロックが有効になっていること、および周波数が SWO トレース構成で期待どおりであることを確認しました。

私が見逃しているのは (あるいは私の側に誤解があるのでしょうか?)、データ ウォッチ コンパレータ (DWT) を介してデータを「SWO データ」ウィンドウの SWO トレース ピンにトレースする機能です。

「再生」ボタンを有効にした後、トレース情報が受信されません。

AlexRu_1-1764333027216.pngAlexRu_1-1764333027216.png

MXCA156 の設定では、データ ウォッチポイントが 2 つのコンパレータに制限されていることを確認しました。SO、IDEs はそれらを設定できるようで、設定されたデータ ウォッチ ポイントが多すぎると警告が表示されます (妥当性を確認するために意図的に行いました)。

AlexRu_2-1764333135738.pngAlexRu_2-1764333135738.png

SO 私の質問は、IDEs はこのデバッグ方法をサポートしているのか、それとも私の側の誤解で DWT はこの種のデータ トレース機能をまったく提供していないのか、ということです。

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@AlexRu

ご返信ありがとうございます。

DWT を使用して監視したいデータを教えてください。
また、問題を再現できるプロジェクトを共有し、実行したすべての手順を示すビデオを提供してください。
この情報を使用して、自分の側で問題を再現して確認します。


ご回答をお待ちしています。


BR

アリス

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@Alice_Yangさん

私は、FRDM-MCXN236デモボード用のSDKサンプル(LED点滅)に基づいた最小限のプロジェクトを準備しました。(デモアプリ -> LED_BLINKY_PERIPHERAL )

MCXN236 ボードのセットアップは、以前使用した MCXA156 ボードと同じ効果を示しているようです。別のボードでこの動作を確認したかっただけです。

ピン設定をP0_2 -> 出力SWOに設定(この例ではデフォルト)

この例ではBOARD_BootClockFRO12M()を使用しているため、TRACECLKとTRACECLKDIV(1)を有効にします。

glocal ram 変数に対するアクションを確認するために次のコードを追加しました。

volatile uint32_t debug_cnt = 0;
void SysTick_Handler(void)
{
    /* Toggle pin connected to LED */
    GPIO_PortToggle(BOARD_LED_GPIO, 1u << BOARD_LED_GPIO_PIN);
    debug_cnt++; //<- added for demonstration purpose
}

添付ファイル: デモ プロジェクトが含まれた Zip ファイル、デバッグ セッションのビデオ。

「SWO データ」にはトレースデータが表示されないことがCANで確認できます。グローバル変数ウィンドウには、SysTick_Handler サイクル内の debug_cnt の増分 (約 1 秒) が表示されます。また、「SWO 割り込み」は SysTick_Handler() のエントリと終了を確実に表示するため、SWO トレースの電気接続は正しく機能しているようです。

この問題を絞り込むためにさらに情報を提供CAN場合はお知らせください。

また、DWT を使用してグローバル/静的 RAM 変数をトレースするという私の期待が実現可能かどうかを確認していただければ幸いです。あるいは私が誤解しているのかもしれません。

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@AlexRu

私の側でテストしました。変数の値をリアルタイムで出力することはできません。デバッグが一時停止されているときにのみ変数の値を確認できます。
Alice_Yang_0-1765449677747.pngAlice_Yang_0-1765449677747.png

BR

アリス



Re: SWO Data Trace functionallity (on MCXA156)こんにちは、アリス。お疲れ様です。SO、MCUXpresso は現在「データ トレース」デバッグをサポートしていないようです。FUTUREのリリースでもこれをリクエストすることは可能ですか?

私の部外者の視点から見ると、それが機能するために欠けているものはあまりないように思えます。SWO 割り込みは、finde で動作し、高度なデバッグ機能に拡張されているようです。
SWO データ トレースは、NXP の Xpresso ツールチェーンでのデバッグの可能性をさらに拡張します。
よろしくお願いします
アレックス
Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@AlexRu

お返事ありがとうございます。このリクエストを MCUXpresso 開発チームに転送し、進捗状況を随時お知らせします。ありがとう。
 

BR

アリス

Re: SWO Data Trace functionallity (on MCXA156)

こんにちは@Alice_Yang @AlexRu

現在、 FRDM-MCXA156 の開発ボードを使っていて、デバッグ中に SWO(シリアルワイヤー出力) で問題が発生しています。

アプリケーションは正常にデバッグされましたが、 SWOトレースウィンドウには以下のようなデータが一切届きません。

  • SWOデータ
  • SWOプロファイル
  • SWO割り込みトレース
  • ITMコンソール

問題のトラブルシューティングのため、以下の点を既に確認しました。

  • SWOピンはConfig Toolsを使用して正しく設定されました。
  • TRACEクロックは有効化され、96 MHzに設定されており、MCUコアクロック(MCXA156 96 MHzで動作)と一致します。
  • プロジェクトは、オンボードのMCU-Linkプローブを搭載したLinkServerを用いてデバッグされています。

これらの設定にもかかわらず、デバッグ中はすべてのSWOトレースウィンドウが空のままです。

参考までに、 SWOトレース構成SWOデータSWOプロファイル、およびSWO割り込みトレースウィンドウのスクリーンショットを添付しました。

この問題の原因について、またはFRDM-MCXA156でSWOトレースを有効にするために必要な追加の設定手順があるかどうかについて、ご助言やご提案をいただければ大変ありがたいです。

お時間とご協力に感謝いたします。

タグ(1)
評価なし
バージョン履歴
最終更新日:
2 週間前
更新者: