Как настроить RTT в среде разработки Atollic TrueStudio на примере версии 9.2.0
Atollic TrueStudio 9.2.0 + RTT
Сообщений 1 страница 2 из 2
Поделиться22019-01-09 18:42:36
1. В проект нужно добавить 4 файла от Segger для работы с RTT. (например просто перетащить из тотал командера в workspaces проекта в папку src)
SEGGER_RTT.c
SEGGER_RTT.h
SEGGER_RTT_Conf.h
SEGGER_RTT_printf.c
Лежат они тут: c:\Program Files (x86)\SEGGER\JLink_V630j\Samples\RTT\RTT эта папка появиться после установки утилит для работы с J-Link, версия в пути понятно что может быть другая.
Там же есть примеры использования: c:\Program Files (x86)\SEGGER\JLink_V630j\Samples\RTT\Examples.
2. Добавляем в проекте библиотеку #include "SEGGER_RTT.h"
3. Пишем что мы там хотим... типа такого
int main(void) { SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL); SEGGER_RTT_WriteString(0, "SEGGER Real-Time-Terminal Sample\r\n\r\n"); SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n"); SEGGER_RTT_printf(0, "printf Test: %%c, 'S' : %c.\r\n", 'S'); SEGGER_RTT_printf(0, "printf Test: %%5c, 'E' : %5c.\r\n", 'E'); SEGGER_RTT_printf(0, "printf Test: %%-5c, 'G' : %-5c.\r\n", 'G'); SEGGER_RTT_printf(0, "printf Test: %%5.3c, 'G' : %-5c.\r\n", 'G'); SEGGER_RTT_printf(0, "printf Test: %%.3c, 'E' : %-5c.\r\n", 'E'); SEGGER_RTT_printf(0, "printf Test: %%c, 'R' : %c.\r\n", 'R'); SEGGER_RTT_Write(0, 0, 0); SEGGER_RTT_Write(0, "01234567890123456789012345678901234567890123456789012345678901234567890123456789\r\n", 82); while(1); }
4. Запускаем проект на отладку. Он автоматически станет на паузу в функции main.
Теперь в главном меню запускаем View->Terminal в появившейся вкладке Terminal нажимаем кнопку Open a new terminal view
В появившемся окне
выбираем Telnet Terminal, далее выставляем настройки как на картинке
и нажимаем Ок, появиться сообщение что мы успешно подключились к отладчику
ну и результат выполнения нашей программы
После начала новой сессии отладки подключаться нужно вручную нажатием на кнопку Open Terminal на вкладке Terminal 1(мы ее создали), как автоматизировать пока не знаю.