Страница 310 из 400
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 09:05:28
ARV
Z_h_e писал(а):К студии другой подключен чтоли?
студия может подхватывать для отладки готовый elf или hex
Demiurg писал(а):Вы не ассемблерщик
я им был, не обольщайтесь
Demiurg писал(а):Только не говорите мне, что я не умею готовить.
что можно говорить в этом случае?

если вы делитесь собственным впечатлением, то предваряйте свои высказывания "по моему личному опыту" или "мне кажется" или "я думаю", чтобы выши высказывания нельзя было принять за окончательную истину.
мои личные впечатления от протеуса близки к восторгу. если бы его ломали корректно, чтобы не падал невовремя - это был бы не инструмент, а просто волшебная палочка.
Добавлено after 4 minutes 35 seconds:
О панике

Demiurg писал(а):И в этом случае вы будете забивать всю таблицу прерываний, если потребуется, чтобы понять в чем дело.
я-то не буду.
во-первых, я знаю, как надо сразу делать правильно, и таблица векторов у меня будет на самом последнем месте поиска проблем.
во-вторых, про панику я говорил в контектсе поведения программы: когда что-то должно делаться, но при этом не делается, и в отладчике не видно явных странностей - это очень загадочно! и как раз такая загадочность возникает, если вместо остановки на "незапланированном" прерывании делается его незаметная обработка через reti - что вы предлагали. и это вполне может вызвать панику! очень много раз ко мне обращались за помощью "ничего не работает, но ошибок нет" именно по этой причине.
Demiurg писал(а):Может быть я написал банальщину.
сейчас - да. раньше было лучше

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 09:12:46
Demiurg
Ладно поболтали, побежал я. Дела, заботы...
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 12:20:18
BOB51
ГЫММ...
Как это (с точки зрения ассемблера) при корректно продуманной инициализации устройства да незадействованные в программе прерывания "сами - по себе" активируются???
Никогда с таким "казусом" не встречался...

Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 15:17:06
Demiurg
Выше я писал, как это может произойти. Сбой по питанию, импульсные помехи. Прыжок программы из за срыва стека на данные, которые могут оказаться командами управления регистрами ввода-вывода.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 15:21:29
Z_h_e
Я тоже выше писал, что от самопроизвольного изменения состояния регистров не поможет ничего. Есть не 100% шанс что спасет собака.
Добавлено after 1 minute 11 seconds:
Что за срыв стека может быть в рабочей программе?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:00:26
Demiurg
У AVR архитектура такая.
Давайте разберем случаи сбоя и переход программы. Пусть на вектор прерывания. Если неиспользуемый, reti и ничего не произошло. Либо с обработкой ошибки. Если используемый, то здесь можно применить флаг разрешения обработки прерывания.
В любое место программы. Тут сложнее. Ничто не спасает в таком случае. Если на пустое место, то будет перебор всех ячеек 0xFF, в конце мк сбросится на начало программы.
Так что, и ватчдог не особо спасает в случае сбоя.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:09:23
Z_h_e
Я не видел людей утверждающих, что ватчдог это спасение (хотя наверное есть такие). Устройство должно полностью работать без него и в тех условиях, для которых он предназначен.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:22:27
Demiurg
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3160332#p3160332"]Я не видел людей утверждающих, что ватчдог это спасение (хотя наверное есть такие). Устройство должно полностью работать без него и в тех условиях, для которых он предназначен.[/uquote]
А вот неиспользование сторожевого таймера - это выстрел себе в ногу.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:29:17
Z_h_e
Что касается RETI как "спасения" от сбоя. Т.е. Вы допускаете, что каким-то случайным образом включится маска прерывания на который нет обработчика.
Давайте посчитаем эту вероятность. Не знаю насколько верным будем мой прикидочный расчет. Пускай у Вас область ОЗУ (в которой и РОН и РВВ и просто ОЗУ) 64 байт или 512 бит и 8 векторов с RETI. Приходит некая помеха, которая переводит эту память в некое неизвестное состояние. Существует некий шанс, что память собъется так, что все останется целое, но будут включены маски неиспользуемых прерываний.
Эта вероятность 2^(-512) /8 =9.3E-156. Если хотите, можете все 156 нулей написать

. Кроме того, существуют прерывания, в которых флаги событий аппаратно не сбрасываются. В нынешнее время, МК с 64 байтами это прошлый век.
Да, и есть флаги событий которые аппаратно не сбрасываются. (два раза одно и тоже пишу, %) )
Добавлено after 1 minute 48 seconds:
Demiurg писал(а):А вот неиспользование сторожевого таймера - это выстрел себе в ногу.
Не соглашусь. Все зависит от задачи.
----
UPD: разделить конечно надо было 2^8, чуток поменьше нулей после зпт будет.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:39:18
trofim2
Z_h_e, расскажи какие флаги событий аппаратно не сбрасываются?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:41:59
Z_h_e
Буфер приема по UART не пуст. У I2C вроде, тут соврать могу.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 16:44:58
scorpi_0n
[uquote="Demiurg",url="/forum/viewtopic.php?p=3160346#p3160346"]А вот неиспользование сторожевого таймера - это выстрел себе в ногу.[/uquote]
Вы сейчас на каком ресурсе? На любительском? Ну так и расскажите о правильном использовании ватчдога. Только боюсь что вы и сами не знаете или начнёте нервно задавать этот вопрос на другом ресурсе чтобы с пафосом ответить здесь. На чём вас уже подлавливали на изиэлектроникс.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 17:02:33
Demiurg
scorpi_0n писал(а):Вы сейчас на каком ресурсе? На любительском? Ну так и расскажите о правильном использовании ватчдога. Только боюсь что вы и сами не знаете или начнёте нервно задавать этот вопрос на другом ресурсе чтобы с пафосом ответить здесь. На чём вас уже подлавливали на изиэлектроникс.
Хе. Вы хоть знаете все обстоятельства того случая? Пришел чувак, офисный работник. Не знаю кем он себя возомнил, докопался до меня. Задал он вопрос. Какие методы я применяю для проверки своих проектов. Да, я спросил на ирк канале. Потому что я не знал названия методик. И то, что мне ответили, именно эти методики я и применяю. И что ВЫ мне хотите сейчас сказать?
Применение ватчдога нужно в критических проектах. К примеру, если устройство стоит в пром оборудовании. Срабатывание ватчдога дает гарантию сброса МК и отключение исполнительных механизмов. Есть такое понятие, как время реакции системы. 16 мс - достаточное время для реакции на сбой.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Пт авг 11, 2017 18:06:32
scorpi_0n
[uquote="Demiurg",url="/forum/viewtopic.php?p=3160379#p3160379"]Применение ватчдога нужно в критических проектах. К примеру, если устройство стоит в пром оборудовании. Срабатывание ватчдога дает гарантию сброса МК и отключение исполнительных механизмов. Есть такое понятие, как время реакции системы. 16 мс - достаточное время для реакции на сбой.[/uquote]
Если у вас ватчдог будет срабатывать постоянно, то никому такой девайс не нужен. Неправильный сброс ватчдога в ненужном месте принесёт ещё больше неприятностей. Вот я и спрашиваю, все говорят ватчдог, ватчдог... А вы знаете как им правильно пользоваться? Вы уверены что это панацея или просто как все?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 05:50:23
Demiurg
Сторожевой таймер - такой же инструмент, как и любой другой периферийный модуль МК. И не меня или кого-либо еще нужно спрашивать, панацея или нет. И нормальна ли ситуация, если девайс постоянно сбрасывается.
Вы сами ответили на свой вопрос.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 08:29:30
scorpi_0n
Я сам себе вопрос не задавал, я задал его вам.
А вы знаете как им правильно пользоваться?
Вы можете озвучить критерии и правильность применения ватчдога или нет? Неужели это такой трудный для вас вопрос?
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 09:19:31
Demiurg
Повторяю, задавая мне вопрос, вы сами же и ответили. Ватчдог такой же инструмент. Вы может взять микроскоп и забивать им гвозди. Можете ничего не делать с микроскопом. Это ваше право. То же касается и ватчдога. Критерии задает разработчик устройства. Исходя из его предназначения и условий применения.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 09:43:53
scorpi_0n
Понятно! Ватчдогом вы пользуетесь (?), но смысла всего происходящего объяснить вы не можете. Спасибо!
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 10:02:51
Demiurg
Я подталкиваю вас же к правильным ответам. У вас в руках сторожевой таймер. Вы крутите его и не можете понять, с чем его едят. Начинаем с первого же очевидного. Назначение. Сброс МК, если он зависнет. Таймер можно настроить на разные временные интервалы. Настроив таймер, учитывайте его настройки при применении зацикленных временных задержек в программе. Временные характеристики внешней периферии. Использование или неиспользование сторожевого таймера зависит от назначения и применения устройства. Если вы используете свое устройство в пром оборудовании, то вы обязаны предусмотреть аварийные ситуации. Сторожевой таймер - это один из инструментов для предотвращения этих ситуаций. Поэтому, повторяю, критерии задает разработчик, исходя из условий задачи.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Сб авг 12, 2017 10:49:10
scorpi_0n
Я подталкиваю вас же к правильным ответам.
Только этого мне ещё и не хватало! Вам нечего мне сказать больше чем знаю я. Вы рассказывайте так, чтобы это всё другим понятно было, если уж начали про ватчдог.