Ich verstehe, dass die "rohste" Methode zum Programmieren eines AVR-Mikrocontrollers wahrscheinlich mit einem ISP wie dem AVRISP mkII ist.
Ich bin jedoch auf der Suche nach einer Methode, bei der ich kein 40-Dollar-Werkzeug für ein einmaliges Projekt kaufen muss.
Ich habe einen Computer, einen Arduino Uno und einen Raspberry Pi zur Verfügung.
Ich bin nicht wirklich daran interessiert, die Arduino IDE zu verwenden und Skizzen zu schreiben. Ich möchte in den Low-Level-Code einsteigen, der in C möglich ist, vorzugsweise mit einer IDE wie Atmel Studio.
Soweit ich weiß, verfügt der Arduino Uno über einen ATmega16U2, der über USB an einen Computer angeschlossen wird, mit dem der ATmega328P programmiert wird.
Agiert der ATmega16U2 hier als ISP? Wenn ja, kann ich damit den ATtiny programmieren? Ich bin den Schaltplan durchgegangen und er zeigt, dass der mega16u2 einen ICSP-Header hat, aber über TX/RX-Leitungen mit dem mega328 verbunden ist.
Nein, dieser Chip fungiert als USB -> RS232 TTL-Adapter. Auf dem 328P-Chip ist ein serieller Bootloader installiert, der Befehle über RS232 akzeptiert, um den Chip zu programmieren.
Sie können den ArduinoISP-Sketch auf dem Arduino installieren (in der Arduino IDE enthalten), der den Arduino dann in einen ISP verwandelt, der über AvrDude (Befehlszeilenprogramm) gesteuert werden kann, um den ATTiny über ISP zu programmieren.
Es gibt viele Tutorials und Beispiele in den Arduino-Foren und auf dem Playground.
Sowohl Arduino als auch der Raspberry Pi können mit AVRDUDE als ISP-Programmierer verdrahtet werden .
Sie können einen 5x2 10-Pin-Header verwenden und Ihren eigenen Programmierer verdrahten, wie zum Beispiel:
Das wurde aus Sparkfuns Tutorial zur Mikrocontroller-Programmierung entnommen . Im gesamten Tutorial geht es darum, Code auf einen Mikrocontroller zu bekommen. Der verwendete Mikrocontroller ist ein AVRMega, aber das Gleiche gilt für einen Tiny.
Verwenden Sie den Serial Port Programmer , mit unterstützender Hardware sollte es weit weniger als 40 $ kosten.
Dieser Programmierer wird spezifisch für AVRs sein, so dass die Sache mit dem „einmaligen Projekt“ für dieses Stück Hardware nicht ganz zutrifft.
So bringen Sie den Code physisch auf die Platine. Es gibt mehrere Möglichkeiten, den Code zu kompilieren und hochzuladen, indem Sie einen Ihrer bevorzugten Editoren, Makefiles und dergleichen verwenden.
Benutzer34920
Mäusez
JimmyB