Forum: Mikrocontroller und Digitale Elektronik AVR USB-Bootloader und Applikation


von arash j. (arashjavan)


Lesenswert?

Abend,

Ich habe den CDC-Code für AT90USB1287 bereits so modifiziert, dass es im 
Bootloader-Bereich des MCs rein passt (<4KB). Das Laden der Applikation 
funktioneirt auch wunderbar. Der Bootloader-Fuse BOOTRST ist gesetzt, so 
der Bootloader sich als virtual-serial-Port beim PC meldet. Sollten nach 
ca. 1 Sek. keine Nachricht vom PC empfangen werden, erfolgt der Sprung 
zum APP-Bereich. Das Problem ist nun, dass vor dem Sprung zur 
eigentlichen Applikation, muss ja der Bootloader die USB-Verbindung 
trennen (detach_usb()), nach dem Sprung meldet sich wieder die App an 
den PC an. Auch als CDC-Virtual-Serial-Port. das heißt bei jedem 
anschließen des Gerätes meldet sich der Controler 2 mal an. Gibt es 
einen Weg, dass der MC nur sich nur einmal anmeldet und die selbe 
Verbindung wie beim Bootloader auch in der Applikation verwendet wird?

Danke

von Kurt (Gast)


Lesenswert?

arash javanmard schrieb:
> Gibt es
> einen Weg, dass der MC nur sich nur einmal anmeldet und die selbe
> Verbindung wie beim Bootloader auch in der Applikation verwendet wird?

Du musst einfach den identischen CDC USB Code im Hauptprogramm 
implementieren und eben...

arash javanmard schrieb:
> Das Problem ist nun, dass vor dem Sprung zur
> eigentlichen Applikation, muss ja der Bootloader die USB-Verbindung
> trennen (detach_usb())

nicht trennen!

Wozu auch, wenn er einmal angemeldet ist und Dein Hauptprogramm das 
Ganze unterstützt dann brauchst Du kein zweites mal anmelden.
Vlt. ist es notwendig ein paar Flags umzumodeln, aber dass musst Du 
selber austüfteln.

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.