Korzystam z Arduino UNO, aby zaprogramować wstępnie skompilowany obraz heksadecymalny na ATTINY45, używając avrdude w katalogu Arduino IDE w Windows 7. Uno ma szkic ISP załadowany z katalogu przykładów i działa - dioda LED pulsu ładnie pulsuje.
Po stronie sprzętowej mam tę konfigurację , z tym wyjątkiem, że ATTINY jest montowany powierzchniowo, przylutowany do deski surfingowej, a wszystkie jego styki są lutowane za pomocą woltomierza. Używam paska szpilki z nagłówkiem, trzymanego ręcznie, aby szpilki dotykały deski surfingowej, aby przekazywać sygnały z Uno do ATTINY.
Oto wiersze poleceń, które wziąłem, patrząc na wyniki debugowania IDE:
REM set the fuse for 8MHz, so the ISP programmer can work
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m
REM load the program
C:\Progra~1\Arduino\hardware\tools\avr\bin\avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -Uflash:w:firefly.hex:i
REM set fuse for 1MHz, as the project requires
C:\Progra~1\Arduino\hardware/tools/avr/bin/avrdude -CC:\Progra~1\Arduino\hardware/tools/avr/etc/avrdude.conf -v -pattiny45 -cstk500v1 -P\\.\COM7 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0x62:m
- Próbuję uruchomić je osobno, ale zawsze pojawia się ten błąd:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
ale czasami jest to ff0000 lub ffff00 lub ffffff
Przeczytałem, że „Arduino używa nieco zmodyfikowanej wersji avrdude do przesyłania szkiców na tablicę Arduino. Standardowa wersja pyta o podpis urządzenia tablicy w sposób niezrozumiały dla bootloadera, co powoduje ten błąd”. Czy to oznacza, że użycie Arduino avrdude z nowym układem ATTINY, bez bootloadera, również spowodowałoby ten sam błąd? Innymi słowy, czy zmodyfikowany avdrude nie jest w stanie przesłać zapytania do AVR bez Arduino?
Czy ten błąd oznacza po prostu, że nie mam dobrego kontaktu między wszystkimi pinami programatora a ATTINY?
I czy ustawienia bezpiecznika są naprawdę potrzebne, czy Uno może zaprogramować lampę błyskową na attiny działającą z częstotliwością 1 MHz, a tym samym zaoszczędzić mi kilku kroków?
(Po prostu kupiłbym „prawdziwego” programistę, ale muszę go zdobyć w ciągu najbliższych dwóch dni i jestem w wiejskiej części Nowej Szkocji)
-carduino
on stk500. Po prostu spróbuj wgrać program flash do attiny z IDE. W ten sposób możesz zobaczyć poprawny wiersz poleceń na dole, jeśli w ustawieniach włączysz „pełne dane wyjściowe”.
-c avrisp
. Myślę, że możesz zaprogramować go na 1 MHz bez problemów.