Arduino как ISP-программатор

tran
Offline
Зарегистрирован: 20.10.2012

Здравствуйте! Прошу помочь мне сделать из arduino UNO isp программатор. В качесве "реципиента" была использована atmega8L (DIP). Залил скетч ArduinoISP на свою arduino UNO. Собрал схему. (по даташиту atmega8L работает на 8МГц, я решил собрать схему без кварцевых резонаторов)Между reset на ардуине и землей повесил конденсатор 10мкф. Светодиоды весело перемигиваются как им и положено(зеленый в простое моргает, красный при ошибке, белый при передаче данных). Подцепил свою atmega8L согласно распиновке - reset - 10 пин, sck - 13, miso - 12, mosi - 11. Вроде как по инструкции надо залить сначала bootloader. Но перед этим нужно проверить подключение "реципиента" и "программатора" с помощью avrdude. Установил Winavr, открыл коммандную строку через пуск, и ввел это:
 

avrdude -v -patmega8 -cstk500v1 -PCOM15 -b19200

Написал: avrdude invalid device signature 0x000000 (т.е. он не видит atmega8). Порт выбран правильно!Попробывал заменить -patmega8 на -pm8 (это вроде тоже самое). Результат все тот же. Из-за этого я не могу продвинуться дальше - залить в atmega8 бутлоадер. В чем может быть проблема?

maksim
Offline
Зарегистрирован: 12.02.2012
tran
Offline
Зарегистрирован: 20.10.2012

попробывал - результат все тот же =(

tran
Offline
Зарегистрирован: 20.10.2012

Хм... теперь говорит:
 

C:\Users\Павел>avrdude -v -p m8 -c stk500v1 -P \\.\COM15 -b 115200

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\WinAVR\bin\av
rdude.conf"

         Using Port                    : \\.\COM15
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync(): not in sync: resp=0x00

Попытался этим кодом просто проверить узнает ли UNO мою atmega8L.

Вопрос: А что все таки ставить в графу программатор? stk500v1, stk500v2, stk500 или вообше arduino? Просто не хочется убить новый "камень".

tran
Offline
Зарегистрирован: 20.10.2012

Так... изменил бодрейт на 19200.( Когда стояли 9600 и 115200 вылезало not in sync):

C:\Users\Павел>avrdude -v -p m8 -c stk500v1 -P \\.\COM15 -b 19200

avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\WinAVR\bin\av
rdude.conf"

         Using Port                    : \\.\COM15
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATMEGA8
         Chip Erase delay              : 10000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
-- ---------
           eeprom         4    20   128    0 no        512    4      0  9000  90
00 0xff 0xff
           flash         33    10    64    0 yes      8192   64    128  4500  45
00 0xff 0x00
           lfuse          0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           lock           0     0     0    0 no          1    0      0  2000  20
00 0x00 0x00
           calibration    0     0     0    0 no          4    0      0     0
 0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0
 0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.06s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

 

tran
Offline
Зарегистрирован: 20.10.2012

Хм...Очень странное поведение avrdude - при попытке прошивки фьюзов atmega8 выдал это:
 


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

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
             Double check chip, or use -F to override this check.

Погуглил: 0x1e950f это код atmega328P(!) Но ведь она стоит у меня на arduino! Ничего не понимаю.

Rimidalw
Offline
Зарегистрирован: 04.04.2012

А знаете я тоже с подобной проблемой сталкивался. Ну не хотела шиться мега8 ни в какую. Шил по этой статье. Там есть bootloader, который от внутреннего 8Mgz кварца работает. У меня все время выскакивала ошибка invalid signatur. А решилось все просто - подставил кварц к меге8 на 16 мегагерц и вуаля все определилось и прошилось. 

tran
Offline
Зарегистрирован: 20.10.2012

Ах, пораньше бы ваш комметарий)) Проблема решена)) Тоже поставил кварц, правда безымянный, на фиг знает какую частоту))

Rimidalw
Offline
Зарегистрирован: 04.04.2012

tran пишет:

Ах, пораньше бы ваш комметарий)) Проблема решена)) Тоже поставил кварц, правда безымянный, на фиг знает какую частоту))

Причем самое интересное ведь никто даже об этом не писал, такое ощущение, что у людей без кварца все шилось)

maksim
Offline
Зарегистрирован: 12.02.2012

Дело в том, что Атмеги и Аттини имеют заводские установки фьюзов на внутренний RC 1МГц, поэтому покупая новый МК не возникает таких вопросов, а значит ваши МК уже где-то стояли или шились до вас.

И кстати, вот в этой статье есть такая схема.

Danila52
Offline
Зарегистрирован: 13.12.2012

А вот если я залью Arduino.ISP скетч, потом сделаю платку с этой микросхемой,с разъемами,можно без ПК ею заливать bootloader?

maksim
Offline
Зарегистрирован: 12.02.2012

Нельзя. Но такой скейтч можно написать, только вот зачем....

Danila52
Offline
Зарегистрирован: 13.12.2012

Сделал я минимальную ардуино на мега8,есть USB-TTL платка, объединить на одной плате с соответствующими разьемами.Можно будет прошивать и по RX-TX и по ISP.
Все меньше каждый раз собирать проводки для схемы ISP

radioPROfan
Offline
Зарегистрирован: 28.09.2014

Привет народ. А как Программатором из Arduino отфарматить флешку через ArduinoIDE ? Ну например скажем Tiny2313.

Coolerr
Offline
Зарегистрирован: 30.06.2014

нужно именно стереть? при прошивке нового хекса дудка автоматом стирает.

radioPROfan
Offline
Зарегистрирован: 28.09.2014

хм, тогда я не понимаю. Все подключаю как по схеме нарисовано. Нажимаю прошить и ошибка в конце. Не помню точно какая, но читал что расспространенная. что то с сигнатурой, не находить МК который я шью и так далее.

Radjah
Offline
Зарегистрирован: 06.08.2014

Прошей скетч ArduinoISP, выстави в настройках порт ардуины-прошивальщике и тип ардуины прошиваемой, соедини по схеме из скетча и залей Blink. Будет как новая. :)

Я уно через нано прошивал, только питание дополнительно подавать пришлось. И шилось медленнее, чем через USB.

radioPROfan
Offline
Зарегистрирован: 28.09.2014

Ну вот скетч ArduinoISP заливаю, подключаю по схеме (пины на 2313 согласно даташиту) выбираю прошивальщик Arduino as ISP, далее порт..на COM4 у меня висит, выбираю его соответственно. 

Coolerr
Offline
Зарегистрирован: 30.06.2014

Тинька б/У? Если в ней 100% уверенность в исправности попробуй на 4 и 5 ногу кварц повесить, не поможет меняй тиньку. Я тоже недавно мучался новая тинька оказалась мертвой. 

inspiritus
Offline
Зарегистрирован: 17.12.2012

А зачем Вам в тиньке бутлоадер ? Только память занимает. Прошейте без него блинк и Вы удивитесь ;) только после прошивки надо отдельно прошить фьюзы на работу от внутреннего генератора, или вешать внешний кварц и два кондёра. И зачем Вам тинька, по деньгам основная стоимость это DIP-кузов, мега 328 стоит практически столько же, а позволяет много больше.

а самый удобный вариант это ардупромикро на ибээ: стоит 100 рэ, на борту кварц и led на 13 пине.

Coolerr
Offline
Зарегистрирован: 30.06.2014

После бута места только под блинк и останется. http://radiokot.ru/circuit/digital/pcmod/48/ статья

radioPROfan
Offline
Зарегистрирован: 28.09.2014

Тинка рабочая. USPIsp ее шьет норм.

ALEXHEX
Offline
Зарегистрирован: 12.12.2013

Подскажите, если я приобрету ISP программатор, можно будет прошивать мк atmel в среде arduino 1.5.7?
Нужна именно возможность заливки в чистый МК ардуиновского загрузчика, для того чтобы в среде 1,5,7 управляющую программу писать.

inspiritus
Offline
Зарегистрирован: 17.12.2012

То, что тут понимается под ISP программатором это программатор из дуины, с помощью программы из IDE. 

С его помощью можно прошивать пустой мк. Загружать в него бут для этого не нужно.

ALEXHEX
Offline
Зарегистрирован: 12.12.2013

inspiritus, а ссылку можно?

 

Coolerr
Offline
Зарегистрирован: 30.06.2014

Я выше давал ссылку как прошивать. Там я использовал Avrdude с гуишным интерфейсом, но IDE использует ту же дудку. В меню файл "загрузить с помощью программатора" в качестве целевой платы выбирается нужный AVR контроллер, ядро для доп.контроллеров в гугле. В меню сервис программатор Arduino as ISP.

Radjah
Offline
Зарегистрирован: 06.08.2014
HWman
HWman аватар
Offline
Зарегистрирован: 26.02.2013
Vovan_G5
Offline
Зарегистрирован: 29.03.2015

Помогите новичку. Нужно прошить Hex в Tinny44. Сделал Arduino ISP на китайском клоне Nano на 328 чипе. Через ардуино шьется, светодиодом тинька моргает, но мне то надо готовый Hex прошить. Пробую шить через SinaProg 2.1, но не получается. Фиг с ним, что надо ресет на плате жать, но самое противное, что выдается ошибка 

avrdude -C avrdude.conf -c avrisp -P com9 -b 57600 -p t44 -q
 
 
 
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATtiny44 is 1E 92 07
         Double check chip, or use -F to override this check.
 
avrdude done.  Thank you.
Я пробовал надурить, поменял сигнатуру у 328 чипа на 9207, но там другие ошибки посыпались, ну и если -F делать - то же не шьет
Вот отчетец из Flowcode
 
File name:     C:\SinaProg_2_1_1\SinaProg 2.1.1\44.c
Title:         
Description:   
Generated by:  Flowcode v5.3.0.0
Date:          Sunday, March 29, 2015 21:19:22
Licence:       Professional
Registered to: 2QFE4M
Licence key:   HDR5WF
Компиляция обновлена
Линк обновлен
Запуск программатора...
C:\avrdude\avrdude.exe t44 avrdude "44.hex" -c stk500v1 -p  t44 -P com9 -b 57600 -Uflash:w:"44.hex":i -C C:\avrdude\avrdude.conf -F
 
avrdude.exe: please define PAGEL and BS2 signals in the configuration file for part ATtiny44
avrdude.exe: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude.exe: Device signature = 0x1e950f
avrdude.exe: Expected signature for ATtiny44 is 1E 92 07
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: please define PAGEL and BS2 signals in the configuration file for part ATtiny44
avrdude.exe: reading input file "44.hex"
avrdude.exe: writing flash (560 bytes):
 
Writing | ################################################## | 100% 0.22s
 
avrdude.exe: 560 bytes of flash written
avrdude.exe: verifying flash memory against 44.hex:
avrdude.exe: load data flash data from input file 44.hex:
avrdude.exe: input file 44.hex contains 560 bytes
avrdude.exe: reading on-chip flash data:
 
Reading | ################################################## | 100% 0.14s
 
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0x10 != 0xff
avrdude.exe: verification error; content mismatch
 
avrdude.exe: safemode: Fuses OK
 
avrdude.exe done.  Thank you.
 
Код возврата = 1
Flowcode не смог передать блок-схему микроконтроллеру. Проверьте опции программатора и физические подключения.
 
 
ЗАВЕРШЕНО
 
Я могу воспользоваться и другими програматорами - просто уже вопрос принципиальный, помогите пожалуйста
 

 

Radjah
Offline
Зарегистрирован: 06.08.2014

Ну дудка тебе говорит, что сигнатура чипа совсем другая, а ты всё равно пытаешься шить. Посомтри лучше какому чипу соответствует сигнатура, которую тебе дудка кажет в самом начале.

Vovan_G5
Offline
Зарегистрирован: 29.03.2015

да я в курсе, что сигнатура 0x1e950f от 328р, собственно дудка видит чип моего ардуино нано.

Почему ардуино 1.5 достукивается до тиньки 44, а тот же синапрог не достукивается?

Coolerr
Offline
Зарегистрирован: 30.06.2014

У меня сторонние чипы ардуиной шьются на скорости 19200. При любой другой не работает.

Vovan_G5
Offline
Зарегистрирован: 29.03.2015

у меня только на 57600 все откликается, но дело то в разных сигнатурах.

Завтра кварц попробую подкинуть, тиньки мои б\у, лоченые 100% были, я их через ардуину HV обнулял, в процессе обнуления через терминал они отвечали нормально и сигнатуру свою 9207 показывали.

Vovan_G5
Offline
Зарегистрирован: 29.03.2015

У меня так и не получилось скрестить Синапрог и ардуино Isp. Кварц в моем случае не при чем.  В итоге позаливал все через пони и 5 проводков, тиньки уже работают в железе.

Тут какой то секрет и никто не колется. Интерес остался, почему все таки ISP из под ардуиновской оболочки шьет, а из под Синапрог не шьет? Дудкины файлы я в Синапрог кидал - результата нет, видит сигнатуру 328р, а тинькину не видит. кварцы int 8MHz если это важно.

И обнаружил что скетчи arduino ISP в разных версиях - разные. Дома стоит 1.6 - шьется, а на работу принес, там 1.0 какая то - и не шьется, пока от нее не прошил скетч arduino ISP.

Coolerr
Offline
Зарегистрирован: 30.06.2014

Синапрог я так понял, оболочка для дудки такая? Пользуюсь оболочкой Burn-o-mat без проблем шьет всё. Попробуй.

Vovan_G5
Offline
Зарегистрирован: 29.03.2015

С Burn-o-mat действительно все получилось без проблем, спасибо.

Только как то надо тиньку 44 в него добавить, но если с параметром -F нормально шьется и как 45.

murash20
Offline
Зарегистрирован: 21.03.2016

Приветствую всех. Решил впервые прошить контроллер, и использовать для этого ардуино UNO и SinaProg. ATtiny13 контроллер (а). но что ардуино выдает такую ​​ошибку, при попытки записи загрузчика ------

java.io.IOException: Не удается запустить программу "{путь} / bin / AVRDUDE": CreateProcess ошибка = 2, Не удается найти указанный файл
на java.lang.ProcessBuilder.start (ProcessBuilder.java:1048)
на processing.app.helpers.ProcessUtils.exec (ProcessUtils.java:26)
на cc.arduino.packages.Uploader.executeUploadCommand (Uploader.java:115)
на cc.arduino.packages.uploaders.SerialUploader.burnBootloader (SerialUploader.java:328)
на processing.app.Editor $ 48.run (Editor.java:2610)
на java.awt.event.InvocationEvent.dispatch (InvocationEvent.java:311)
на java.awt.EventQueue.dispatchEventImpl (EventQueue.java:749)
в java.awt.EventQueue.access $ 500 (EventQueue.java:97)
на java.awt.EventQueue $ 3.run (EventQueue.java:702)
на java.awt.EventQueue $ 3.run (EventQueue.java:696)
на java.security.AccessController.doPrivileged (Родной метод)
на java.security.ProtectionDomain $ 1.doIntersectionPrivilege (ProtectionDomain.java:75)
на java.awt.EventQueue.dispatchEvent (EventQueue.java:719)
на java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:201)
на java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116)
на java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:105)
на java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:101)
на java.awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:93)
на java.awt.EventDispatchThread.run (EventDispatchThread.java:82)
Вызванный: java.io.IOException: ошибка CreateProcess = 2, Не удается найти указанный файл
на java.lang.ProcessImpl.create (Родной метод)
на java.lang.ProcessImpl. <Init> (ProcessImpl.java:386)
на java.lang.ProcessImpl.start (ProcessImpl.java:137)
на java.lang.ProcessBuilder.start (ProcessBuilder.java:1029)
... Больше 18
Ошибка при записи загрузчика.
 
 
и SinaProg --------- пишет
 
AVRDUDE -С avrdude.conf -с AVRISP -P com5 -b 19200 -p t13 -q
 
 
 
AVRDUDE: пожалуйста, определить Пейджел и BS2 сигналы в файле конфигурации для части ATtiny13
AVRDUDE: AVR устройство инициализирован и готов принять инструкции
AVRDUDE: подпись Device = 0x000000
AVRDUDE: Хлоп! Invalid устройство подписи.
         Двойное подключение проверьте и попробуйте еще раз, или использовать -F, чтобы переопределить
         эта проверка.
 
 
AVRDUDE сделано. Спасибо.
,
 
Помогите советом. просто неприятный момент на началах изучения контроллеров. буду очень признателен.

также пробовал заказанным программатором с КИТа - BM9010. Но его нет в списке SinaProg, а с другими из списка выходят ошибки о отсутствии выбранного порта.