nanorobot 5 20 мая, 2016 Опубликовано 20 мая, 2016 (изменено) · Жалоба Дивайс под отладчиком (STLink V2) работает "неправильно" без него "правильно". Один образец lbdfqcf отдан работодателю на тестирование. Он рассказывает, что изредка случается некая хрень, которая, по его описанию, похожа на ту, что имееи место под отладчиком. Разобраться почему не работает под отладчиком не могу нескюлько дней. Суть "хрени" изложить затруднительно, очень привязана к специфике дивайса. Известны ли уважаемым коллегам некие общие принципы различия работы камня под отладчиком, и без него, м.б. что то с времянками? внутри "хрень" можно описать так volatile переменная может модифицироваться в разных местах, и под отладчиком она получает значение, которое не должна иметь по логике работы Изменено 20 мая, 2016 пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 мая, 2016 Опубликовано 21 мая, 2016 · Жалоба Предлагаю не зацикливатся на работе под отладчиком / не под отладчиком, а искать ошибку. У Кейла, к примеру, есть возможность ставить точки останова с условиями. Например, при записи в переменную. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 мая, 2016 Опубликовано 21 мая, 2016 · Жалоба Известны ли уважаемым коллегам некие общие принципы различия работы камня под отладчиком, и без него, м.б. что то с времянками? К примеру, под отладчиком можно просматривать регистры периферии, не останавливая программу. Некоторая периферия меняет своё состояние при чтении её регистров отладчиком. Другой вариант: алгоритм работает в связке "периферия - прерывания". Если программу остановить отладчиком, периферия может продолжать работать (таймеры, АЦП, ПДП), а прерывания не обрабатываются. Алгоритм ломается. В общем, бывают нюансы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nanorobot 5 21 мая, 2016 Опубликовано 21 мая, 2016 · Жалоба К примеру, под отладчиком можно просматривать регистры периферии, не останавливая программу. Некоторая периферия меняет своё состояние при чтении её регистров отладчиком. Другой вариант: алгоритм работает в связке "периферия - прерывания". Если программу остановить отладчиком, периферия может продолжать работать (таймеры, АЦП, ПДП), а прерывания не обрабатываются. Алгоритм ломается. В общем, бывают нюансы. "хрень" возникает без какой либо остановки. Live watch тоже не использется по причине его отсутствия (Ubunru | Eclipse | arm-none-eabi-gcc 5.3) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RadiatoR 2 21 мая, 2016 Опубликовано 21 мая, 2016 (изменено) · Жалоба У Кейла, к примеру, есть возможность ставить точки останова с условиями. Например, при записи в переменную. Уважаемый! Подскажите как включить такую фичу? Изменено 21 мая, 2016 пользователем ЯadiatoR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 21 мая, 2016 Опубликовано 21 мая, 2016 · Жалоба Уважаемый! Подскажите как включить такую фичу? Я сейчас не при Кейле. Там у него в помощи расписано. Типа, brakepoint with condition. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 22 мая, 2016 Опубликовано 22 мая, 2016 · Жалоба Я такое встречал. Нужно при работе с отладчиком включить аппаратный сброс перед загрузкой программы. Если дефект пропадет - значит проблема в инициализации. Где то не сброса настроек регистров периферии или тактирования перед инициализацией. Если в программе есть ватчдог, то он и может приводить к редким проявлениям дефекта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба Может это и другая проблема и я пока отложил ее в сторону... Плата работает под дебаггером и по power reset, но не работает по сбросу. Идеи? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 23 мая, 2016 Опубликовано 23 мая, 2016 · Жалоба Я сейчас не при Кейле. Там у него в помощи расписано. Типа, brakepoint with condition. http://www.keil.com/support/man/docs/uv4/u...g_breakpnts.htm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 24 мая, 2016 Опубликовано 24 мая, 2016 · Жалоба Плата работает под дебаггером и по power reset, но не работает по сбросу. Идеи? Например: неправильно инициализируется какая-то периферия (вне МК), которая сбрасывается power reset-ом, но не сбрасывается сбросом. Например - внешняя SPI-FLASH. В процессе работы даёте ей команду SLEEP, после вкл. питания она не находится в SLEEP и отвечает на команды и Ваш стартовый код её нормально обнаруживает и инициализирует, а после сброса МК, чип FLASH не сбрасывается и может быть в SLEEP, тогда он не будет отвечать ни на какие команды кода инициализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 24 мая, 2016 Опубликовано 24 мая, 2016 · Жалоба Уважаемый! Подскажите как включить такую фичу? Такое есть и в IAR и в QT встречал.и даже на крупных контроллерах AVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 24 мая, 2016 Опубликовано 24 мая, 2016 · Жалоба Например: неправильно инициализируется какая-то периферия (вне МК), которая сбрасывается power reset-ом, но не сбрасывается сбросом. Например - внешняя SPI-FLASH. В процессе работы даёте ей команду SLEEP, после вкл. питания она не находится в SLEEP и отвечает на команды и Ваш стартовый код её нормально обнаруживает и инициализирует, а после сброса МК, чип FLASH не сбрасывается и может быть в SLEEP, тогда он не будет отвечать ни на какие команды кода инициализации. Спасибо за совет. А чем тогда jtag помогает? Всего "внешнего" ethernet phy, никаких слипов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 25 мая, 2016 Опубликовано 25 мая, 2016 · Жалоба Плата работает под дебаггером и по power reset, но не работает по сбросу. Идеи? Перемычка бута не установлена ... )) Под jtag по любому будет работать... )) А вообще бывали такие случаи, но в каждом конкретном случае свои проблемы были ... Не запомнилось ни разу ... )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
johnshadow 1 25 мая, 2016 Опубликовано 25 мая, 2016 (изменено) · Жалоба Что у вас на ноге NRST висит (подтяжки, емкость)? UPD: отбой - не внимательно прочитал первый пост. извините. Изменено 25 мая, 2016 пользователем johnshadow Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
let's see 0 25 мая, 2016 Опубликовано 25 мая, 2016 · Жалоба Перемычка бута не установлена ... )) Под jtag по любому будет работать... )) А вообще бывали такие случаи, но в каждом конкретном случае свои проблемы были ... Не запомнилось ни разу ... )) Железо в попрядке - это отладочная плата от Кайла. Я ее использую для работы с OV7691/OV5640 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться