Czy możesz używać Arduino jako programisty AVR?
Czy możesz używać Arduino jako programisty AVR?
Odpowiedzi:
Korzystam z wyżej wspomnianego rozwiązania mega-isp - tutaj jest szkic Arduino avrisp
http://code.google.com/p/mega-isp/downloads/list
Nie używam ekranu, który mają - stworzyłem prosty kabel, używając dwóch 6-pinowych podwójnych gniazd wtykowych, aby pasowały do złącza ISP programowania w twoim Arduino. (Nie miałem dwóch gniazd dylatacyjnych, więc użyłem standardowego pojedynczego gniazda i skleiłem dwa 3-stykowe gniazda razem.
Następnie potrzebujesz kawałka kabla taśmowego lub drutu.
Podłącz każdy styk do jednego gniazda odpowiadający mu drugi, z wyjątkiem styku 5 = Reset. Podłącz jeden koniec kabla do styku 5 - jest to koniec, który połączy się z docelowym AVR, który chcesz zaprogramować. Podłącz drugi koniec przewodu styku 5 do pływającego złącza styku.
Aby użyć podłącz kabel do arduino, umieszczając nad złączem programującym ISP i podłączając przewód pływający do cyfry 10, podłącz drugi koniec do docelowego złącza ISP. Musisz upewnić się, że pin 1 pasuje.
Program z użyciem avrdude
avrdude -P com7 -p t2313 -c avrisp -b 19200 -U flash: w: fred.hex
where
com7 - the com port that the Arduino based programmer is on
t2313 - the type of AVR you wish to program (m328 for ATMega328).
fred.hex - the name of the hex file you wish to progam into the target.
Użyłem tego do programowania Tiny2313 bez żadnych problemów.
Uwaga: Kabel będzie przewodził napięcie 5 V do zasilania celu - jeśli cel jest już zasilany, nie podłączaj styku 2 kabla.
To rozwiązanie również działa świetnie: metoda Kimio Kosaka avrdude-serjtag
Jeśli zmontowałeś własne komputery, możesz mieć zapasowe zamontowane w obudowie kable / złącza USB, które często są dostarczane z nowymi moherboardami. Po prostu odłącz końcówkę USB i możesz użyć złącza płyty głównej jako złącza ISP.
Można użyć takiego pliku wsadowego: (dotyczy 328 układów, ustawi bezpieczniki dla szybkiego transferu, a następnie załaduje bootloader i ustawi bity blokujące po zakończeniu.
avrdude -c diecimila -P ft0 -p m328p -B 4800 -U lock:w:0x3F:m -U efuse:w:0x05:m
-U hfuse:w:0xDA:m -U lfuse:w:0xFF:m
avrdude -c diecimila -P ft0 -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex -U
efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m -U lock:w:0x0F:m
Tak, możesz używać Arduino jako programisty AVR!
Spójrz na projekt mega-isp .
Jeśli potrzebujesz programowania wysokiego napięcia (masz inaczej martwy układ), możesz wypróbować to rozwiązanie http://www.mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/
Odpowiedzi z 2009 roku są nieco nieaktualne teraz, gdy standardowy Arduino IDE obejmuje ArduinoISP, który był oparty na Mega-ISP, ale teraz jest oficjalnie obsługiwany przez Arduino.cc.