2.5.2. Отладочная система CoreSight
У всех ЦПУ ARM имеется собственная встроенная отладочная система. ЦПУ ARM7 и ARM9, как минимум, имеют порт JTAG, который является стандартным интерфейсом для подключения к ЦПУ, а также загрузки кода программы во внутреннее ОЗУ или Flash память. Порт JTAG также поддерживает базовые функции управления исполнением программы (пошаговое выполнение, установка контрольных точек и др.) и делает возможным просмотр содержимого ячеек памяти. С помощью специального блока, который называется встроенной трассировочной макроячейкой (ETM), ЦПУ ARM7 и ARM9 также предоставляют возможности трассировки в масштабе реального времени. Несмотря на то, что данная отладочная система работает отлично, она имеет некоторые ограничения. Когда ЦПУ ARM остановлено, связанная с портом JTAG отладочная система, способна предоставлять только отладочную информацию и не имеет возможностей обновления в реальном времени. Кроме того, количество аппаратных контрольных точек ограничено двумя. Из-за этого в наборы инструкций ARM7 и ARM9 включены инструкции контрольных точек, которые отладочное средство может вставлять в код программы (обычно они называются программными контрольными точками). Наконец, чтобы появилась поддержка реально-временной трассировки, производитель должен в ущерб стоимости микроконтроллера интегрировать в него ETM. В итоге, в микроконтроллерах такой поддержки чаще всего не оказывается. В новом ядре Cortex применена абсолютно иная отладочная система, которая получила название CoreSight.
Отладочная система CoreSight использует интерфейс JTAG или Serial Wire. Она отвечает за выполнение функций управления исполнением программы и трассировки. Ее дополнительное преимущество заключается в возможности оставаться в работе, даже когда МК STM32 находится в экономичном режиме. Это большой шаг вперед относительно стандартной JTAG отладки
Отладочная система CoreSight имеет DAP-порт, который отвечает за подключение к микроконтроллеру посредством JTAG инструментальных средств. Отладочные инструментальные средства могут использовать для подключения стандартный 5-выводной интерфейс JTAG или 2-проводной интерфейс Serial Wire. Помимо возможностей JTAG отладки, отладочная система CoreSight содержит блоки трассировки Data Watch и ETM. Для тестирования программы предусмотрены блоки инструментальной трассировки и корректировки Flash памяти (FLASH patch). У МК STM32 используется сокращенная версия отладочной системы CoreSight, которая отличается отсутствием в ее структуре блока ETM. По сути, используемая в МК STM32 структура отладочной системы CoreSight, является версией стандартной JTAG отладочной системы, но с улучшенными реально-временными характеристиками. Отладочная система CoreSight микроконтроллеров STM32 поддерживает 8 аппаратных контрольных точек, которые можно задавать и отменять во время исполнения ЦПУ Cortex кода программы, не оказывая на это никакого влияния. Отладочная система CoreSight может оставаться активной, даже после перехода ядра Cortex в экономичный режим работы. Такая возможность несете в себе множество преимуществ для отладки маломощных устройств. Кроме того, таймеры STM32 могут останавливаться одновременно с выполненной системой CoreSight остановкой ЦПУ. Благодаря этому, появляется возможность пошагового выполнения программы и поддержания таймеров в синхронизме с выполнением инструкций ЦПУ Cortex. Отладочная система CoreSight микроконтроллеров STM32 позволяет существенно улучшить возможности отладки в масштабе реального времени по сравнению с предшествующими ЦПУ ARM7 и ARM9 и, при этом, предоставляет возможность использовать столь же недорогую аппаратную часть.
|