|
|
  |
Jtag ICE, data breakpoint |
|
|
|
Oct 10 2012, 15:37
|
Участник

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

|
Сложилась ситуацыя, когда в массив, записывается информацыя без ведома. Видимо, где-то в программе указатель, указывает не по направлению. Хочу отловить этот глюк. Использую AVR Studio 4.12. Пробовал воспользоваться data breakpoint, но пункт меню не активен. Подскажите, можно ли с помосчью Jtag ICE, отловить изменение ячейки памяти? Благо дарю!
|
|
|
|
|
Oct 10 2012, 15:52
|
Гуру
     
Группа: Свой
Сообщений: 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. Какой МК и интерфейс?
|
|
|
|
|
Oct 10 2012, 16:04
|
Участник

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

|
Цитата(_Артём_ @ Oct 10 2012, 18:52)  У вас какая версия Jtag? mk2 или mk 1? Пишут, что обе они поддерживают databreakpoint. Но за версию 1 не скажу точно - давно вышла из строя.
Может как-то не так установитьь пытаетесь?
PS. Какой МК и интерфейс? Как я понимаю, у мну просто jtag ice, не мк. Т.к в окне выбора отладчика есть "JTAGICE mkII" а есть просто "JTAG ICE". Определить интерфейс, я тоже не умею.
|
|
|
|
|
Oct 10 2012, 16:10
|
Гуру
     
Группа: Свой
Сообщений: 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. Значит должно работать.
|
|
|
|
|
Oct 10 2012, 16:19
|
Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 10 2012, 16:23
|
Гуру
     
Группа: Свой
Сообщений: 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-а.
|
|
|
|
|
Oct 10 2012, 16:36
|

Гуру
     
Группа: Свой
Сообщений: 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 не поддерживают.
|
|
|
|
|
Oct 10 2012, 16:45
|
Участник

Группа: Участник
Сообщений: 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)  Чтобы элемент меню был активен достаточно выделить тот элемент данных, слежение за которым необходимо установить: переменную, массив, элемент массива, структуру, и др.... Виделение переменной, тоже, увы, ничего не дает. Меню все равно не активно
|
|
|
|
|
Oct 10 2012, 16:50
|
Участник

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

|
Цитата(Палыч @ Oct 10 2012, 19:47)  Можете не пробовать обновлять... В Help'е ясно написано, что Data Breakpoint работают только в симуляторе и JTAGICE mkII, т.е. Ваш JTAG такие точки останова не поддерживает... Печально. Может кто посоветует, как отловить, кто пишут в память, после того, как я обнаружил, несанкцыонированное обращение? Может можно как-то откатиться назад по стеку?
|
|
|
|
|
Oct 10 2012, 16:54
|
Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Oct 11 2012, 09:07
|
Участник

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

|
Может ли как-то одолжить ICE50 или JTAGICE mkII в Киеве!! С меня причитается. ОЧЕНЬ нужно.
|
|
|
|
|
Oct 23 2012, 14:40
|
Участник

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

|
Разобрался. Можно поставить точку преривание на изменение ячейки памяти по адресу. Для этого заходим в JTAG ICE Properties, вкладка Breakpoints. В строке Symbol name or address указываем адрес интересующей переменной. И все работает
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|