Jump to content

    

что такое прослеживание (Trace features)

Recommended Posts

A R T

Доброго времени суток!

 

Занялся освоением контроллера 1986ВЕ91Т (аналог STM32F103x). В настоящий момент подбираю отладочные средства, ориентируюсь на продукцию фирмы IAR. Среди предлогаемого IAR-J-Trace, JLINK-ARM (JLINK-ULTRA-ARM). Первый отличается возможностью прослеживания (Trace features). Вопрос: что такое прослеживание и для чего оно необходимо.

 

Заранее спасибо всем ответившим!

Share this post


Link to post
Share on other sites

scifi

В принципе через Trace Port процессор может выдавать информацию о том, какие инструкции выполняются в реальном времени. Теоретически эта информация может записываться в компьютере, чтобы при возникновении сбоя отмотать историю назад и посмотреть, как программа зашла туда, куде не надо.

Вот тут перечислены эти фичи:

Cortex-M3 Debug and Trace

Share this post


Link to post
Share on other sites

scifi
Тоесть эта возможность должна также поддерживаться микроконтроллером?

Именно так. Должно присутствовать ETM (Embedded Trace Macrocell). Судя по информации на сайте Миландра, 1986ВЕ91Т не содержит ETM.

Это если я ничего не путаю.

Share this post


Link to post
Share on other sites

SII

Причём не только процессор поддерживать "в теории "(STM32 поддерживают, например), но у него должны быть необходимые ноги (у STM32 -- только в больших корпусах, у мелких их нет физически, хотя процессорное ядро включает ETM и всё прочее), причём эти ноги должны использоваться для соответствующего разъёма, а не чего-то другого.

Share this post


Link to post
Share on other sites

SII
Мне казалось SWD как раз это позволял сделать

 

Через SWD только асинхронная трассировка, позволяющая собирать кой-какую статистику, но не способная писать трассу выполнения программы и прочие действительно полезные вещи.

Share this post


Link to post
Share on other sites

A R T

Итак попытаюсь подвести итоги...

Имееются следующие возможности:

- SWV обеспечивает PC-Sampling, трассировку данных, событий, контрольно-измерительную трассировку (прошу прощения за мой французский);

- ETM трассировка (реализована не во всех контроллерах) позволяет отлаживать историю команд, профилировать софт, и анализировать код вцелом.

 

Имеется два способа подключения контроллера для отладки:

-JTAG-интерфейс;

-SWD-интерфейс (SWV доступна только в этом режиме).

Вывода этих интерфейосв перекрываются и выходят в один разъем, таким образом имеется возможность переключать режим отладки...

Share this post


Link to post
Share on other sites

SII

Подключений -- смотря с какой стороны считать. Если по разъёмам -- то три способа. Полноценная трассировка выполняется через специальный разъём. На процессорах с ядрами Cortex-M он имеет 20 ног, но совершенно другое их расположение, не совпадающее с традиционным JTAG. На процессорах с другими ядрами используется, если память не изменяет, 38-контактный разъём. Ну а если по собственно интерфейсам -- то вроде действительно два.

Edited by SII

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.