Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SWD от Keil стоящая ли вещь
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
DimaM
Недавно наткнулся на рекламу swd
мне очень понравилось, потому что иногда устройство можно отлаживать только без остановок программы. Однако прежде чем покупать кит хотелось бы знать действительно ли удобная штука и работает ли чтение запись переменных на ходу для cortex контроллеров от luminary.
KRS
Цитата(DimaM @ Feb 19 2008, 15:04) *
Недавно наткнулся на рекламу swd
мне очень понравилось, потому что иногда устройство можно отлаживать только без остановок программы. Однако прежде чем покупать кит хотелось бы знать действительно ли удобная штука и работает ли чтение запись переменных на ходу для cortex контроллеров от luminary.

Так и у ARM7 такие возможности были DDC (debug communication channel) и EmbeddedICE-RT где можно выбрать режим когда брекпоинт вызывает прерывание.
И у ARM есть RealMonitor который позволяет вести отладку в релаьном времени.
Есть еще Semihosting.
У IAR есть фича LiveWatch, которая и на 7 ARM через DDC работает.

SWD конечно удобный интерефейс - всего две ноги для отладки и реализуется проще.
Все будет работать всетки у Cortex-M3 7 верися архитектуры, а у ARM7 была 4-я.
Про возможности отладки лучше всего почитать оригинал
ARMv7-M Architecture Application Level ReferenceManual
или
Cortex-M3 Technical Reference Manual

Еще тут очень важна поддержка на хосте. Сейчас очень часто получается что железо умеет намного больше чем среда может показать.
DimaM
Цитата(KRS @ Feb 19 2008, 17:44) *
Так и у ARM7 такие возможности были DDC (debug communication channel) и EmbeddedICE-RT где можно выбрать режим когда брекпоинт вызывает прерывание.
И у ARM есть RealMonitor который позволяет вести отладку в релаьном времени.
Есть еще Semihosting.
У IAR есть фича LiveWatch, которая и на 7 ARM через DDC работает.

Как то это сложно все сразу понять. У меня простая задача - просматривать и изменять преременную в процессе исполнения программы, желательно в lpc2368 или подобном ARM7. Однако я не видел что у какого то из выше пречисленных средств есть возможность изменять значение переменных программы не останавливая программы.
Я новичек в ARM и если я ошибаюсь может кто нибудь скажет конкретнне с помощью какой IDE можно смотреть и изменять переменный без остановки отлаживаемой программы.
KRS
Цитата(DimaM @ Feb 19 2008, 18:40) *
У меня простая задача - просматривать и изменять преременную в процессе исполнения программы, желательно в lpc2368 или подобном ARM7.

Это задача простая - только с точки зрения постановки wink.gif

Для просмотра переменных - проще всего организовать их вывод например в UART (отладочную консоль) в нужных местах еще и с диагностическими сообщениями.

А вот менять переменные на ходу, не останавливая хотя бы нить, это что то непонятное.
DimaM
Цитата(KRS @ Feb 19 2008, 20:00) *
Это задача простая - только с точки зрения постановки wink.gif

Для просмотра переменных - проще всего организовать их вывод например в UART (отладочную консоль) в нужных местах еще и с диагностическими сообщениями.

А вот менять переменные на ходу, не останавливая хотя бы нить, это что то непонятное.

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

на странице написано
Serial Wire Debug (SWD) provides the same functionality as JTAG plus real-time access to memory without halting the processor and without any target resident code.
то есть доступ без останова процессора

ниже написано

Real-Time Trace enables:

Data read and write of selected variables and PC values - читать и ПИСАТЬ пременные и т.д.
Event counters that show CPU cycle statistics
Exception and Interrupt execution with timing statistics
Periodic samples of the program counter
Trace data be used for timing analysis or simple printf-style debugging
KRS
В самом ядре Cortex-M3 необходимая поддержка есть.
Все должно работать.
Andy Great
DimaM, не валите все в одну кучу. SWV - это выход, соответственно, через него писать нельзя, он только для трассировки. Касательно же записи переменных, надо делать свой кусок в программе, отвечающий за обмен по DCC либо еще каким-нибудь способом, либо ждать, когда это сделают производители ПО.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.