Были такие мысли, но пока особо нет времени
Добавление контроллеров в программу AVRDUDE_PROG.
Модераторы: KopylovSergey, dmibr
- admin
- Администратор
- Сообщения: 1103
- Зарегистрирован: 18 янв 2012, 01:25
- Откуда: Екатеринбург
- Контактная информация:
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Коллеги, задам тогда такие ламерские вопросы:
1. как из командной строки AVRDUDE считать все доступные области МК (который AVRDUDE знает и понимает), а именно - FLASH, EPROM, фьюзы, сигнатуры и т.д., и разложить это в заданные файлы но при условии (!) что в МК изменена signature (т.е. нужно использовать опцию -F). Пока у меня вялый результат:
program enable instruction not defined for part "ATxmega32D4"
avrdude.exe: AVR device not responding
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x987ba0
avrdude.exe: Expected signature for ATxmega32D4 is 1E 95 42
avrdude.exe done. Thank you.
т.е. оно понимает что была команда игнорировать несоответствие сигнатуры, но всё равно дальше не идёт.
Хорошо бы от знатоков правильный синтаксис команды (в т.ч. где нужно вставлять этот "-F")
2. нет ли опции качнуть полный образ МК одной командой в один файл, который потом из под AVERDUDE и прошить в чистый чип? (в т.ч. байты signature)
2.1. Умеет ли AVERDUDE перешивать байты signature?
2.2. Если нет - как это делается? :)
1. как из командной строки AVRDUDE считать все доступные области МК (который AVRDUDE знает и понимает), а именно - FLASH, EPROM, фьюзы, сигнатуры и т.д., и разложить это в заданные файлы но при условии (!) что в МК изменена signature (т.е. нужно использовать опцию -F). Пока у меня вялый результат:
program enable instruction not defined for part "ATxmega32D4"
avrdude.exe: AVR device not responding
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x987ba0
avrdude.exe: Expected signature for ATxmega32D4 is 1E 95 42
avrdude.exe done. Thank you.
т.е. оно понимает что была команда игнорировать несоответствие сигнатуры, но всё равно дальше не идёт.
Хорошо бы от знатоков правильный синтаксис команды (в т.ч. где нужно вставлять этот "-F")
2. нет ли опции качнуть полный образ МК одной командой в один файл, который потом из под AVERDUDE и прошить в чистый чип? (в т.ч. байты signature)
2.1. Умеет ли AVERDUDE перешивать байты signature?
2.2. Если нет - как это делается? :)
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Добрый день,скажите можно добавить ATMEGA328 U-TH? Дело всё в том что отличие от ATMEGA328P у них разные сигнатуры и поэтому программа не определяет его ни при каких условиях частотного режима. В AvrStudio и MicrochipStudio всё определяется,спасибо заранее
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Всё разобрался
Re: AVRDUDE_PROG
Здравствуйте!Можете добавить в программу мк ATmega644PA.У меня не выходит.Нужно срочно.Я как начинающий программист еще не очень.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Автору - большое спасибо за программу, недавно с ней познакомился.
Купил как-то случайно вместо Atmega328p Atmega328pb, и словил питание на выводы... Поиск в интернете привел с такому решению: в файле atmel.ini просто скопировал параметры 328P, поменял в шапке 328p на 328pb ([ATmega328PB] mcuavrdude=m328pb), скорректировал заодно fuse под ардуиновские, в файле avrdude.conf после part parent "m328 .... ocdrev = 1;" добавил: part parent "m328" id = "m328pb"; desc = "ATmega328PB"; signature = 0x1e 0x95 0x16; ocdrev = 1;
После этих танцев контроллер нормально запрограммировался и заработал. Программа была написана для 328P. Захотел использовать второй USART в Atmega328pb, программа уже под 328PB записалась, но, чтобы проверить нормальную работу второго USART, придется лепить проверочную плату. Вопрос: сталкивался ли кто-нибудь с такой же проблемой с ATmega328PB, правильно ли я все сделал?
Купил как-то случайно вместо Atmega328p Atmega328pb, и словил питание на выводы... Поиск в интернете привел с такому решению: в файле atmel.ini просто скопировал параметры 328P, поменял в шапке 328p на 328pb ([ATmega328PB] mcuavrdude=m328pb), скорректировал заодно fuse под ардуиновские, в файле avrdude.conf после part parent "m328 .... ocdrev = 1;" добавил: part parent "m328" id = "m328pb"; desc = "ATmega328PB"; signature = 0x1e 0x95 0x16; ocdrev = 1;
После этих танцев контроллер нормально запрограммировался и заработал. Программа была написана для 328P. Захотел использовать второй USART в Atmega328pb, программа уже под 328PB записалась, но, чтобы проверить нормальную работу второго USART, придется лепить проверочную плату. Вопрос: сталкивался ли кто-нибудь с такой же проблемой с ATmega328PB, правильно ли я все сделал?
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Здравствуйте Андрей59 Моя ситуация чем-то схожа с вашей. У меня есть плата с Atmega328pb, есть готовая программа, но в avrdude нет этого контроллера в списке. На англоязычном форуме я нашел как добавить в avrdude.conf строки точно как у вас, но это не помогло, т.к. оказалось, нужно еще скорректировать файл atmel.ini. Я проделывал тоже копирование параметров 328p и менял заголовки, но выходило сообщение об ошибке. И тут я нашел ваше сообщение. Вы пишете: скорректировал заодно fuse под ардуиновские. К сожалению я не знаю какие значения нужно поменять. С ардуино знаком поверхностно. Я хотел попросить вас о помощи, если вас не затруднит, написать скорректированные строчки fuse для файла atmel.ini Спасибо
Re: Добавление контроллеров в программу AVRDUDE_PROG.
А можно для всех выложить изменение в файлах для Atmega328PB?
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Ну, в общем спасибо. Хороший такой, росийский сайт.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Я закинул в файл atmel.ini это:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[ATmega328PB]
;Параметр типа мк в avrdude
mcuavrdude=m328pb
;Lock байт
lockbytebit7enabled=0
lockbytebit7name=NOT USED
lockbytebit7def=0
lockbytebit6enabled=0
lockbytebit6name=NOT USED
lockbytebit6def=0
lockbytebit5enabled=1
lockbytebit5name=BOOTLOCK12
lockbytebit5def=1
lockbytebit4enabled=1
lockbytebit4name=BOOTLOCK11
lockbytebit4def=1
lockbytebit3enabled=1
lockbytebit3name=BOOTLOCK02
lockbytebit3def=1
lockbytebit2enabled=1
lockbytebit2name=BOOTLOCK01
lockbytebit2def=1
lockbytebit1enabled=1
lockbytebit1name=LOCKBIT2
lockbytebit1def=1
lockbytebit0enabled=1
lockbytebit0name=LOCKBIT1
lockbytebit0def=1
;High байт
highbytebit7enabled=1
highbytebit7name=RSTDISBL
highbytebit7def=1
highbytebit6enabled=1
highbytebit6name=DWEN
highbytebit6def=1
highbytebit5enabled=0
highbytebit5name=SPIEN
highbytebit5def=0
highbytebit4enabled=1
highbytebit4name=WDTON
highbytebit4def=1
highbytebit3enabled=1
highbytebit3name=EESAVE
highbytebit3def=1
highbytebit2enabled=1
highbytebit2name=BOOTSZ1
highbytebit2def=1
highbytebit1enabled=1
highbytebit1name=BOOTSZ0
highbytebit1def=1
highbytebit0enabled=0
highbytebit0name=BOOTRST
highbytebit0def=0
;Low байт
lowbytebit7enabled=1
lowbytebit7name=CKDIV8
lowbytebit7def=1
lowbytebit6enabled=1
lowbytebit6name=CKOUT
lowbytebit6def=1
lowbytebit5enabled=1
lowbytebit5name=SUT1
lowbytebit5def=1
lowbytebit4enabled=1
lowbytebit4name=SUT0
lowbytebit4def=1
lowbytebit3enabled=1
lowbytebit3name=CKSEL3
lowbytebit3def=1
lowbytebit2enabled=1
lowbytebit2name=CKSEL2
lowbytebit2def=1
lowbytebit1enabled=1
lowbytebit1name=CKSEL1
lowbytebit1def=1
lowbytebit0enabled=1
lowbytebit0name=CKSEL0
lowbytebit0def=1
;Extended/Fuse байт
extendedbytebit7enabled=0
extendedbytebit7name=NOT USED
extendedbytebit7def=1
extendedbytebit6enabled=0
extendedbytebit6name=NOT USED
extendedbytebit6def=1
extendedbytebit5enabled=0
extendedbytebit5name=NOT USED
extendedbytebit5def=1
extendedbytebit4enabled=0
extendedbytebit4name=NOT USED
extendedbytebit4def=1
extendedbytebit3enabled=0
extendedbytebit3name=NOT USED
extendedbytebit3def=0
extendedbytebit2enabled=1
extendedbytebit2name=BODLEVEL2
extendedbytebit2def=1
extendedbytebit1enabled=1
extendedbytebit1name=BODLEVEL1
extendedbytebit1def=0
extendedbytebit0enabled=1
extendedbytebit0name=BODLEVEL0
extendedbytebit0def=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
затем в файле avrdude.config после
part parent "m328"
id = "m328p";
desc = "ATmega328P";
signature = 0x1e 0x95 0x0F;
ocdrev = 1;
;
вставил вот это:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
part parent "m328"
id = "m328pb";
desc = "ATmega328PB";
signature = 0x1e 0x95 0x16;
ocdrev = 1;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
после этого микроконтроллер 328 PB появился в списке и устанавливаются нужны фьюзы.
Извините, что не сразу ответил.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[ATmega328PB]
;Параметр типа мк в avrdude
mcuavrdude=m328pb
;Lock байт
lockbytebit7enabled=0
lockbytebit7name=NOT USED
lockbytebit7def=0
lockbytebit6enabled=0
lockbytebit6name=NOT USED
lockbytebit6def=0
lockbytebit5enabled=1
lockbytebit5name=BOOTLOCK12
lockbytebit5def=1
lockbytebit4enabled=1
lockbytebit4name=BOOTLOCK11
lockbytebit4def=1
lockbytebit3enabled=1
lockbytebit3name=BOOTLOCK02
lockbytebit3def=1
lockbytebit2enabled=1
lockbytebit2name=BOOTLOCK01
lockbytebit2def=1
lockbytebit1enabled=1
lockbytebit1name=LOCKBIT2
lockbytebit1def=1
lockbytebit0enabled=1
lockbytebit0name=LOCKBIT1
lockbytebit0def=1
;High байт
highbytebit7enabled=1
highbytebit7name=RSTDISBL
highbytebit7def=1
highbytebit6enabled=1
highbytebit6name=DWEN
highbytebit6def=1
highbytebit5enabled=0
highbytebit5name=SPIEN
highbytebit5def=0
highbytebit4enabled=1
highbytebit4name=WDTON
highbytebit4def=1
highbytebit3enabled=1
highbytebit3name=EESAVE
highbytebit3def=1
highbytebit2enabled=1
highbytebit2name=BOOTSZ1
highbytebit2def=1
highbytebit1enabled=1
highbytebit1name=BOOTSZ0
highbytebit1def=1
highbytebit0enabled=0
highbytebit0name=BOOTRST
highbytebit0def=0
;Low байт
lowbytebit7enabled=1
lowbytebit7name=CKDIV8
lowbytebit7def=1
lowbytebit6enabled=1
lowbytebit6name=CKOUT
lowbytebit6def=1
lowbytebit5enabled=1
lowbytebit5name=SUT1
lowbytebit5def=1
lowbytebit4enabled=1
lowbytebit4name=SUT0
lowbytebit4def=1
lowbytebit3enabled=1
lowbytebit3name=CKSEL3
lowbytebit3def=1
lowbytebit2enabled=1
lowbytebit2name=CKSEL2
lowbytebit2def=1
lowbytebit1enabled=1
lowbytebit1name=CKSEL1
lowbytebit1def=1
lowbytebit0enabled=1
lowbytebit0name=CKSEL0
lowbytebit0def=1
;Extended/Fuse байт
extendedbytebit7enabled=0
extendedbytebit7name=NOT USED
extendedbytebit7def=1
extendedbytebit6enabled=0
extendedbytebit6name=NOT USED
extendedbytebit6def=1
extendedbytebit5enabled=0
extendedbytebit5name=NOT USED
extendedbytebit5def=1
extendedbytebit4enabled=0
extendedbytebit4name=NOT USED
extendedbytebit4def=1
extendedbytebit3enabled=0
extendedbytebit3name=NOT USED
extendedbytebit3def=0
extendedbytebit2enabled=1
extendedbytebit2name=BODLEVEL2
extendedbytebit2def=1
extendedbytebit1enabled=1
extendedbytebit1name=BODLEVEL1
extendedbytebit1def=0
extendedbytebit0enabled=1
extendedbytebit0name=BODLEVEL0
extendedbytebit0def=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
затем в файле avrdude.config после
part parent "m328"
id = "m328p";
desc = "ATmega328P";
signature = 0x1e 0x95 0x0F;
ocdrev = 1;
;
вставил вот это:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
part parent "m328"
id = "m328pb";
desc = "ATmega328PB";
signature = 0x1e 0x95 0x16;
ocdrev = 1;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
после этого микроконтроллер 328 PB появился в списке и устанавливаются нужны фьюзы.
Извините, что не сразу ответил.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Спасибо! Работает.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Огромное спасибо Андрей59 за информацию по atmel.ini для 328pb. Все читается и программируется, аппарат заработал! Просто чудо какое-то.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Имейте ввиду, что фьюзы - от 328p, а не 328PB. Например, если включить в Fuse Extended Byte выключенный NOT USED (поставив предварительно 1 в extendedbytebit3enabled, я поэтому и заблокировал), то программатор подвиснет. Так что надо бы основательно покопаться в даташите. Мне для моих целей хватило и того, что есть, - второй USART исправно пашет, - но для более серьезных вещей, возможно, потребуется глубокая переработка.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Доброго дня,возможно ли прошить XMega16E5 при помощи USBasp или какие-то доработки нужны для коннекта и добавления в список МК?
- admin
- Администратор
- Сообщения: 1103
- Зарегистрирован: 18 янв 2012, 01:25
- Откуда: Екатеринбург
- Контактная информация:
Re: Добавление контроллеров в программу AVRDUDE_PROG.
С XMega работает только из командной строки.
Поддерживается ли контроллер можно узнать так https://youtu.be/a-tVLMtlj_E
Поддерживается ли контроллер можно узнать так https://youtu.be/a-tVLMtlj_E
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Добрый вечер!
Добавьте пожалуйста AT90PWM316 !
Не могу разобраться(
Спасибо!
Добавьте пожалуйста AT90PWM316 !
Не могу разобраться(
Спасибо!
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Всем привет!
Ребята помогите с Atmega8A - прога не видит её (как ближайший вариант стоит в настройках Atmega8).
Ребята помогите с Atmega8A - прога не видит её (как ближайший вариант стоит в настройках Atmega8).
Всё намного проще, чем есть на самом деле...
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Хотел прошить Atmega328PB, скопировал в файлы описание контролера как предлагал Андрей59. Контролер увидело, но начинаю прошивать прога зависает и все..
Подскажите что может быть?
Подскажите что может быть?
- admin
- Администратор
- Сообщения: 1103
- Зарегистрирован: 18 янв 2012, 01:25
- Откуда: Екатеринбург
- Контактная информация:
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Как вариант - длинный шлейф от программатора до платы с контроллером.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Всем здравствуйте!
Чтобы добавить контроллер ATmega328PB и, возможно, др. новые микроконтроллеры в программные оболочки консольной программы AVRDUDE проще и надёжней всего просто обновить пару файлов в программных оболочках AVRDUDE:
avrdude.conf и atmel.ini, в которых нет записей о ATmega328PB.
Для этого скачайте архив с последней версией (консольной!!!) AVRDUDE с сайта разработчика
и
из архива скопируйте (с заменой) в папку программной оболочки AVRDUDE файлы avrdude.conf и atmel.ini, в которых появились записи о ATmega328PB и, возможно, о др. новых контроллерах.
После этого в этих программных оболочках начнёт определяться микроконтроллер ATmega328PB и соответственно прошиваться без проблем (танцев с бубнами).
Чтобы добавить контроллер ATmega328PB и, возможно, др. новые микроконтроллеры в программные оболочки консольной программы AVRDUDE проще и надёжней всего просто обновить пару файлов в программных оболочках AVRDUDE:
avrdude.conf и atmel.ini, в которых нет записей о ATmega328PB.
Для этого скачайте архив с последней версией (консольной!!!) AVRDUDE с сайта разработчика
и
из архива скопируйте (с заменой) в папку программной оболочки AVRDUDE файлы avrdude.conf и atmel.ini, в которых появились записи о ATmega328PB и, возможно, о др. новых контроллерах.
После этого в этих программных оболочках начнёт определяться микроконтроллер ATmega328PB и соответственно прошиваться без проблем (танцев с бубнами).
Re: Добавление контроллеров в программу AVRDUDE_PROG.
P.S. Кстати в обновлённых файлах atmel.ini и avrdude.conf консольной AVRDUDE появилась информация и о ATmega8A (ранее не было)
-
- Сообщения: 1
- Зарегистрирован: 08 июл 2023, 19:43
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Здравствуйте. Добавьте пожалуйста поддержку Attiny48.
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Добрый день!
Подскажите, как найти эту консольную версию? На сайте разработчика есть ссылка на Аvrdude-prog и на Usbasp-avrdude-prog-mini.
Первая (основная) версия у меня скачана, там этого контроллера нет. Во второй версии, во-первых, нет файла atmel.ini, во-вторых, файл avrdude.conf вдвое меньше по размеру того, который идет в основной версии программы и датирован аж 2008 годом.
Не затруднит ли вас выложить сюда скачанные вами файлы atmel.ini и avrdude.conf ?
Re: Добавление контроллеров в программу AVRDUDE_PROG.
Премного был бы благодарен за добавление ATtiny20. Приобрел в VQFN. И теперь мучаюсь )) Очень мало информации по ней.