Ich arbeite an einem rohen, x86 Real-Mode-USB-Access-Projekt. Dies beinhaltet einen benutzerdefinierten Bootsektor, einen Bootloader der zweiten Stufe und einige triviale Hardwaretreiber.USB-Steuerung im Realmodus x86
Endziel ist die Bereitstellung eines Produkts, das bootet, Daten über die USB-Schnittstelle sendet, Daten über die USB-Schnittstelle empfängt und den Ergebniswert auf dem Bildschirm anzeigt. Ich habe alles außer USB-Zugriff beendet.
Ich habe bereits festgestellt, dass BIOS keinen Zugriff auf Onboard-USB bietet. Ich habe Dutzende von Seiten von Osdevver nach Brokenthorn durchsucht. Ich habe sogar die USB 2.0-Spezifikation angeschaut.
Niemand, nirgendwo, gibt relevante oder nützliche Informationen über den direkten Zugriff auf einen USB Root Hub mit x86 Assembly im x86 Real Mode, ohne ein vorheriges Betriebssystem zu durchlaufen
Gibt es keinen Standard-IN/OUT-Port für USB-Root-Hubs? Und wenn, gibt es genau die Dokumentation, die die Standardkommunikation spezifiziert, die es der Software ermöglicht, dem Hub mitzuteilen, welche Daten zu senden sind und an welches angeschlossene Gerät diese Daten gesendet werden sollen?
x86 Real-Modus, mit ... keine Betriebssystemunterstützung? Dies bedeutet wahrscheinlich, dass Sie mit dem PCI-Controller Ihres Chipsets zusammenarbeiten und den PCI-Controller verwenden, um den USB-Controller Ihres Chipsets zu erkennen (neu) zu initialisieren. Dann gibt es das Problem, Speicherzuordnungen und IRQ-Verarbeitung einzurichten (was Ihnen unter Umständen nicht ausreicht, um in den 1 MB und 8 IRVs, die im Real-Modus verfügbar sind, zu arbeiten). Ich könnte einige der Details hier falsch haben, aber Sie wollen das wahrscheinlich nicht tun. Erstellen Sie stattdessen ein kleines Embedded-Betriebssystem wie http://ecos.sourceware.org/. – Managu
Also wird der USB Root Hub dem PCI Controller untergeordnet sein? –
würde ich ja erwarten, ja. – Managu