Achtung, eine langwierige Erklärung wird folgen. Ich möchte einige Missverständnisse beseitigen, von denen ich glaube, dass Sie sie haben.
Der Arduino ist wirklich zwei Dinge.
- Eine Sammlung von C / C ++ - Bibliotheken, die mit avr-gcc und kompiliert wurden
- Ein kleines Bootloader-Firmware-Programm, das zuvor ab Werk auf dem Chip programmiert wurde.
Ja, die Arduino-IDE umschließt grundsätzlich avr-gcc - den AVR C-Compiler. Ihre Projekte oder "Skizzen" enthalten die genannten Arduino-Bibliotheken und werden mit avr-gcc kompiliert. Nichts davon hat jedoch etwas damit zu tun, wie etwas an die Tafel geschrieben wird. Wie diese Skizzen eingesetzt werden, ist etwas anders als gewöhnlich.
Die Arduino IDE kommuniziert mit Ihrem Arduino über den USB-zu-Seriell-Chip auf der Karte und initialisiert einen Programmiermodus, den der Bootloader versteht, und sendet Ihr neues Programm an den Chip, wo der Bootloader es an einem bekannten Ort ablegt und dann ausführt . Es gibt keine "Avr-Bibliothek, die das eigentliche Schreiben erledigt" - es ist nur die Arduino-IDE, die einen seriellen Port öffnet und mit dem Bootloader spricht. Auf diese Weise werden Ihre Debug-Meldungen auch zur Laufzeit an die IDE ausgegeben.
Jede alternative IDE muss dieselbe serielle Kommunikation mit dem Bootloader ausführen können. Arduino ist einfach, da alle Bibliotheken, die sie Ihnen bereits zur Verfügung stellen, über die IDE per Tastendruck programmiert und ausgeführt werden können. Ich glaube ehrlich gesagt nicht, dass es einfacher oder benutzerfreundlicher wird. Sie haben alle Details des AVR-Mikrocontrollers und des Erstellungs- / Bereitstellungsprozesses abstrahiert.
Die Alternative wäre so etwas wie avr-studio (das auch avr-gcc für seinen Compiler verwendet) und ein ICSP-Programmierer (eine zusätzliche Hardware, die Sie kaufen müssen). Sie erhalten nur einige Registerdefinitions-Header-Dateien und einige nützliche Makros. Sie haben auch keinen Bootloader auf Ihrem AVR-Chip, es ist nur eine leere Tafel. Wenn Sie mit dem Mikrocontroller arbeiten möchten, müssen Sie sich eingehend mit dessen Hardware-Peripheriegeräten und -Registern befassen und die Bytes in C verschieben. Möchten Sie eine Debug-Meldung zurück an den PC senden? Schreiben Sie zuerst die UART-Routine für print () und öffnen Sie ein Terminal auf Ihrem Computer.
Einen Schritt weiter schreiben Sie Code in einem Texteditor und rufen von einem Makefile oder einer Befehlszeile aus avr-gcc und avr-dude (Programmierkommandozeilen-Tool) auf.
Noch einen Schritt weiter schreiben Sie eine Assembly in einem Texteditor und rufen den Avr-Assembler und den Avr-Dude auf.
Ich bin mir nicht sicher, wohin ich gehen soll, ich denke nur, dass die vorhandene IDE und Arduino absolut genial und perfekt für Anfänger sind - ihr Anspruch auf Ruhm ist Benutzerfreundlichkeit. Vielleicht nicht die Antwort, die Sie suchen, lernen Sie den Arbeitsablauf und machen Sie etwas cooles daraus.