Wie wechsle ich von der Verwendung der Arduino-IDE zu einfachem avrdude / make?

7

Teil drei einer dreiteiligen Serie über den Übergang von Arduino zu einem einfachen AVR-Mikrocontroller und minimalen unterstützenden Komponenten ( Teil eins , Teil zwei )

Ich weiß bereits, wie man einen Arduino als Programmierer für einen ATmega verwendet , und ich weiß, wie man einen externen Programmierer für den ATmega / Arduino unter Verwendung der Arduino-IDE verwendet .

Was muss ich wissen, um einen ATmega 1 mit den Befehlszeilentools zu programmieren ? Ein kurzer Überblick über die verschiedenen Sprachfunktionen und Schritte zum Erstellen / Hochladen wäre schön.

1. ATmega328 oder ein kleinerer / billigerer AVR-Mikrocontroller, wenn möglich sogar ein ATTiny, auf dem die Anwendung weiterhin ausgeführt wird: In diesem Beitrag finden Sie einige Details zum Schrumpfen auf einen ATTiny.

Manishearth
quelle

Antworten:

7

Das Tool, das ich in diesem Fall verwenden würde, ist Cduino . Cduino ist ein Tool, mit dem Sie die Aktionen des ATmega besser steuern können und für das kein Bootloader erforderlich ist.

Das cduino-Projekt versucht, die Migration vom Arduino zu einfacheren Hardware-Setups zu vereinfachen, insbesondere solchen, denen eine serielle USB-Schnittstelle und ein Bootloader fehlen. Dies kann für Benutzer interessant sein, für die die Kosten definitiv eine Rolle spielen.

Sie benötigen ein USB-Programmierkabel und einen Duemilanove oder einen Uno, da dieser den Mega328p-Chip verwendet. Natürlich scheinen Unos und Duemilanoves am häufigsten zu sein, daher sollte dies kein Problem sein. Sie benötigen außerdem einen ISP (Beispiele im ersten Teil der Frage) für die systeminterne Programmierung (dh um den Bootloader zu vermeiden).

Es ähnelt stark dem hervorragenden Arduino-Projekt und verwendet dieselbe offene Hardware, vermeidet jedoch die neue Verkabelungssprache, die C ++ - Zwischenschicht und die Java-basierte IDE.

Cduino selbst ist ein Befehlszeilenprogramm, mit dem Sie direkt auf das Arduino schreiben können. Sie werden ein paar Pakete installiert, einschließlich müssen make, avrdudeund screen. Um es ohne den Bootloader laufen zu lassen, verbinden Sie das Arduino wie in der vorherigen Frage erläutert und generic.mkwechseln Sie in der Datei UPLOAD_METHODvon arduino_blzu AVRISPmkII.

Das Hochladen der Datei selbst ist eine einfache Befehlszeilensequenz:

make -R -C <program_name> writeflash

Verwenden Sie dann zur seriellen Kommunikation mit dem Board:

make -R -C term_io writeflash 
make -R -C term_io run_screen

Es gibt eine Reihe von ‚Lektionen‘ zu schreiben Code für Cduino hier . Es ist im Grunde C, aber mit einigen Bibliotheksfunktionen, die für den ATMega328p-Chip spezifisch sind - beachten Sie, dass es C ist, NICHT C ++ .

Polar
quelle