Forum: Compiler & IDEs Leonardo und FLIP


von Kivi M. (kmert)


Lesenswert?

Hallo Zusammen

Ich möchte einen einen Arduino Leonardo (Bestückt mit einem Atmega32u4) 
in den boot modus bringen und die Hex files über FLIP laden.

Zu mir: Ich bin Elektrotechnik Student im 5. Semester.
Aufgabe: Mit einem Atmega32u4 soll anhand eines "Gyro's" MPU-6050 die 
Bewegungen wahrgenommen werden und an 2 Motoren weiter gegeben werden, 
also eine "Pan Tilt" Aufgabe.

Meine Versuche:
Im Gerätemanager versucht "Arduino Leonardo" zu deinstalieren und mit 
einem .dfu file von Atmel zu überschreiben, dass nur noch der Chip 
angezeigt wird -> Atmega32u4. Hat jedesmal fehlgeschlagen und wieder 
automatisch den Leonardo Treiber geladen.

Denn Pin 33 HWB/PE2 (Boot) auf dem Board durchtrennt, war über ein 
Pull-down auf GND gehängt. Dann versucht über USB im FLIP die Verbindung 
herzustellen. Funktioniert nicht.

Programmierumgebung: Atmel Studio 6 + FLIP und die Sprache ist C, diese 
3 sind ein MUSS!! (dämlicher Lehrer :D  er will dies so! )

Ich hoffe ihr könnt mir dabei helfen, ich hab schon ca. 8 - 10h damit 
verbracht, funktioniert aber nicht.  Ich bin so ziemlich sprachlos im 
Moment, das muss doch gehen!!! :D

von Kmert (Gast)


Lesenswert?

Hallo zusammen

Ich bräuchte wirklich eure Hilfe....

von Chris R. (hownottobeseen)


Angehängte Dateien:

Lesenswert?

Hallo,

es hilft nicht, einfach nur einen anderen Treiber zu verwenden, du musst 
wenn dann den Bootloader im AVR austauschen. Das geht nur, indem du 
diesen über einen ISP-Adapter in den Mikrocontroller flashst.

Ich habe mir vor kurzem einen DFU-Bootloader passend für den Arduino Pro 
Micro gebaut, der auch mit dem Leonardo gut funktionieren sollte. Als 
"Bootloader-Pin" wird PD1 verwendet. Liegt dieser kurz nach dem Reset 
auf Masse, bleibt der Mikrocontroller im Bootloader-Modus und lässt eine 
LED an PD5 blinken.

Fuses habe ich gerade nicht im Kopf, dürfte aber wie folgt sein:

http://www.engbedded.com/cgi-bin/fcx.cgi?P_PREV=ATmega32U4&P=ATmega32U4&M_LOW_0x3F=0x1E&M_HIGH_0x06=0x00&M_HIGH_0x20=0x00&M_EXTENDED_0x07=0x03&M_EXTENDED_0x08=0x00&B_SUT1=P&B_SPIEN=P&B_HWBE=P&B_BOOTSZ1=P&B_BODLEVEL2=P&B_BOOTSZ0=P&B_CKSEL0=P&B_BOOTRST=P&O_BITS=Apply+manual+fuse+bit+settings&V_LOW=DE&V_HIGH=D9&V_EXTENDED=F3

Mach aber auf jeden Fall ein Backup vom Flash und schreib dir die alten 
Fuse-Einstellungen raus, damit du wieder zurück kannst.

Mit aktuellem Atmel Studio kannst du mit der DFU-Firmware auch direkt 
daraus (ohne dem Umweg durch FLIP) flashen. Abseits von AS empfehle ich 
dir https://dfu-programmer.github.io/.

Noch als Anmerkung: der Bootloader ist eine leicht modifizierte Version 
vom Beispielcode aus LUFA.

HTH

Chris

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

Kivi M. schrieb:
> Ich möchte einen einen Arduino Leonardo (Bestückt mit einem Atmega32u4)
> in den boot modus bringen und die Hex files über FLIP laden.

Warum FLIP verwenden, wenn man das auch mit AVRdude erledigen kann?
Der Programmer für AVR hinter der Arduino-Oberfläche ist avrdude...

Kivi M. schrieb:
> Aufgabe: Mit einem Atmega32u4 soll anhand eines "Gyro's" MPU-6050 die
> Bewegungen wahrgenommen werden und an 2 Motoren weiter gegeben werden,
> also eine "Pan Tilt" Aufgabe.

Dazu gibt es schon fertige (und dokumentierte) Projekte für Arduino.
Angeblich sogar ohne Drift.

Wieso machen sich manche Leute das Leben so schwer?

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
Noch kein Account? Hier anmelden.