ViKo 1 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Видимо у меня принципы другие - мне нужен. Правда на куда меньшее время, порядка секунды. А что он контролирует? А если произойдет сбой, обновление начнется сначала само, как ни в чем не бывало? Я с компьютера вручную пересылку прошивки запускаю. И старт обновления в приборе тоже вручную даю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба А что он контролирует?Сбой связи. А если произойдет сбой, обновление начнется сначала само, как ни в чем не бывало?Да. И старт обновления в приборе тоже вручную даю.А я - нет. Мне не нужно лезть в прибор, чтобы запустить обновление. Достаточно запустить программу обновления на компе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Мне не нужно лезть в прибор, чтобы запустить обновление. Достаточно запустить программу обновления на компе. То есть, при подключенном к компу приборе запускаете программу обновления, о процесс пошел. Если произошел сбой связи или программирования флэш-памяти, прибор перезапускается, "вспоминает", что должен обновляться, посылает в комп сигнал, и программа перезапускает обновление? Или программа не дожидается подтверждения завершения, и сама перезапускается обновлять по-новой? На обрыв связи обычного программного таймаута не хватит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Или программа не дожидается подтверждения завершения, и сама перезапускается обновлять по-новой?Не дождавшись подтверждения программа завершается с сообщением об ошибке. Человек может запустить ее снова. На обрыв связи обычного программного таймаута не хватит?Хватит. Но собакой значительно проще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Часто вижу высказываания, что в ответсвенные изделия ставят внешний. Придерживаюсь такого же мнения. Не хочется делать безответственные девайсы. Практика показывает, что безответственными девайсы получаются сами собой. Например, если недостаточно хорошо продумать условия сброса ватчдога, половина freertos'а виснет, в живых остаётся только "малозначимые" задачи, одна из которых продолжает дёргать ватчдог. При обновлении программы сторожевой таймер не нужен в принципе. Спасибо за ценные сведения. Но на практике проще сбрасывать единократно запущенный ватчдог постоянно, чем его включать-выключать. Это если выключение ватчдога вообще предусмотрено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Практика показывает, что безответственными девайсы получаются сами собой. Например, если недостаточно хорошо продумать условия сброса ватчдога, половина freertos'а виснет, в живых остаётся только "малозначимые" задачи, одна из которых продолжает дёргать ватчдог. Вот именно. Некоторые умельцы считают, что если они дергают сторожевой таймер везде, куда только фантазия ни заведет (например, в прерываниях), то их программа станет супернадежной. Таймером нужно пользоваться очень аккуратно, чтобы гарантировать, что основной цикл или планировщик задач выполняется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Но на практике проще сбрасывать единократно запущенный ватчдог постоянно, чем его включать-выключать. Это если выключение ватчдога вообще предусмотрено. Вот и включите его в основной программе, а не в загрузчике. Я бы делал так. Сейчас вообще отказался от него, закомментировал инициализацию. Потому что попробовал всунуть его сброс в idle задачу в RTX RTOS, но что-то не получилось, не помню... забил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 4 сентября, 2015 Опубликовано 4 сентября, 2015 · Жалоба Практика показывает, что безответственными девайсы получаются сами собой. Например, если недостаточно хорошо продумать условия сброса ватчдога, половина freertos'а виснет, в живых остаётся только "малозначимые" задачи, одна из которых продолжает дёргать ватчдог. Этот момент тоже обдумывал. На этот случай контролирую время выполнения всех задач. Если оно превышает заданное - вочдог в системной задаче перестает сбрасываться из-за обнаружения зависшей задачи. А контролируетс время выполнения задачи просто - в начале и конце цикла задачи обновляется время последнего выполнения задачи, а системная задача это видит. Вот именно. Некоторые умельцы считают, что если они дергают сторожевой таймер везде, куда только фантазия ни заведет (например, в прерываниях), то их программа станет супернадежной. Таймером нужно пользоваться очень аккуратно, чтобы гарантировать, что основной цикл или планировщик задач выполняется. Согласен. Дергать собаку в аппаратном таймере крайне ненадежно. С большей вероятностью зависнет программа, а таймер продолжит тикать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться