1

Segger の RTT (リアルタイム転送) を使用しようとしていますが、RTT ビューアーで出力を確認できません。根本的な原因は、RTT ビューアによって識別されていない RTT コントロール ブロックにあるとは思えません。

設定

ホスト PC は、次のように、Seggers の J-Link デバッガー (JTAG インターフェイス) を使用して ARM-CORTEX-M4 ベースのボードに接続されます。

[PC] <---- J-Link -----> [ generic CORTEX-M4 board]

私が達成しようとしていること

Segger に固有の RTT 機能を統合しようとしていますが、ホスト PC の RTT ビューアー ソフトウェアで RTT からの印刷物を見ることができません。

  1. segger が提供する統合コード

    SEGGER_RTT_Conf.h
    SEGGER_RTT_printf.c
    SEGGER-RTT.c
    SEGGER_RTT.h
    
  2. 私のメインファイルに含まSEGGER_RTT.hれ、呼び出しを追加しました

    SEGGER_RTT_WriteString(0, "Hello World from SEGGER RTT!\r\n");
    

    以内にmain()

  3. Eclipse とarm-none-eabi-ツールチェーンを使用してアプリケーションをコンパイルするだけでなく、

    • JLINK_GDBserverCL.exe-- デバッグ サーバー
    • arm-none-eabi-gdb -- クライアントのデバッグ
    • Segger J-Link -- ハードウェア デバッガ (JTAG インターフェイスを接続)

    ホスト PC で RTT ビューアー ソフトウェアを使用して、手順 2 でプリントを受信します。

ステップ 3 でプリントが表示されることを期待しています。続行するのを手伝ってください。

4

1 に答える 1

1

JLinkRTTViewer / JLinkRTTClientを呼び出すときに接続している特定のデバイスを指定するか、.mapファイルで「_SEGGER_RTT」のメモリアドレスを見つけてツールに渡す必要があります。

于 2021-08-03T19:05:40.470 に答える