www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Bootloader für PIC24


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo miteinander

Zurzeit arbeite ich an einem Projekt, welches auf einem PIC24FJ256GB106 
aufbaut. Nebst diversen anderen Peripherien ist auch ein USB-Anschluss 
auf den Controller geführt.
Über den würde ich jetzt gerne die neue Software einspielen, bisher 
läuft das alles noch per PicKit3 ab.

Von Microchip gibt es bereits einen USB Bootloader, der genau das macht. 
Jedoch ist der für den PIC24FJ256GB110 geschrieben und aus irgendeinem 
Grund bringe ich den nicht zum laufen, trotz diversen Modifikationen.

Hat hier jemand vielleicht per Zufall schonmal den Bootloader angepasst 
an einen anderen Controller und könnte mir mitteilen, was er genau 
geändert hat?

Danke und Gruss
Tom

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tom,

mit dem USB-Bootloader habe ich zwar nicht gearbeitet, aber ich durfte 
letztens das USB-CDC-Beispiel von Microchip vom GB110 auf den GB106 
angepassen. Ich hatte für beide Controller PIM-Module für das 
Explorer-16-Board und musste beim Config-Bits des GB106 nur 
"PLLDIV_DIV3" in "PLLDIV_DIV2" ändern, da sonst der Takt nicht passte. 
Das Beispiel sah eigentlich vor, dass man für den GB106 ein anderes 
Board mit anderem Quarz verwendet, daher war die Änderung nötig. Die 
Taktgeschichte würde ich in jedem Fall prüfen, ansonsten müsste der Rest 
bei beiden Controllern eigentlich gleich sein.

Christoph

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christoph

Danke für deine Antwort.
Ich bin jetzt immerhin soweit, dass sich der PIC versucht per USB 
anzumelden.
Der Fehler lag in den Fuses, hab den Eintrag für die externe Taktquelle 
übersehen...nach der Änderung auf "FNOSC_FRCPLL" hats geklappt. 
Testweise habe ich in der Main ein paar Ausgänge gesetzt - funktioniert.

Das Problem ist aber, dass sich der PIC nicht korrekt anmeldet. Wenn ich 
meine Leiterplatte per USB anschliesse, zeigt mir mein Windows 7 an, 
dass das USB Gerät nicht erkannt wurde.
Das Tool von Microchip (Microchip USB HID Bootloader v2.6a) erkennt es 
auch nicht: Device not detected. Verify device is in bootloader mode.

Vielleicht noch eine weitere Idee?

Danke und Gruss
Tom

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom schrieb:
> Das Problem ist aber, dass sich der PIC nicht korrekt anmeldet. Wenn ich
> meine Leiterplatte per USB anschliesse, zeigt mir mein Windows 7 an,
> dass das USB Gerät nicht erkannt wurde.

Das heißt aber auf jeden Fall auch schon einmal, dass der PIC den 
Pull-Up für USB aktiviert, ansonsten würde Windows gar kein Gerät 
entdecken.

> Vielleicht noch eine weitere Idee?

Ich würde wirklich verifizieren, dass dein Controller mit der richtigen 
Frequenz läuft, 48MHz USB-Takt sind das bei den PIC24, wenn ich mich 
recht entsinne.

Welche Hardware benutzt du denn eigentlich?

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hattest Recht, es waren die 48 MHz. Jetzt wird er korrekt erkannt und 
es kann eine Software reingeladen werden. Einzig und alleine besteht 
noch das Problem, dass der Bootloader immer startet und nie das 
Programm...werde mir morgen bzw. heute nochmal die main.c zu Gemüte 
führen.

Hardware ist eine eigene Entwicklung, kein Demoboard oder ähnlich.

Gruss
Tom

Autor: Potter S. (potter68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tom,

nach einem Reset wird zuerst der Bootloader gestartet. Dieser prüft 
dann, ob irgendein Pin auf low/high ist (= Taste gedrückt). Sollte das 
der Fall sein, dann wird der Bootloader gestartet. Ansonsten wird zum 
Hauptprogramm gesprungen.

Gruß Ralf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.