#112 closed задача (готово)
Проблема с повреждением содержимого flash на платах GE,PE,E1
Reported by: | san | Owned by: | san |
---|---|---|---|
Priority: | major | Component: | bootloaders |
Keywords: | Cc: |
Description
Предположительно содержимое flash повреждает bootloader (в основной программе нет функций стирания/записи в память).
Повреждение обычно выглядит как "не туда" записанная страница памяти.
Причину такого поведения определить пока не удалось. Возможно связано с питанием, т.к. по свидетельствам повреждения происходят чаще всего при подаче питания на блок.
Происходят такие события достаточно редко, специально повторить не удавалось, но есть подозрение, что на некоторых платах проявляется чаще чем на других.
От Вадима поступило предложение, в качестве временного решения, после запуска бутлодера устанавливать программно защиту флэш, а перед обновлением ПО снимать её специальной командой. Или вовсе, для гарантии защиты флэш - доработать платы - установить на плату джампер на специальные выводы флэш, при необходимости обновления ПО платы, джампер будет сниматься пользователем.
Change History (4)
comment:1 by , 7 years ago
milestone: | Текущие работы → 2 очередь |
---|
comment:2 by , 5 years ago
Похоже удалось, если не решить проблему, то значительно уменьшить случаи её проявления.
В бутлодере при старте происходила проверка контрольной суммы флэш контролера и области флэш для загрузки ПЛИС, проверялась контрольная сумма один раз, и в случае плохого питания - проверка могла дать ложный отрицательный результат, после этого производилось копирование данных из резервной области флэш, и именно в этот момент и происходило повреждение данных: при копировании с нестабильным питанием.
В новой версии бутлодера, если кс не совпадает, то я проверяю её до 5 раз с интервалом 200 мс.
За это время питание точно должно прийти в норму.
Новый бутлодер уже применён для VF-08, проявления бага не обнаружено.
В испытаниях на GE-12 на новом бутлодере тоже баг не проявляется.
comment:3 by , 5 years ago
Resolution: | → готово |
---|---|
Status: | new → closed |
Milestone renamed