Ситуация такая:Имеется устройство, на базе SAM7S64. Оно работает с дискретными входами и выходами. Плюс общение по протоколу ModBus на RS-485. У устройства есть 16-ти битные и дискретные регистры (массивы просто) в которых хранятся настройки этого устройства (адрес, скорость и тпх). Так как никакой внешней флэшки не сделали, пришлось использовать для хранения внутреннию флэш. Для работы с которой я взял функцию, описанную в этой ветке
http://electronix.ru/forum/index.php?showt...Sxx+flash+write . Получилось следующее: приходит команда по ModBus (05h или 10h) я делаю изменения в массивах-регистрах. отвечаю мастеру и ухожу на запись этих настроек во внутреннею флэш. Количество записей понимаю что ограничено, заказчик тоже это знает и его это вполне устраивает. Для него главное конечный размер устройства - как можно меньше чтобы был. После любой записи во флэш, я перегружаю контроллер, чтобы инициализировать новые настройки. И при включении (перезагрузки) читаю эти настройки из флэш, используя ту же функцию.Привезли устройства заказчику. Он объеденил это в сеть и стал тестировать. Получилось следующее: допустим он сконфигурировал (командами 10h и 05h) устройство с адресом 9 и перешел на следующее. После записей он проверял. верные ли настройки записаны - во всех случаях оказалось что верные. Тогда он переходил на следующее. Когда все устройства были сконфигурированы. он попытался еще раз прочитать настройки у каждого. и оказалось что одного все эти данные были сброшены в FFh ... такое ощущение, что при записи страница была стерта, а массив записан не был. Вобщем из 50 устройств 3 штуки выдали вот такую вот фигню. В разное время. Самое главное, что при не понятных обстоятелствах настройки сбрасывались. Я сегодня приехал к ним и мы пытались вызвать такую ситуацию еще раз, но нас ничего не вышло .... Работают как часы.На что грешить? куда смотреть? Меня тут уже пугали и плохой партией контроллеров (якобы контроллер памяти глючный), и корявыми руками программиста (увы, признаю, что они не слишком прямые), и даже солнечным затмением (вся эта фигня произошла именно в понедельник. когда утром было замение) .... Я брал устройства себе домой, делал все также. как и они там, и ни разу не выпадало такого, чтобы вместо нужных байтов, он мне записал FFh. Что ж это такое? Программа? Или аппаратная проблема?