Ich benutze einen Boarduino und ein 30- reihiges Brotbrett , um meinen ATtiny zu programmieren. Ich lade eine nicht allzu komplizierte Skizze namens ArduinoISP (standardmäßig in der Arduino IDE enthalten) und habe plötzlich einen funktionierenden Programmierer. Atmel verkauft einen netten Programmierer für 30 bis 40 US-Dollar, und es gibt viele Kits, mit denen man günstigere machen kann.
Ich war sehr glücklich, als ich meinen funktionierenden Programmierer bekam und die kleinen LEDs zum Blinken brachte. Jetzt ist mein armer Boarduino jedoch fest im Dienst des Programmierers.
Soweit ich weiß, hält dieser Programmierer die Reset-Taste gedrückt und sendet und empfängt dann auf den MOSI- und MISO-Pins. Ich denke, dass das SCK nicht verwendet oder zumindest nicht benötigt wird. (SCK wird gemäß dem ATtiny-Datenblatt benötigt, mein Programmierer funktioniert nicht ohne es, und ich kann den Ort nicht finden, von dem ich dachte, dass ich es gelesen habe, er wird nicht benötigt.)
Warum brauche ich einen Hardware-Programmierer, um nur seriell zu übertragen? Ich meine, nehmen wir an, ich bin bereit, die Reset-Taste mit meinem Finger zu drücken, anstatt einen IC zu verwenden. Alles, was übrig bleibt, ist serielles Senden und Empfangen. Alles, was ich brauche, sind drei Drähte, GND, RXD und TXD. Heck, wenn ich die "DTR" -Leitung oder was auch immer habe, können Sie sogar die Reset-Taste mit dem seriellen Kabel gedrückt halten.
Warum gibt es all diese Hardwarelösungen, die auch ausgefallene Software erfordern (wie AVRdude oder AVR Studio oder was auch immer)?
Ich meine, ich könnte ein kleines USB-Kabel verstehen, das den Mikrocontroller als Massenspeichergerät darstellt und Sie Binärdateien zum Programmieren ziehen lässt (wie dieses ARM-Entwicklungsboard ). Nur Hardware unter Verwendung von Standardsoftwaretreibern.
Ich könnte auch eine reine Softwarelösung verstehen (Modulo-Verkabelung vom USB zum Chip, mit etwas wie dem FTDI-Chip, um die Verkabelung zu vereinfachen). Das gesamte ausgefallene Programmierprotokoll würde von der Software auf dem Computer verwaltet, und die Hardware wäre nur ein paar Drähte.
Warum haben wir sowohl (komplizierte) Software als auch Hardware? Ich meine, soweit ich das beurteilen kann, ist das Programmieren von Mikrocontrollern ziemlich einfach, aber als ich gerade anfing, war ich wirklich besorgt darüber, wie ich jemals einen Chip von Mouser oder Digikey kaufen würde, ohne einen Guru dafür zu bezahlen, einen Bootloader zu programmieren für mich.
Ich bin mir sicher, dass es einen guten Grund gibt (es ist nicht so, dass ich die Software geschrieben oder mit der Herstellung des Drag-and-Drop-USB-Programmiergeräts begonnen habe), aber als Neuling habe ich keine Ahnung, was es ist.