Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Jtag ICE
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Alexandr_Nikolaevich
Сложилась ситуацыя, когда в массив, записывается информацыя без ведома. Видимо, где-то в программе указатель, указывает не по направлению. Хочу отловить этот глюк.
Использую AVR Studio 4.12.
Пробовал воспользоваться data breakpoint, но пункт меню не активен. Подскажите, можно ли с помосчью Jtag ICE, отловить изменение ячейки памяти? Благо дарю!
_Артём_
Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 18:37) *
Подскажите, можно ли с помосчью Jtag ICE, отловить изменение ячейки памяти?

У вас какая версия Jtag? mk2 или mk 1?
Пишут, что обе они поддерживают databreakpoint.
Но за версию 1 не скажу точно - давно вышла из строя.

Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 18:37) *
отловить изменение ячейки памяти? Благо дарю

Может как-то не так установитьь пытаетесь?

PS. Какой МК и интерфейс?
Alexandr_Nikolaevich
Цитата(_Артём_ @ Oct 10 2012, 18:52) *
У вас какая версия Jtag? mk2 или mk 1?
Пишут, что обе они поддерживают databreakpoint.
Но за версию 1 не скажу точно - давно вышла из строя.

Может как-то не так установитьь пытаетесь?

PS. Какой МК и интерфейс?


Как я понимаю, у мну просто jtag ice, не мк. Т.к в окне выбора отладчика есть "JTAGICE mkII" а есть просто "JTAG ICE". Определить интерфейс, я тоже не умею.
_Артём_
Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:04) *
Как я понимаю, у мну просто jtag ice, не мк. Т.к в окне выбора отладчика есть "JTAGICE mkII" а есть просто "JTAG ICE". Определить интерфейс, я тоже не умею.

Если версия 1, то интерфейс только jtag.
В списке ограничений пишут что
Цитата
Data Breakpoint: Variable name not supported. Use memory address instead.

Значит должно работать.
Alexandr_Nikolaevich
Цитата(_Артём_ @ Oct 10 2012, 19:10) *
Если версия 1, то интерфейс только jtag.
В списке ограничений пишут что

Data Breakpoint: Variable name not supported. Use memory address instead.

Значит должно работать.


Это означает, что точку останова можно установить, на адрес ячейки? или как понять фразу?

У меня вот что:
муню Debug->new breakpoinb -> Program breakpoint - активен
| | ->Data breakpoint - не активен
| | ->program Tracepoint - не активен
Палыч
Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:37) *
Пробовал воспользоваться data breakpoint, но пункт меню не активен.
Чтобы этот пункт меню был активен, нужно создать "Data breakpoint": выделить курсором тот элемент данных, за изменением которого Вы желаете следить и "перетащить" его в окно "Breakpoints and Tracepoints" (естественно, что это окно должно быть открыто: Menu -> View -> Toolbars -> поставить галку рядом с Breakpoints and Tracepoints).
Вот только боюсь - работает ли Data breakpoint под JTAG ? Под симулятором - да, работает. Под JTAG - нет под рукой, не на чем проверить.
_Артём_
Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:19) *
Это означает, что точку останова можно установить, на адрес ячейки? или как понять фразу?

Я так понимаю, что точка по адресу должна устанавливаться.

Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:19) *
У меня вот что:
| | ->Data breakpoint - не активен

Странно, как тогда установить если меню запрещено? Версия Jtag оригинальная? Или клон какой?

Возможно есть смысл обновить студию и версию jtag-а.
Палыч
Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Я так понимаю, что точка по адресу должна устанавливаться.
Data breakpoint следит за областью памяти и прерывает выполнение при чтении этой области или записи в неё.
Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Странно, как тогда установить если меню запрещено?
Чтобы элемент меню был активен достаточно выделить тот элемент данных, слежение за которым необходимо установить: переменную, массив, элемент массива, структуру, и др....
Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Возможно есть смысл обновить студию и версию jtag-а.
В этом смысл есть только в том случае, если текущая версия не поддерживает нужный МК. Да и то - не дальше версии 4.19, версии 5 и 6 JTAG ICE не поддерживают.
Alexandr_Nikolaevich
Цитата(Палыч @ Oct 10 2012, 19:22) *
Чтобы этот пункт меню был активен, нужно создать "Data breakpoint": выделить курсором тот элемент данных, за изменением которого Вы желаете следить и "перетащить" его в окно "Breakpoints and Tracepoints" (естественно, что это окно должно быть открыто: Menu -> View -> Toolbars -> поставить галку рядом с Breakpoints and Tracepoints).
Вот только боюсь - работает ли Data breakpoint под JTAG ? Под симулятором - да, работает. Под JTAG - нет под рукой, не на чем проверить.


Не проходит номер. При перетаскивании говорит "Data Breakpoint is not supportet by target"
Если нажать правой кнопкой, в окне Breakpoints and Tracepoints, зайти в New - Data Breakpoint (или Program Tracepoint), открывается форма параметров, но ни один элемент формы не активен.

Наверное попробую воспользоваться советом Артема, обновлю Студию.

Цитата(Палыч @ Oct 10 2012, 19:36) *
Чтобы элемент меню был активен достаточно выделить тот элемент данных, слежение за которым необходимо установить: переменную, массив, элемент массива, структуру, и др....


Виделение переменной, тоже, увы, ничего не дает. Меню все равно не активно
Палыч
Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 20:40) *
Наверное попробую воспользоваться советом Артема, обновлю Студию.
Можете не пробовать обновлять... В Help'е ясно написано, что Data Breakpoint работают только в симуляторе и JTAGICE mkII, т.е. Ваш JTAG такие точки останова не поддерживает...
Alexandr_Nikolaevich
Цитата(Палыч @ Oct 10 2012, 19:47) *
Можете не пробовать обновлять... В Help'е ясно написано, что Data Breakpoint работают только в симуляторе и JTAGICE mkII, т.е. Ваш JTAG такие точки останова не поддерживает...

Печально. Может кто посоветует, как отловить, кто пишут в память, после того, как я обнаружил, несанкцыонированное обращение? Может можно как-то откатиться назад по стеку?
_Артём_
Цитата(Палыч @ Oct 10 2012, 19:47) *
В Help'е ясно написано, что Data Breakpoint работают только в симуляторе и JTAGICE mkII

В каком пункте написано?

Из JTAG ICE User guide:
Цитата
Features
AVR Studio Compatible
Supports all AVR Devices with JTAG Interface
Exact Electrical Characteristics
Emulates all Digital and Analog On-Chip Functions
Complex Breakpoints Like Break on Change of Program Flow
Data and Program Memory Breakpoints
Палыч
Цитата(_Артём_ @ Oct 10 2012, 20:54) *
В каком пункте написано?


Да,да... Сам только что, в Help'e на JTAGICE это обнаружил - поддерживает... А, в Help'e на AVRStudio говорится, что Data BreakPoints поддерживают ICE50, JTAGICE mkII и симулятор... Бардак...
Alexandr_Nikolaevich
Может ли как-то одолжить ICE50 или JTAGICE mkII в Киеве!! С меня причитается. ОЧЕНЬ нужно.
Alexandr_Nikolaevich
Разобрался. Можно поставить точку преривание на изменение ячейки памяти по адресу. Для этого заходим в JTAG ICE Properties, вкладка Breakpoints. В строке Symbol name or address указываем адрес интересующей переменной. И все работает
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.