Страница 1 из 1

ATmega 128 ошибка контрольной суммы

Добавлено: Сб май 21, 2011 19:43:41
st0974
Имеется собственно проблемка, не могу зашить 128 мегу. Начинаю прошивать, выскакивает ошибка контрольной суммы.

Код: Выделить всё

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x1e9702
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "D:\Proshivki\mega128.HEX"
avrdude.exe: input file D:\Proshivki\mega128.HEX auto detected as Intel Hex
avrdude.exe: ERROR: checksum mismatch at line 4098 of "D:\Proshivki\mega128.HEX"
avrdude.exe: checksum=0xfe, computed checksum=0xe0
avrdude.exe: write to file 'D:\Proshivki\mega128.HEX' failed

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

Компилятор BascomAVR 1.11.9.2 Сохраняю HEX файл как положено, для ATmega 128. Шить отказывается. Сохраняю как для ATmega64, и все отлично прошивает, но из за неверного указания контроллера неверно работает переферия, т.е. отказываются работать порты G и A. Пробовал компилить в баскоме 1.11.9.0 тот же вариант. Прошивать пытался с 2-х программаторов.

P.S.
Режим совместимости со 103-ей отключен
Вотчдог отключен.
JTAG отключен.

В чем может быть проблема??

Re: ATmega 128 ошибка контрольной суммы

Добавлено: Сб май 21, 2011 21:44:20
ARV
возможно, в дудке есть баг... выскажу такое предположение: обычно Intel-HEX используется в "обычном" формате, т.е. с сегментами памяти не более 64К, а у меги128 памяти больше, и BASCOM генерирует HEX-файл в "расширенной" нотации, т.е. в нем присутствуют записи для сегментов с адресами больше 64К. видимо, avrdude не распознает эту запись и пытается считать для нее контрольную сумму, как для обычной записи... естественно, выходит ерунда...

можете показать ту строку (и по 2 строки до и после нее) вашего HEX-а, на которую ругается программатор? можно попробовать разобраться с адресацией...


в качестве лекарства могу посоветовать получить не HEX, а BIN-прошивку и скормить ее дудке... для такой конвертации в сети можно найти утилитку hex2bin.exe от Intel...

Re: ATmega 128 ошибка контрольной суммы

Добавлено: Вс май 22, 2011 07:11:49
st0974
Т.к. прошива не большая, то все ячейки той строки настроены по умолчанию.



Проблему решил, скормив BIN вместо HEX'а