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
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
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
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?
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
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
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.