SEGGER RTT
Подробнее
- Создатель
- SEGGER Microcontroller
- Тип
- Протокол вывода отладочных данных
Отладочный вывод пишется в кольцевой буфер в ОЗУ, а отладчик читает его, пока программа продолжает работать.
RTT, Real Time Transfer, придумала немецкая SEGGER, создатель J-Link. Идея бесстыдно проста. Прошивка размещает в ОЗУ управляющий блок с меткой "SEGGER RTT" и набор кольцевых буферов для данных от цели к хосту и обратно. Зонд находит этот блок и читает буферы через фоновый доступ к памяти порта отладки, ни разу не останавливая ядро.
Строка лога обходится в микросекунды, а не в миллисекунды, как при семихостинге, и работает на Cortex-M0, где SWO нет. Код на стороне цели распространяется под свободной лицензией, поэтому OpenOCD и probe-rs реализуют тот же протокол — формат давно вышел за пределы зондов самой SEGGER.