Leonardo und FLIP

#4542720
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
#4544444
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
Angehängte Dateien:
#4544605
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren