Можете подробней написать, что и где исправили, возможно ещё кому то пригодиться.Mutter писал(а):Atmega 88pa-pu, вопрос решен подменой контрольной суммы в настройках Atmega88
![Улыбка :-):](./images/smilies/ab.gif)
Модераторы: KopylovSergey, dmibr
Можете подробней написать, что и где исправили, возможно ещё кому то пригодиться.Mutter писал(а):Atmega 88pa-pu, вопрос решен подменой контрольной суммы в настройках Atmega88
Немного не корректное решение. Для работы с программой после добавления контроллеров Atmega*PA в atmel.ini ( http://yourdevice.net/forum/download/file.php?id=41" target="_blank ) нужно ещё дополнить файл avrdude.conf инструкциями для этих контроллеров. Из выложеного архива открываем содержимое с помощью WordPad и вставляем в avrdude.confMutter писал(а):Atmega 88pa-pu, вопрос решен подменой контрольной суммы в настройках Atmega88
Здесь нужно уточнить какие были установлены фъюзы, как подключался чип к адаптеру. Возможно установили фъюзы на внешнее тактирование, а используемый адаптер не имеет выхода импульсов тактирования для подачи на контроллер. Теперь программа просто не видит чип и неправильно определяет сигнатуру.frolikum писал(а):Проверил с версией 3,3 результат тот же!
Первый раз прошивается а потом изменённая сигнатура.
Как заливка флеша может изменить сигнатуру МК?
Может в хексе что не то?
Код: Выделить всё
>Cформированная командная строка:
>avrdude.exe -p m48p -c usbasp -P usb -U flash:r:"C:\a_macro\macmotor\macmotor.hex":i
>avrdude.exe: error: programm enable: target doesn't answer. 1
>avrdude.exe: initialization failed, rc=-1
> Double check connections and try again, or use -F to override
> this check.
>avrdude.exe done. Thank you.
А связка USBASP+AVRDUDE+WinXP+ATMega128 вообще может работать на скорости больше 32000 при повторном программировании чипа не вытаскивая при это разъём USB и шлейфик к программируемой плате?admin писал(а):На реальной микросхеме не проверял. Посмотрел в конфиг файлах, там прописан данный мк.
Попробуйте понизить скорость программирования, перемычкой либо тут
Ps.
Основная проблема при программировании нового МК - скорость программирования (частота sck).
По умолчанию, контроллер производителем настроен на работу от внутреннего генератора (источника тактового сигнала МК) на частоту 1МГц, а программатор usbasp на частоту 1.5Мгц.
Скорость программирования контроллера (частота sck программатора) должна быть в 4 раза меньше источника тактового сигнала микроконтроллера. Следовательно частота необходимая для прошивки контроллера должна быть меньше 1000000/4=250kHz. Как же установить эту частоту?
В последних версиях прошивки usbasp частоту sck программатора можно изменять при помощи ключа "-B". В предыдущих - установкой перемычки понижения скорости программирования.
Если при программировании avrdude выдаёт предупреждение - " avrdude: warning: cannot set sck period. please check for usbasp firmware update ", то у Вас не последняя версия прошивки программатора.
Возможные значения ключа -В
* 0.5 - 1.0 -> 1.5 MHz
* 1.0 - 2.0 -> 750 kHz
* 2.0 - 4.0 -> 375 kHz
* 4.0 - 8.0 -> 187.5 kHz
* 8.0 - 20.96 -> 93.75 kHz
* 20.96 - 46.88 -> 32 kHz
* 46.88 - 93.75 -> 16 kHz
* 93.75 - 187.5 -> 8 kHz
* 187.5 - 375.0 -> 4 kHz
* 375.0 - 750.0 -> 2 kHz
* 750.0 - 1500.0 -> 1 Khz
* more than 1500.0 -> 500 Hz
В чём проблема то у Вас?arand590 писал(а):.
Какая именно там по умолчанию я пока не замерял, но это не проблема, если это поможет...
Объясните новичку, где это прописывать, что-то не могу понять...admin писал(а):На реальной микросхеме не проверял. Посмотрел в конфиг файлах, там прописан данный мк.
Попробуйте понизить скорость программирования, перемычкой либо тут
Ps.
Основная проблема при программировании нового МК - скорость программирования (частота sck).
По умолчанию, контроллер производителем настроен на работу от внутреннего генератора (источника тактового сигнала МК) на частоту 1МГц, а программатор usbasp на частоту 1.5Мгц.
Скорость программирования контроллера (частота sck программатора) должна быть в 4 раза меньше источника тактового сигнала микроконтроллера. Следовательно частота необходимая для прошивки контроллера должна быть меньше 1000000/4=250kHz. Как же установить эту частоту?
В последних версиях прошивки usbasp частоту sck программатора можно изменять при помощи ключа "-B". В предыдущих - установкой перемычки понижения скорости программирования.
Если при программировании avrdude выдаёт предупреждение - " avrdude: warning: cannot set sck period. please check for usbasp firmware update ", то у Вас не последняя версия прошивки программатора.
Возможные значения ключа -В
* 0.5 - 1.0 -> 1.5 MHz
* 1.0 - 2.0 -> 750 kHz
* 2.0 - 4.0 -> 375 kHz
* 4.0 - 8.0 -> 187.5 kHz
* 8.0 - 20.96 -> 93.75 kHz
* 20.96 - 46.88 -> 32 kHz
* 46.88 - 93.75 -> 16 kHz
* 93.75 - 187.5 -> 8 kHz
* 187.5 - 375.0 -> 4 kHz
* 375.0 - 750.0 -> 2 kHz
* 750.0 - 1500.0 -> 1 Khz
* more than 1500.0 -> 500 Hz
Код: Выделить всё
#------------------------------------------------------------
# ATmega328
#------------------------------------------------------------
part
id = "m328";
desc = "ATmega328";
has_debugwire = yes;
flash_instr = 0xB6, 0x01, 0x11;
eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
0x99, 0xF9, 0xBB, 0xAF;
stk500_devcode = 0x86;
# avr910_devcode = 0x;
signature = 0x1e 0x95 0x14;
Код: Выделить всё
[ATmega328P]
;Параметр типа мк в avrdude
mcuavrdude=m328p
;Lock байт
lockbytebit7enabled=0
lockbytebit7name=NOT USED
lockbytebit7def=0
lockbytebit6enabled=0
lockbytebit6name=NOT USED
Код: Выделить всё
[ATmega328]
;Параметр типа мк в avrdude
mcuavrdude=m328
;Lock байт
lockbytebit7enabled=0
lockbytebit7name=NOT USED
lockbytebit7def=0
lockbytebit6enabled=0
lockbytebit6name=NOT USED
avrdude.exe -p m328 -c arduino -P COM21 -U flash:r:"C:\avrdudeprog33\MyCPU\MyTimer_test.hex":i
Это надо даташит смотреть. В файле atmel.ini об этом так и сказано :)Sanseyis писал(а):Как фъюзы правильно сделать не знаю.
;В том случае, если МК нет в списке или при выборе МК во вкладке Fuses везде "error", то Вам необходимо самостоятельно ввести значения в файл "atmel.ini" в соответствии с datasheet и приведённым ниже примером. Файлы "ini" находится в корневой папке программы.