реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Jtag ICE, data breakpoint
Alexandr_Nikolae...
сообщение Oct 10 2012, 15:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



Сложилась ситуацыя, когда в массив, записывается информацыя без ведома. Видимо, где-то в программе указатель, указывает не по направлению. Хочу отловить этот глюк.
Использую AVR Studio 4.12.
Пробовал воспользоваться data breakpoint, но пункт меню не активен. Подскажите, можно ли с помосчью Jtag ICE, отловить изменение ячейки памяти? Благо дарю!
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 10 2012, 15:52
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



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

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

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

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

PS. Какой МК и интерфейс?
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 10 2012, 16:04
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



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

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

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


Как я понимаю, у мну просто jtag ice, не мк. Т.к в окне выбора отладчика есть "JTAGICE mkII" а есть просто "JTAG ICE". Определить интерфейс, я тоже не умею.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 10 2012, 16:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(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.

Значит должно работать.
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 10 2012, 16:19
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



Цитата(_Артём_ @ 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, 16:20
Go to the top of the page
 
+Quote Post
Палыч
сообщение Oct 10 2012, 16:22
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:37) *
Пробовал воспользоваться data breakpoint, но пункт меню не активен.
Чтобы этот пункт меню был активен, нужно создать "Data breakpoint": выделить курсором тот элемент данных, за изменением которого Вы желаете следить и "перетащить" его в окно "Breakpoints and Tracepoints" (естественно, что это окно должно быть открыто: Menu -> View -> Toolbars -> поставить галку рядом с Breakpoints and Tracepoints).
Вот только боюсь - работает ли Data breakpoint под JTAG ? Под симулятором - да, работает. Под JTAG - нет под рукой, не на чем проверить.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 10 2012, 16:23
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 19:19) *
Это означает, что точку останова можно установить, на адрес ячейки? или как понять фразу?

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

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

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

Возможно есть смысл обновить студию и версию jtag-а.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Oct 10 2012, 16:36
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Я так понимаю, что точка по адресу должна устанавливаться.
Data breakpoint следит за областью памяти и прерывает выполнение при чтении этой области или записи в неё.
Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Странно, как тогда установить если меню запрещено?
Чтобы элемент меню был активен достаточно выделить тот элемент данных, слежение за которым необходимо установить: переменную, массив, элемент массива, структуру, и др....
Цитата(_Артём_ @ Oct 10 2012, 20:23) *
Возможно есть смысл обновить студию и версию jtag-а.
В этом смысл есть только в том случае, если текущая версия не поддерживает нужный МК. Да и то - не дальше версии 4.19, версии 5 и 6 JTAG ICE не поддерживают.
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 10 2012, 16:45
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



Цитата(Палыч @ 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) *
Чтобы элемент меню был активен достаточно выделить тот элемент данных, слежение за которым необходимо установить: переменную, массив, элемент массива, структуру, и др....


Виделение переменной, тоже, увы, ничего не дает. Меню все равно не активно
Go to the top of the page
 
+Quote Post
Палыч
сообщение Oct 10 2012, 16:47
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Alexandr_Nikolaevich @ Oct 10 2012, 20:40) *
Наверное попробую воспользоваться советом Артема, обновлю Студию.
Можете не пробовать обновлять... В Help'е ясно написано, что Data Breakpoint работают только в симуляторе и JTAGICE mkII, т.е. Ваш JTAG такие точки останова не поддерживает...
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 10 2012, 16:50
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



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

Печально. Может кто посоветует, как отловить, кто пишут в память, после того, как я обнаружил, несанкцыонированное обращение? Может можно как-то откатиться назад по стеку?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 10 2012, 16:54
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Палыч @ 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
Go to the top of the page
 
+Quote Post
Палыч
сообщение Oct 10 2012, 17:06
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(_Артём_ @ Oct 10 2012, 20:54) *
В каком пункте написано?


Да,да... Сам только что, в Help'e на JTAGICE это обнаружил - поддерживает... А, в Help'e на AVRStudio говорится, что Data BreakPoints поддерживают ICE50, JTAGICE mkII и симулятор... Бардак...
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 11 2012, 09:07
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



Может ли как-то одолжить ICE50 или JTAGICE mkII в Киеве!! С меня причитается. ОЧЕНЬ нужно.
Go to the top of the page
 
+Quote Post
Alexandr_Nikolae...
сообщение Oct 23 2012, 14:40
Сообщение #15


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 19-08-06
Пользователь №: 19 678



Разобрался. Можно поставить точку преривание на изменение ячейки памяти по адресу. Для этого заходим в JTAG ICE Properties, вкладка Breakpoints. В строке Symbol name or address указываем адрес интересующей переменной. И все работает
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 23:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.0143 секунд с 7
ELECTRONIX ©2004-2016