Столкнулся со следующей трудностью: сервер отладки, который запускается IDE в начале отладочного сеанса не находит автоматически адрес структуры _SEGGER_RTT в ОЗУ. Ввести адрес вручную на вкладке RTTerminal окна "Control panel" не получается - там какое-то странное поле ввода, которое само постоянно обновляется (у меня версия софта 5.00I).
В мануале от сеггера предлагают заставить отладчик самостоятельно передать адрес:
Код
In some cases J-Link cannot locate the RTT buffer in the known RAM region.
In this case the possible region or the exact address can be set manually via a J-Link exec command:
Set ranges to be searched for RTT buffer: SetRTTSearchRanges <RangeStart [Hex]> <RangeSize >[, <Range1Start [Hex]> <Range1Size>, ...] (e.g. "SetRTTSearchRanges 0x10000000 0x1000, 0x2000000 0x1000")
Set address of the RTT buffer: SetRTTAddr <RTTBufferAddress [Hex]> (e.g. "SetRTTAddr 0x20000000")
Set address of the RTT buffer via J-Link Control Panel -> RTT
J-Link exec commands can be executed in most applications, for example in J-Link Commander via "exec <Command>", in J-Link GDB Server via "monitor exec <Command>" or in IAR EW via "__jlinkExecCommand("<Command>");" from a macro file.
In this case the possible region or the exact address can be set manually via a J-Link exec command:
Set ranges to be searched for RTT buffer: SetRTTSearchRanges <RangeStart [Hex]> <RangeSize >[, <Range1Start [Hex]> <Range1Size>, ...] (e.g. "SetRTTSearchRanges 0x10000000 0x1000, 0x2000000 0x1000")
Set address of the RTT buffer: SetRTTAddr <RTTBufferAddress [Hex]> (e.g. "SetRTTAddr 0x20000000")
Set address of the RTT buffer via J-Link Control Panel -> RTT
J-Link exec commands can be executed in most applications, for example in J-Link Commander via "exec <Command>", in J-Link GDB Server via "monitor exec <Command>" or in IAR EW via "__jlinkExecCommand("<Command>");" from a macro file.
вот только как это сделать в Кейле тут не указано.
Кстати,
Если попытаться с помощью JLinkRTTViewer открыть еще одну сессию (при запуске этой утилиты можно указать адрес структуры _SEGGER_RTT) то отладочный вывод идет, но после выхода из отладочного режима в кейле и закрытия JLinkRTTViewer, кейл падает.
Если же запускать JLinkRTTViewer так, чтобы он подключалась к уже запущенному отладочному процессу и потом автоматически реконнектился к нему, то естественно вывода нет - поскольку адрес структуры не найден, и задать его во вьюере нельзя.
Прошу указать способ, как в отладчике кейла послать команду JLink серверу?