Saya menggunakan Arduino UNO untuk memprogram gambar hex pra-kompilasi ke ATTINY45, menggunakan avrdude di direktori IDE Arduino, pada Windows 7. Uno memiliki sketsa ISP yang dimuat dari direktori contoh dan berfungsi - LED detak jantung pulsa baik.
Di sisi perangkat keras saya memiliki pengaturan ini , kecuali ATTINY adalah permukaan-mount, disolder ke papan selancar dengan semua pinnya diverifikasi-disolder dengan voltmeter. Saya menggunakan strip header-pin, dipegang dengan tangan untuk mendapatkan pin menyentuh papan selancar, untuk mendapatkan sinyal dari Uno ke ATTINY.
Berikut adalah baris perintah, yang saya ambil dari melihat hasil debugging 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
-Saya mencoba menjalankannya secara terpisah, tetapi selalu mendapatkan kesalahan ini:
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.
tapi terkadang jumlahnya ff0000 atau ffff00 atau ffffff
Saya membaca bahwa "Arduino menggunakan versi avrdude yang sedikit dimodifikasi untuk mengunggah sketsa ke papan Arduino. Versi standar menanyakan tanda tangan perangkat papan dengan cara yang tidak dimengerti oleh bootloader, yang mengakibatkan kesalahan ini." Apakah ini berarti menggunakan Arduino avrdude dengan chip ATTINY baru, tanpa bootloader di sana, juga akan menyebabkan kesalahan yang sama? Dengan kata lain, apakah avrdude yang dimodifikasi tidak mampu untuk menanyakan chip AVR yang bukan boot-Arduino?
Atau apakah kesalahan itu hanya berarti saya tidak memiliki kontak yang baik antara semua pin programmer saya dan ATTINY?
Dan, apakah pengaturan sekering benar-benar diperlukan, dapatkah Uno memprogram flash menjadi attiny yang berjalan pada 1MHz dan dengan demikian menyelamatkan saya beberapa langkah?
(Saya hanya akan membeli seorang programmer "nyata", tetapi perlu mendapatkan kode ini dalam dua hari ke depan, dan saya di bagian pedesaan Nova Scotia)
-carduino
stk500. Coba unggah program blink ke attiny dari IDE. Dengan begitu Anda dapat melihat baris perintah yang benar di bagian bawah, jika Anda mengaktifkan "keluaran verbose" di pengaturan.
-c avrisp
. Saya pikir Anda dapat memprogramnya pada 1 MHz tanpa masalah.