Блок управления Segger RTT не идентифицируется программой просмотра RTT

Я пытаюсь использовать Segger RTT (передача в реальном времени), но не вижу никаких результатов в программе просмотра RTT. Я сомневаюсь, что основная причина - блок управления RTT, который не идентифицируется программой просмотра RTT.

Настроить

Хост-компьютер подключен с помощью отладчика SeggersJ-Link(интерфейс JTAG) к плате на базе ARM-CORTEX-M4, например:

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

Чего я пытаюсь достичь

Я пытаюсь интегрировать функцию RTT, специфичную для Segger, и я не могу видеть отпечатки 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)

    на главном ПК с помощью программы просмотра RTT для получения отпечатков на шаге № 2.

Я ожидаю увидеть распечатку на шаге № 3, пожалуйста, помогите мне продолжить.

1 ответ

Либо вам нужно указать, какое конкретное устройство вы подключаете, когда вы вызываете JLinkRTTViewer / JLinkRTTClient, либо вам нужно найти адрес памяти «_SEGGER_RTT» в вашем файле .map и передать его инструментам.

Другие вопросы по тегам