2012-08-04 12 views
5

Sto lavorando a un progetto di accesso USB raw in modalità reale x86. Ciò implica un bootloader personalizzato, un bootloader di seconda fase e alcuni driver hardware banali.Controllo USB in modalità reale x86

L'obiettivo finale è fornire un prodotto che si avvia, invia i dati tramite l'interfaccia USB, riceve i dati tramite l'interfaccia USB e stampa il valore dei risultati sullo schermo. Ho tutto tranne l'accesso USB finito.

Ho già scoperto che il BIOS NON fornisce l'accesso a USB su scheda. Ho passato dozzine di siti da osdevver a brokenthorn. Ho persino guardato le specifiche USB 2.0.

Nessuno, da nessuna parte, fornisce informazioni rilevanti o utili sull'accesso diretto a un hub principale USB utilizzando l'assembly x86 in modalità reale x86 senza passare attraverso un sistema operativo preesistente.

Non esiste una porta IN/OUT standard per hub USB Root? E se c'è, dove è esattamente la documentazione che specifica la comunicazione standard che consente al software di comunicare all'hub quali dati inviare e quale dispositivo connesso inviare a tali dati?

+0

x86 modalità reale, con ... nessun supporto OS? Questo probabilmente significa interfacciarsi con il controller PCI del tuo chipset, utilizzando il controller PCI per rilevare (ri) -inizializzare il controller USB del tuo chipset. Poi c'è il problema di impostare mappature di memoria e gestione IRQ (che potresti non avere abbastanza spazio per eseguire anche in 1MB e 8 IRV accessibili in modalità reale). Potrei avere alcuni dettagli sbagliati qui, ma quasi certamente non vuoi farlo. Costruisci su un piccolo sistema operativo integrato come http://ecos.sourceware.org/. – Managu

+0

Quindi l'hub principale USB sarà subordinato al controller PCI? –

+0

Mi aspetterei di sì, sì. – Managu

risposta

0

Non è possibile avere l'interfaccia USB in modalità reale. È possibile implementarlo in modalità protetta come mostrato in PrettyOS. E non è così facile da implementare se confrontiamo con la nostra interfaccia PS/2.

Problemi correlati