Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кармин Новиелло - Освоение STM32.pdf
Скачиваний:
2743
Добавлен:
23.09.2021
Размер:
47.68 Mб
Скачать

Продвинутые методы отладки

694

последовательному проводу (Serial Wire Output, SWO), используется для обмена данными и сообщениями с хост-приложением с небольшим влиянием на производительность микроконтроллера. Мы проанализируем эту функциональность далее.

Вкладка Startup содержит дополнительные параметры конфигурации. Давайте рассмотрим самые важные из них.

Enable flash breakpoints (Включить точки останова во Flash-памяти): одной из важных характеристик отладчиков J-Link является возможность устанавливать неограниченное количество точек останова во Flash-памяти, минуя ограничение Cortex-M, которое позволяет использовать максимально 6 точек останова для микроконтроллеров Cortex-M3/4/7. Данная опция позволяет включить эту функцию, которая прозрачно поддерживается в Eclipse IDE.

Enable semihosting (Включить полухостинг): как следует из названия, этот флажок включает поддержку полухостинга ARM.

Enable SWO (Включить SWO): включает поддержку функциональности SWO. Мы проанализируем ее лучше в следующем параграфе.

Остальные параметры конфигурации во вкладке Startup можно оставить как есть.

24.4.2. Использование интерфейса ITM и трассировка SWV

Микроконтроллеры на базе Cortex-M в одном кристалле объединяют несколько технологий отладки и трассировки. Как уже было сказано, JTAG и SWD – это две комплиментарные спецификации, которые позволяют подключить внешний отладчик к целевому микроконтроллеру. Те же интерфейсы используются для реализации возможностей трассировки. Трассировка позволяет в реальном времени экспортировать внутренние операции, выполняемые процессором. Это своего рода аппаратная отладка, и она выполняется с использованием 5 сигналов порта JTAG. Трассировка осуществляется благодаря наличию технологии под названием встроенная макроячейка трассировки (Embedded Trace Macrocell, ETM), но для нее требуются более быстрые и более продвинутые отладчики. Трассировка ETM – это своего рода технология «мониторинга (sniffing)», которая не влияет на производительность микроконтроллера. SEGGER производит отдельную линейку отладчиков, называемых J-Trace, которые предлагают трассировку микроконтроллера в реальном времени через интерфейс ETM.

Макроячейка инструментальной трассировки (Instrumentation Trace Macrocell, ITM) – ме-

нее требовательная технология трассировки, которая позволяет отправлять программно генерируемые отладочные сообщения через SWD с использованием специального сигнального I/O, называемого Serial Wire Output (SWO). Протокол, используемый выводом SWO для обмена данными с отладчиком, называется наблюдателем отладки по последовательному проводу (Serial Wire Viewer, SWV). Поддержка SWV недоступна в микроконтроллерах на базе Cortex-M0/0+.

По сравнению с другими «псевдоотладочными» периферийными устройствами, такими как UART, или другими технологиями, такими как полухостинг ARM, SWV действительно быстр. Скорость передачи данных пропорциональна скорости микроконтроллера, что позволяет ограничить влияние обмениваемых данных на производительность встроенного программного обеспечения. Очевидно, что чем быстрее запускается вывод SWO, тем быстрее должен быть отладчик. Вот почему SEGGER продает