Добрый День! Прошу Вашей помощи. Год назад покупал несколько штук искра мини, все они оказались без бутлодера. Буквально вчера во время заливки бутлодера в последнюю"искру", подумал "А почему бы не прошить и рабочий код через ICSP?". Подумал и сделал. Вот только работать правильно он отказался. Проблема заключается в том, что используютя 2 кода: один записывает данные в eeprom ( put() ), второй считывает ( get() ). Так вот во время перезаписи программы через ICSP данные из eeprom куда-то исчезают и все данные по всем адресам принимают значения FFh....... Использовав ту же схему, но программируя через USB-to-Serial, таких проблем с перезаписью памяти не обнаружил. Так и должно быть, что пир программировании через ICSP (я использовал arduino в режиме ISP) eeprom стирается? Заранее спасибо!
Как то у Вас сложно всё...В ЕЕПРОМ ничего не пишется априоре. Можно взять НЕХ файл и залить его по ISP в НАНО УНО МИНИ ИТД с помощью вот этой проги.При этом сэкономите часть памяти.Но не забываем про фьюзы.
Это зависит от опций программатора, можно и стереть eeprom или оставить как есть или залить новые данные при программировании.
Если программа хранит настройки в еепром, то начальную конфигурацию можно прошить из отдельного файла.
Некоторые программаторы, например мой 866 по умолчанию стирает и флеш и EEPROM и фьюзы в дефолт, если не указать иное. Несколько раз так попадался, потом привык. ) А вообще правильная программа должна восстанавливать настройки в EEPROM по умолчанию, если их там вдруг нет. Например при первом запуске. Запускать ради этого отдельную программу ИМХО колхоз.
В еепром же можно хранить не только настройки. Таблица констант, ключ шифрования, серийный номер, да мало ли что еще может понадобиться записывать в память отдельно от основной прошивки.
У меня там метки РФИД хранятся например. Если EEPROM стереть, с ума она не сойдет и не зависнет, начнет работу с нуля, то есть будет просить новую метку, которая сразу станет мастером. Затем остальные, юзерские.