Uso un Boarduino e una breadboard da 30 file per programmare il mio ATtiny. Carico uno schizzo non troppo complicato chiamato ArduinoISP (incluso per impostazione predefinita ora nell'IDE di Arduino) e improvvisamente ho un programmatore funzionante. Atmel vende un bel programmatore tra $ 30 e $ 40, e ci sono molti kit per renderli più economici.
Sono stato molto contento quando ho ottenuto il mio programmatore di lavoro e fatto un piccolo battito di ciglia a dei led. Tuttavia, ora il mio povero boarduino è bloccato sul dovere del programmatore.
Per quanto ne so, questo programmatore tiene premuto il pulsante di reset, quindi trasmette e riceve sui pin MOSI e MISO. Penso che SCK sia inutilizzato o almeno non necessario. (SCK è necessario in base al foglio dati ATtiny, il mio programmatore non funziona senza di esso e non riesco a trovare il posto che pensavo di leggere non fosse necessario.)
Perché ho bisogno di un programmatore hardware per la trasmissione seriale? Voglio dire, supponiamo che io sia disposto a tenere premuto il pulsante di reset con il dito invece di usare un IC. Tutto ciò che rimane è l'invio e la ricezione in serie, quindi tutto ciò di cui ho bisogno sono tre fili GND, RXD e TXD. Diamine, se ho la linea "DTR" o qualsiasi altra cosa, puoi persino tenere premuto il pulsante di reset con il cavo seriale.
Perché ci sono tutte queste soluzioni hardware che richiedono anche software sofisticato (come AVRdude, o AVR studio, o altro)?
Voglio dire, potrei capire un piccolo cavo USB che presentava il microcontrollore come un dispositivo di archiviazione di massa e ti permetteva di trascinare i file binari per la programmazione (come questa scheda di sviluppo ARM ). Solo hardware, utilizzando driver software standard.
Potrei anche comprendere una soluzione esclusivamente software (modulo che collega i cavi dall'USB al chip, usando qualcosa come il chip FTDI per semplificare ciò che scende). Tutto il protocollo di programmazione elaborato sarebbe gestito da software sul computer e l'hardware sarebbe solo alcuni fili.
Perché sono coinvolti software e hardware (complicati)? Voglio dire, per quanto ne so, programmare i microcontrollori è piuttosto facile, ma quando stavo entrando in questo argomento ero davvero preoccupato di come avrei mai comprato un chip da Mouser o Digikey senza pagare un guru per programmare un bootloader per me.
Sono sicuro che ci sia una buona ragione (non è come se avessi scritto il software o iniziato a produrre il programmatore USB drag-and-drop), ma come nuovo arrivato, non ho idea di cosa sia.