AVR-Programmierung

Diese Frage könnte irgendwo gestellt werden, wenn ja, wären alle Referenzen willkommen.

Hallo, ich habe den Atmel-Chip Atmega32U4 über USB programmiert. Es ist möglich, weil es die USB-Programmierung unterstützt. Ich habe dafür Atmel Studio verwendet, um die Hex-Datei zu erstellen, und dann habe ich Atmel FLIP verwendet, um sie auf den Chip zu bringen. Es funktioniert sehr gut und ist einfach zu machen. Ich habe bisher keine andere Methode verwendet. Jetzt möchte ich Atmega328P programmieren, und ich möchte dies über einen externen Programmierer wie USBtiny tun, da es so aussieht, als würde Atmega328P die USB-Programmierung nicht unterstützen. Wie auch immer, ich habe keine Programmierer, aber ich habe Arduino. Also dachte ich, wie kann ich Arduino verwenden, um den Chip zu programmieren. Ich habe eine Weile gegoogelt und was ich gefunden habe, ist nur zu lehren, wie man Chips im Grunde wie Arduino herstellt. Also brenne ich den Bootloader und kann Arduino-Skizzen hochladen. Aber das will ich nicht. Der ganze Punkt ist, Arduino loszuwerden. Ich möchte eine Hex-Datei direkt auf den Chip hochladen. Und jetzt wird es etwas kompliziert für mich. Ich habe über AVRdude gelesen, es sollte damit möglich sein. Ich habe auch gelesen, dass jemand gesagt hat, AVRdude sei das schlechteste Programm. Meine Frage ist, welche Möglichkeiten habe ich? Kann ich eine ausgefallene Grafiksoftware wie Atmel FLIP verwenden? Kann ich FLIP irgendwie benutzen? Vielen Dank für Ihre Zeit.

Tatsächlich können Sie den 328 über USB programmieren . Jemand hat bitbang USB für den AVR gemacht .
Sie können die Chips über eine SPI-Schnittstelle programmieren. Suchen Sie im Internet nach AVRDUDE. AVRDUDE läuft auf vielen Plattformen. zB ein Raspberry-Pi. ps Verwenden Sie in Ihrem Text ein großes I und kein i (tun Sie einfach so, als wären Sie sehr wichtig. :-)
Suchbegriff: "ArduinoISP"
Ja, ich kenne AVRdude über SPI. Ich suche nach Alternativen.
Kaufen Sie ein "AVR-ISP-MK2" oder kompatibel, dann können Sie es direkt mit Atmel Studio verwenden.
Es tut mir leid, Englisch ist meine zweite Sprache. Ich versuche, mich daran zu erinnern.
Lesen Sie das Datenblatt für Ihr Teil, Sie werden feststellen, dass es mehr als eine Möglichkeit gibt, das Teil zu programmieren. Eine andere Mikrocontroller-Platine macht es so viel einfacher, da Sie damit jedes Protokoll knacken können, das mit anderen Wegen länger dauern könnte. Der fragliche Teil ist ziemlich einfach zu programmieren.

Antworten (1)

Sie können die gleichen Techniken verwenden, die zum Laden von Arduino-Skizzen dokumentiert sind, um herkömmliche Nicht-Arduino-AVR-Projekte zu laden. Dies liegt daran, dass das Arduino-System lediglich die Quelldateien vorprogrammiert, sie durch gewöhnliche Tools füttert, um avr-gcceine Hex-Datei zu erstellen, und dann avrdude(oder in einigen Fällen etwas anderes) verwendet, um den Programmierer zu befehlen.

So würden beispielsweise die Beschreibungen, die Sie über die Verwendung einer Arduino-as-ISP-Skizze auf einem vorhandenen Arduino gefunden haben, um einen ATmega328p auf einem Steckbrett zu programmieren und ihn in einen Arduino zu verwandeln, gut funktionieren. Sie würden sich einfach avrdudeselbst ausführen, um Ihre eigene .hex-Datei anstelle einer Arduino-Skizze oder eines Bootloaders zu laden.

avrdudeist natürlich ein komplexes Programm mit vielen Optionen. Der einfachste Weg, um herauszufinden, wie man es benutzt, ist zu schummeln : Öffnen Sie die Arduino IDE, aktivieren Sie irgendwo in einem Optionsmenü die ausführliche Ausgabe und verwenden Sie sie dann, um Ihr Board zu programmieren. avrdudeWählen Sie dann einfach die Befehlszeile aus, kopieren Sie sie und ändern Sie den Namen und Speicherort der .hex-Datei. Dies gilt insbesondere, wenn Sie die von der Arduino IDE installierten Kopien avrdudeund Konfigurationsdateien dafür verwenden.

Also, selbst wenn Sie (ganz vernünftigerweise) nicht mit Arduino entwickeln wollen, können Sie es immer noch als sehr praktische Abkürzung verwenden, um einen Weg zu bahnen - zu beweisen, dass die Hardware funktioniert, Programmiermethoden zu zeigen usw. Und es lohnt sich immer noch, es zu behalten Eine andere gute Verwendung ist, wenn Sie einen Peripheriechip evaluieren möchten - Sie können sehen, ob jemand einen Arduino-Sketch hat, der ihn auf Herz und Nieren prüft und es Ihnen ermöglicht, zu entscheiden, ob der Chip für Ihren Zweck nützlich ist, bevor Sie investieren müssen jederzeit Code schreiben, um ihn in Ihrem eigenen Softwareprojekt zu betreiben.

Beachten Sie außerdem, dass ein Bootloader im Arduino-Stil (tatsächlich haben sie die Idee aus früheren Arbeiten übernommen) nicht bedeutet, dass Sie nur Arduino-Skizzen ausführen können - Sie können den Bootloader zum Laden in traditionellen AVR-Projekten verwenden, und Sie können Arduino-Skizzen direkt laden über ISP ohne Bootloader.