Für die USB Verbindung eines PIC Controllers PIC18F2550 mit unserer Anwendungssoftware unter Windows XP und 7 haben wir bisher ein USB MCD Device verwendet (mpusbapi.dll). Also per Microchip Custom USB Device verbunden. Große Hilfe bei der damaligen Entwicklung war mir die Seite www.sprut.de. Entwickelt wurde alles mit der MPLAB IDE V8.80. Nun möchte ich unsere Komponenten und Software auch für Windows 8, 10 nutzbar machen, leider läuft da nun der alte Microchip Treiber wegen fehlender Signierung nicht mehr. Bei meiner bisherigen Suche im Netz zu alternativen Lösungen bin ich nicht fündig geworden, bin auch mit Englisch nicht so perfekt. Gibt es inzwischen mit der neuen MPLAB X IDE Lösungen für USB die auch unter Windows 10 funktionieren? Also wo ich USB in einem PIC18F2550 zum laufen bekomme. Ein CDC Device per emulierten Comport möchte ich als Lösung nicht nutzen. Ich blicke bei der MPLAB X IDE im Moment noch nicht durch, alles anders als die alte IDE die ich bisher hatte. Hat jemand vielleicht ein Demo Projekt, nur zur Grundlagenforschung?
Gast
#4893859
Wen Microchip keinen neuen Treiber anbietet wirst du da ein problem haben, Sprut nutzt den Org. Treiber mit angepasster config
Gast
#4893864
Schau mal hier http://stefanfrings.de/avr_tools/libusb.html Da geht es zwar um einen anderen Treiber, aber ich schätze, das dieser Workaround auch auf deinen Treiber anwendbar ist.
ahh, OK Danke ! werde mal schauen...
hmmm, scheinbar auch damit dasselbe Problem wie mit dem microchip Driver. Wir geben unsere Sachen ja auch an Kunden, da kann ich Dinge wie "Treibersignatur deaktivieren" nicht anbieten. Als letzte Rettung wäre dann ja nur ein CDC USB Device, ist aber auch wieder kompliziert, weil man da immer in dieselbe USB Busche nehmen muss, um dieselbe Comport Nummer zu bekommen. Weiterhin hatte ich bei Windows 10 das Problem das der PIC per CDC nicht immer sauber erkannte wird. Unter Windows 7 war das immer perfekt.
Wäre HID eine Option?
Soweit ich weiß ist HID extrem langsam, unsere Software braucht einen gewissen Datendurchsatz
Die theoretischen 64kB/s werden wohl nicht ereichbar sein, aber da geht schon was.
Du kannst Microsoft WinUSB benutzen. Dafür musst Du im Device einen zusätzlichen Deskriptor anlegen, damit Windows weiß, dass es den WinUSB-Treiber laden soll. Siehe https://msdn.microsoft.com/en-us/library/windows/hardware/ff540196(v=vs.85).aspx für die Windows-Seite und https://msdn.microsoft.com/en-us/windows/hardware/gg463179.aspx für die Deskriptoren. fchk
Hi Frank, vielen Dank! Ich hatte schon bisschen über WinUSB gelesen, mal gucken ob ich das irgendwie hinbekomme. Hast Du da zufällig irgendwelche Demos? Am Ende will ich ja wie bei mpusbapi.dll damit irgendwie einen Bootlader und das eigentliche Programm für den PIC18F2550 hinbekommen. Die Windows Seite ist kein Problem, auf der PIC Seite weis ich nicht so recht wie und was da nun für den USB Kram einzubinden ist.
Ich hab Dir da mal eben was rausgesucht: http://www.microchip.com/forums/m790429.aspx https://github.com/mentatpsi/Microchip/tree/master/USB/Device%20-%20WinUSB%20-%20Generic%20Driver%20Demo http://www.janaxelson.com/winusb.htm
...Danke, ich schaue es an...
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.