Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Коллеги, поделитесь кто как защищает данные во встроенной в МС EEPROM? Имеется в виду программная защита при потере питания.
Отправлено
Звероящер
20 ноября 2007 г. 13:42
BOD, супервизоры - это всё понятно.
А вот как организовать структуру данных?
Мне в голову кроме как сохранения нескольких копий и CRC к ним ничего не приходит...
Составить ответ
|
Вернуться на конференцию
Ответы
"BOD, супервизоры - это всё понятно..." Как раз единственный и неповторимый способ защиты... Остальное - от лукавого...
—
ETM
(20.11.2007 16:02:30
62.117.85.103
,
пустое
)
Блин..., все-же телепатия существует.
—
Chip'n'Go
(20.11.2007 15:20:16
195.98.82.25
, 133 байт)
Это не телепатия. Это работает универсальный закон единости информационного поля :-) Я такое регулярно на форуме встречаю и не только :)
—
Звероящер
(20.11.2007 15:23:7
217.117.89.75
,
пустое
)
Аппаратно всё нормально сделано. Спасибо. Всё понятно. Буду три копии толкать :-)
—
Звероящер
(20.11.2007 15:00:2
217.117.89.75
,
пустое
)
Гы-ы-ы...Три копии... Приодет ''добрый ЭX"- будешь делать три копии трех копий и т.д...
—
ETM
(20.11.2007 16:05:58
62.117.85.103
,
пустое
)
неее... Тогда выкину девайс накуй :-)
—
Звероящер
(20.11.2007 16:54:49
217.117.89.75
,
пустое
)
обычный struct, в конце - crc (а не простая сумма - crc8, еще лучше - crc16...{+}
—
ussrusa
(20.11.2007 14:52:47
91.124.229.30
, 461 байт)
Все уже придумано до нас. - Аналогично журналируемой файловой системе не подойдет.
—
++
(20.11.2007 14:23:26
212.45.31.226
,
пустое
,
ссылка
)
Я с Flash делаю так: сначала пишутся данные, потом происходит верификация их и только потом запись CRC, если верификация прошла успешно.
—
rezident
(20.11.2007 13:55:50
195.222.149.11
,
пустое
)
а если crc по каким либо причинам не прописалось?
—
ы
(20.11.2007 14:10:55
80.92.98.211
,
пустое
)
Значит вся запись не валидная. Записи обычно по кольцу делаются, если это журналирование.
—
rezident
(20.11.2007 14:12:53
195.222.149.11
,
пустое
)
я к тому, что зачем тогда делать 2 прохода?
—
ы
(20.11.2007 14:13:46
80.92.98.211
,
пустое
)
Какие два прохода? Сначала пишутся данные, потом CRC. Условие записи CRC - корректно записанные данные. При чтении, если CRC не совпадает (или равно FFFF), то запись считается не достоверной.
—
rezident
(20.11.2007 14:17:42
195.222.149.11
,
пустое
)
Чтобы исключить ситуацию когда CRC16 действительно равно 0xFFFF в записи имеется специально выделенный бит (биты), которые позволяют изменить значение 1->0 (для Flash это допустимо) так, чтобы скорректировать CRC16.
—
rezident
(20.11.2007 14:21:23
195.222.149.11
,
пустое
)
аа...логику понял - чтобы исключить совпадение crc?
—
ы
(20.11.2007 14:17:15
80.92.98.211
,
пустое
)
Делаю три копии, каждая защищена CRC. При включении питания из всех трех вы...{+}
—
vinogradov aleksei
(20.11.2007 13:53:38
92.112.17.29
, 256 байт)
А что значит "наиболее вероятная"?
—
Звероящер
(20.11.2007 14:39:0
217.117.89.75
,
пустое
)
2-х было бы достаточно, уверяю...
—
ы
(20.11.2007 13:54:22
80.92.98.211
,
пустое
)
Не думаю. принцип голосования еще никто не отменял :)
—
vinogradov aleksei
(20.11.2007 13:55:20
92.112.17.29
,
пустое
)
Ну и радости с этого голосования, если основная копия успела записаться, а резервные нет, то 2 убогих проголосуют против одного нормального
—
-=Shura=-
(20.11.2007 14:06:32
217.21.50.43
,
пустое
)
от чего спасет 3 копии? от порчи еепром как таковой? так она значит уже "посыпалась" и место ей на помойке
—
ы
(20.11.2007 13:56:40
80.92.98.211
, 105 байт)
Так и делаю - 2 копии и CRC
—
-=Shura=-
(20.11.2007 13:45:51
217.21.50.43
,
пустое
)
А логика какая, расскажи подробнее. Мне вернули устройство с неправильными данными и правильным CRC.
—
Vladimir Ljaschko
(20.11.2007 13:50:26
194.158.204.49
,
пустое
)
наверное crc было 8 битным?:)) у меня к примеру в радиоканале изза этого
—
ы
(20.11.2007 13:53:46
80.92.98.211
, 319 байт)
Простая 16-ти разрядная сумма. Все данные поломаны. Вероятность 1/65000, что почти равно нулю. Устройство измочалило данные и записало в EEPROM. Вопрос, какой логикой это исключить.
—
Vladimir Ljaschko
(20.11.2007 14:01:29
194.158.204.49
,
пустое
)
Вероятность оценена неправильно. Ошибка не является равномерно распределенн...{+}
—
mandigit
(21.11.2007 10:19:29
89.175.169.67
, 438 байт)
Дык, полином расчета CRC, в принципе, подбирается с условием верояности ошибки, простое суммирование, ессно может "проглотить" ошиюочное колебание бита в конкретном разряде.
—
Щ.C.
(20.11.2007 15:06:13
144.206.186.102
,
пустое
)
простая сумма не катит - нужен хотя бы crc8, а лучше - crc16, и писать 2-3 ...{+}
—
ussrusa
(20.11.2007 14:54:7
91.124.229.30
, 241 байт)
так уже САМО устройство данные похерило? ну тут уже вопрос не к сохранности:))
—
ы
(20.11.2007 14:09:41
80.92.98.211
,
пустое
)
А что, это Я данные похерил? :) Высший разум!
—
Vladimir Ljaschko
(20.11.2007 14:16:14
194.158.204.49
,
пустое
)
я имел ввиду что данные у Вас попортились не в e2, а уже записаны были неверными...
—
ы
(20.11.2007 14:19:15
80.92.98.211
,
пустое
)
Ну да. Так исходный пост о чем? О ситуации неправильной записи. Как восстановиться?
—
Vladimir Ljaschko
(20.11.2007 14:35:32
194.158.204.49
,
пустое
)
восстановиться просто - 2 последовательные копии и crc. Прежде чем записывать 2-у копию нужно удостовериться что первая записана верно
—
ы
(20.11.2007 14:51:1
80.92.98.211
, 496 байт)
ну и при включении питания сразу же, обязательно, переписываем неверную копию верной, если такое случилось вдруг...
—
ы
(20.11.2007 14:54:15
80.92.98.211
,
пустое
)
p.s. а итого такое: действительно, Ваша простая 16 разрядная сумма совсем не катит....ибо от перестановки слагаемых сумма не меняется.
—
ы
(20.11.2007 15:01:25
80.92.98.211
,
пустое
)
Согласен полностью.
—
Звероящер
(20.11.2007 15:01:23
217.117.89.75
,
пустое
)
ну если согласен, то зачем 3 копии? объясни?:))
—
ы
(20.11.2007 15:05:41
80.92.98.211
,
пустое
)
Не люблю чётные числа :-)
—
Звероящер
(20.11.2007 15:20:27
217.117.89.75
,
пустое
)
->
—
ы
(20.11.2007 15:08:7
80.92.98.211
,
пустое
,
ссылка
)
Плохо ты умеешь считать вероятность :-р
—
-=Shura=-
(20.11.2007 14:03:2
217.21.50.43
,
пустое
)
Думаешь, фифти-фифти? :)
—
Vladimir Ljaschko
(20.11.2007 14:05:54
194.158.204.49
,
пустое
)
Близко к тому ;-)
—
-=Shura=-
(20.11.2007 14:07:4
217.21.50.43
,
пустое
)
А длина команды вместе с CRC8 чему равнялась ?
—
vinogradov aleksei
(20.11.2007 13:54:36
92.112.17.29
,
пустое
)
тут сыграла не длина команды и все такое зависимое а то, что он целыми сутками, считай раз в сек(+)
—
ы
(20.11.2007 15:16:53
80.92.98.211
, 371 байт)
А от какого источника питается устройство?
—
Vladimir Ljaschko
(20.11.2007 13:45:26
194.158.204.49
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru