MSP430F5529 USB-Kommunikationstreiber lassen sich nicht korrekt installieren

Ich lerne, wie man USB-Kommunikation mit dem MSP430F5529 Launchpad durchführt, und versuche, das CDC 1 LEDonOff-Beispiel aus dem von TI bereitgestellten MSP430 USB Developers Package hochzuladen.

Ich folge auch diesem Handbuch speziell Abschnitt 2.5.3, aber wenn ich mein Launchpad anschließe, sehe ich die MSP-Anwendungs-UART und die MSP-Debug-Schnittstelle, aber das dritte (MSP430-USB-Beispiel) wird nicht unter Andere Geräte mit dem gelben „Knall“ angezeigt “, stattdessen wird es als „Unbekanntes Gerät“ auf der Registerkarte „USB-Controller“ des Geräte-Managers angezeigt.

Ich habe versucht, mit der rechten Maustaste darauf zu klicken und die Treiber manuell zu installieren, indem ich zum Ordner USB_Config des Beispiels navigierte, in dem ich mich befand, aber es wird nicht installiert, stattdessen sagt Windows, dass es bereits die aktuellsten Treiber installiert hat.

Dies macht es unmöglich, USB-Kommunikationsbeispiele zu verwenden, da dies bei jedem Beispiel auftritt, das ich ausprobiert habe.

Wie zwinge ich den Computer, die richtigen Treiber zu installieren und das Gerät als USB-Beispielgerät neu zu kolonisieren?

BEARBEITEN: Ich habe ein seltsames Symptom entdeckt, die Treiber werden ordnungsgemäß (manuell) installiert, wenn ich das Gerät flashe und versuche, es außerhalb einer Debug-Sitzung auszuführen (nur über USB mit dem PC verbunden) und das Programm wie vorgesehen ausgeführt wird, wenn es mit meinem Terminalprogramm verbunden ist auf meinem Computer, aber wenn ich versuche, es in einer Debug-Sitzung auszuführen, wird das Gerät nicht richtig installiert (selbst wenn ich nie Unterbrechungen setze, einfach die Debug-Sitzung öffne und auf Ausführen drücke), es wird immer als "unbekanntes Gerät" in angezeigt Debug-Sitzung, selbst jetzt - nachdem ich die Treiber installiert habe und Windows sich daran außerhalb der Debug-Sitzung erinnert - funktioniert es nur außerhalb der Debug-Sitzung und wird innerhalb einer Sitzung als "unbekanntes Gerät" angezeigt.

Sie müssen den USB-Treiber manuell installieren oder Sie konnten Ihr Gerät nicht flashen, dies sind die Hauptmöglichkeiten.
Ich habe ein Symptom entdeckt, die Treiber werden ordnungsgemäß (manuell) installiert, wenn ich das Gerät flashe und versuche, es außerhalb einer Debug-Sitzung auszuführen (nur über USB mit dem PC verbunden), aber wenn ich versuche, es innerhalb einer Debug-Sitzung auszuführen, wird es das Gerät nicht richtig installieren (selbst wenn ich nie Unterbrechungen gesetzt habe, öffnen Sie einfach die Debug-Sitzung und klicken Sie auf Ausführen.
Wenn Sie sich in einer Debug-Sitzung befinden, wird der Code tatsächlich ausgeführt?
Ich gehe es durch, es scheint zu laufen, ich füge einige LED-Toggle-Anweisungen ein und diese funktionieren im Debug.
@Aaron Sicher, die LED blinkt, aber Ihr USB funktioniert nicht

Antworten (1)

Aus Ihrem Kommentar habe ich herausgefunden, was Ihr Problem ist. Ihr Launchpad hat nur 1 USB-Anschluss im Vergleich zu einem solchen Launchpad . Wenn Sie eine Debug-Sitzung ausführen, wird der Bus in UART konvertiert, um mit dem FTDI-Chip und der Programmier-MCU zu kommunizieren, daher können Sie mit dem Beispiel, das TI Ihnen gibt, nicht gleichzeitig eine USB-Anwendung ausführen. Wenn Sie einfach Ihr Launchpad anschließen, führt Windows eine Aufzählung Ihres Boards durch und daher wird die LP als USB-Gerät erkannt und die Anwendung funktioniert einwandfrei. Das Beispiel funktioniert also tatsächlich. Wenn Sie den USB-Bus gleichzeitig debuggen und verwenden möchten, ist viel Arbeit erforderlich, da Sie Code entwickeln müssen, der den Bus abwechselnd zwischen Code Composer und der USB-Anwendung teilt.

das macht so viel Sinn. Danke für die Erklärung, ich denke, ich muss die gute alte Debugging-Methode "Print Statements to Screen" verwenden, wenn ich Anwendungen debuggen muss, die den USB-Anschluss verwenden.
Ich habe festgestellt, dass es gelegentlich funktioniert, wenn ich den Debugger starte und sofort ohne Haltepunkte auf die Schaltfläche „Ausführen“ drücke, aber wenn ich jemals auf „Hault“ drücke oder einen Haltepunkt oder irgendetwas mache, funktioniert es nicht mehr (selbst wenn ich den Haltepunkt entferne oder von Zug). Liegt das daran, dass der Debugger erst aktiviert wird, wenn eine Unterbrechung oder ein Befehl erfolgt?
@Aaron Für eine genaue Beschreibung der internen Funktion von Code Composer würde ich empfehlen, dass Sie die TI-Foren im Abschnitt Code Composer besuchen
@Aaron Die einfachste Option besteht derzeit darin, Ihr Board "manuell" zu überprüfen und zu debuggen, anstatt den Debugger zu verwenden.
Ja, ich denke, das ist die einzige Option, die ich wirklich habe