Hallo Mikroprozessorentwickler,
ich stehe vor einem NewBie-Verständnisproblem:
Der atmega32u4 hat eine integrierten USB Schnittstelle für die In System
Programmierung (ISP). Nach meinem Verständnis hat Atmel das gemacht, um
uns einen extra Chip wie den FT232** oder eine ähnliche Methode für den
Übergang USB-to-Serial zu sparen.
Nachdem ich nun mit dem atmega32u4 und FLIP ein wenig gearbeitet und ihn
auch programmiert habe (d.h. ich habe einen kompilierten Code in den
Flash geladen und ihn ausführen lassen), möcht ich nun einige
Einstellungen an den Fuses ändern, u.a. CHKDIV8.
Über Flip kommt man offensichtlich nicht an die FUSES. Mit avrdude ist
es möglich, wie auch mit einigen anderen Programmen. Aber alle setzen
einen ISP-Programmer voraus, d.h. ich muss -c PROGAMMER angeben:
> avrdude [diverse Parameter] -c PROGRAMMER [diverse Parameter]
Mit dem atmega32u4 mit integriertem USB Baustein sollte aber genau
dieser externe In-System-PROGRAMMER umgangen werden, oder?
Frage1: Ist mein Verständnis bis hierher richtig?
Frage2: Wie komme ich an die FUSES mit nichts als einem Chip in
Grundbeschaltung, einem USB Kabel und einer Software? Und wenn ich
tatsächlich einen externen Programmer benötige, wozu dann diese USB
Schnittstelle im atmega32u4?
Besten Dank für Aufklärung
NewBie20140506
Die Fuses können nur über die ISP-Programmierung geändert werden. Bei der Programmierung mit FLIP läuft im zu programmierenden Controller der Bootloader - also ein ganz normales Programm. Und das kann keine Fuses ändern! Die Programmierung des Chips per USB über den Bootloader und FLIP ist in erster Linie dazu gedacht, ein Firmware-Update durchzuführen, ohne das Gerät öffnen zu müssen. Wozu die USB-Schnittstelle beim ATMEGA32U4? Einerseits natürlich für den besagten Firmware-Update. Auf der anderen Seite lassen sich damit Gerätchen realisieren, die per USB mit einem PC kommunizieren können!
Welche Fuses willst Du denn konkret ändern? Die Wirkung CKDIV8, nämlich die Einstellung des Vorteilers für den CPU-Takt lässt sich auch während des Programmlaufes sozusagen "aufheben", in dem man einfach per Programm einen anderen Vorteiler einstellt. Wobei nicht nur der Teiler 8 oder der Teiler 1 möglich ist, wie er mit CKDIV8 gewählt wird sondern alle anderen Vorteilerwerte auch, die der Chip bietet.
Hallo, vielen Dank für Eure Antworten. Es hat ja ein bißchen gedauert bis zu einer Antwort, so dass ich selbst auch Zeit hatte, nachzudenken, und tatsächlich kam ich zu einem ähnlichen Schluß wie Rainer Reusch: Der Umstand, dass der atmega32u4 eine physikalische USB Schnittstellen bereitstellen kann, heißt natürlich nicht, dass diese Schnittstelle für jegliche Kommunikation zum Chip gedacht ist. Viel mehr könnte sie ja auch nur für die Kommunikation mit anderen Geräten innerhalb eines zu entwickelnden Programmes bestimmt sein und natürlich für einfache Firmwareupgrades... Besten Dank NewBie20140506 @Bitflüsterer: CKDIV8 wäre nur der erste Parameter gewesen, den ich ändern müßte, es führt wohl nichts an einen Programmierer vorbei. ... immer wieder ein gutes Forum hier!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.