#1 2016-01-22 00:02:30

sstepane
Учасник
Зареєстрований: 2015-12-22
Повідомлень: 20

Ошибка записи программы в arduino pro mini

Добрый вечер,

Столкнулся с такой проблемой - неправильно записывается программа в arduino pro mini размером чуть больше 12000 байт.
Ошибка следующая :

avrdude: 12936 bytes of flash written
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x1c0a
         0x0a != 0x6b
Error during upload using programmer


Не могу понять в чем проблема - ошибка именно по рамеру программы - комментировал разные блоки кода - все блоки рабочие и проверенные, но вот по размеру - какое-то что-то. Может это широко известно, а я не в курсе...
Раньше такого не встречал, но вот программа выросла в размерах и отакоеот.
Программатор USBasp.

Неактивний

#2 2016-01-22 12:27:51

Йожэг
Учасник
Зареєстрований: 2015-12-30
Повідомлень: 97

Re: Ошибка записи программы в arduino pro mini

Видно из сообщения, что байт по адресу 7178 записывается неправильно. Значит программа меньшего размера будет записываться без проблем (учитывая, что полкилобайта занимает бутлоадер).
У Arduino были глюки с блоками 0xFF, но это наверное не тот случай.

Может кто ещё знает, что делать (кроме замены чипа), но можно попробовать как-то разместить в прошивке массив фиксированных значений по ожидаемым адресам, которые залипли во Flash:
const uint8_t u8g_hackflashbug[] U8G_PROGMEM = { 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b }
Сделать массив побольше, объявить в программе подальше - а вдруг накроет совпадающими с багом данными и проверка пройдёт успешно.
Только надо ещё что-то сделать, чтобы оптимизатор не вырезал напрочь неиспользуемый блок данных, например вычитать где-то пару байт из него.

Неактивний

#3 2016-01-22 12:32:39

sstepane
Учасник
Зареєстрований: 2015-12-22
Повідомлень: 20

Re: Ошибка записи программы в arduino pro mini

Если программа еще большего размера - то ошибка другая. Да и если программа на десяток байт меньше - записывается и читается нормально.
Тоесть флэш в чипе с какого-то адреса "тю-тю"? Внезапно... До 10000 циклов перезаписи еще далековато.

Неактивний

#4 2016-01-22 16:32:32

Йожэг
Учасник
Зареєстрований: 2015-12-30
Повідомлень: 97

Re: Ошибка записи программы в arduino pro mini

Кроме дефекта флэшки есть ещё программные баги. Судя по найденному в Google, например, длинные последовательности 0xFF могут быть неправильно приняты за пустую область флэш-памяти или даже символы "!!!" в какой-то строке могут всё испортить.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму