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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
st0974
Родился
Сообщения: 15
Зарегистрирован: Сб фев 19, 2011 21:39:16

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

Сообщение 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 отключен.

В чем может быть проблема??
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18657
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

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

Сообщение ARV »

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

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


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

Мой уютный бложик... заходите!
Реклама
st0974
Родился
Сообщения: 15
Зарегистрирован: Сб фев 19, 2011 21:39:16

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

Сообщение st0974 »

Т.к. прошива не большая, то все ячейки той строки настроены по умолчанию.



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

Вернуться в «Микроконтроллеры и ПЛИС»