Saya menggunakan Boarduino dan papan roti 30-baris untuk memprogram ATtiny saya. Saya memuat sketsa yang tidak terlalu rumit yang disebut ArduinoISP (termasuk secara default sekarang di IDE Arduino), dan tiba-tiba saya memiliki programmer yang berfungsi. Atmel menjual programmer yang bagus dengan harga antara $ 30 dan $ 40, dan ada banyak kit untuk membuat yang lebih murah.
Saya sangat senang begitu saya mendapatkan programmer yang bekerja dan membuat kedipan kecil beberapa petunjuk. Namun, sekarang boarduino saya yang buruk terjebak pada tugas programmer.
Sejauh yang saya tahu programmer ini menahan tombol reset, dan kemudian mentransmisikan dan menerima pin MOSI dan MISO. Saya pikir SCK tidak digunakan atau setidaknya tidak dibutuhkan. (SCK diperlukan menurut lembar data ATtiny, programmer saya tidak bekerja tanpanya, dan saya tidak dapat menemukan tempat yang saya pikir saya baca tidak diperlukan.)
Mengapa saya memerlukan programmer perangkat keras untuk hanya mengirimkan serial? Maksud saya, anggap saja saya bersedia menahan tombol reset dengan jari saya alih-alih menggunakan IC. Yang tersisa hanyalah pengiriman dan penerimaan serial, jadi yang saya butuhkan adalah tiga kabel, GND, RXD, dan TXD. Heck, jika saya memiliki garis "DTR" atau apa pun, Anda bahkan dapat menekan tombol reset dengan kabel serial.
Mengapa ada semua solusi perangkat keras ini yang juga memerlukan perangkat lunak mewah (seperti AVRdude, atau AVR studio, atau apa pun)?
Maksud saya, saya dapat memahami kabel USB kecil yang menghadirkan mikrokontroler sebagai perangkat penyimpanan massal dan memungkinkan Anda menyeret file biner ke pemrograman (seperti papan dev ARM ini ). Hanya perangkat keras, menggunakan driver perangkat lunak standar.
Saya juga bisa memahami solusi perangkat lunak saja (modulo mengaitkan kabel dari USB ke chip, menggunakan sesuatu seperti chip FTDI untuk menyederhanakan apa yang turun kabel). Semua protokol pemrograman mewah akan ditangani oleh perangkat lunak di komputer, dan perangkat kerasnya hanya berupa kabel.
Mengapa kita melibatkan perangkat lunak dan perangkat keras (rumit)? Maksud saya, sejauh yang saya tahu, pemrograman mikrokontroler cukup mudah, tetapi ketika saya baru saja membahas ini, saya benar-benar khawatir tentang bagaimana saya akan pernah membeli sebuah chip dari mouser atau digikey tanpa membayar beberapa guru untuk memprogram bootloader untuk saya.
Saya yakin ada alasan yang bagus (tidak seperti saya telah menulis perangkat lunak atau mulai membuat programmer USB drag-n-drop), tetapi sebagai pendatang baru, saya tidak tahu apa itu.