Je travaille avec BSP (Board Support Package) dans VxWorks qui utilise pciAutoConfig() pour configurer le bus PCI. Lorsque j'ajoute une carte contrôleur Ethernet au bus, les routines d'affichage PCI ne montrent pas la carte. En utilisant un analyseur de bus, j'ai découvert que la carte Ethernet se compose en fait d'un pont PCI-PCI avec deux contrôleurs Ethernet derrière le pont. Il semble que le BSP ne gère pas correctement le pont PCI-PCI que contient le contrôleur Ethernet.Comment configurer un périphérique de pont PCI-PCI dans VxWorks?
Ma question est, quelle bibliothèque et configurations dois-je regarder pour configurer le pont PCI-PCI? Je pense que ces appels iront dans sysHwInit(), où les appels pciAutoConfig() existants sont. PciAutoCfgCtl() a un paramètre PCI_BRIDGE_PRE_CONFIG_FUNC_SET qui pointe vers une fonction définie par l'utilisateur pour configurer le bus.
Est-ce la seule méthode? Ou y at-il quelque chose dans les bibliothèques VxWorks qui peut le faire pour moi?
Merci, Le BSP appelle la bibliothèque pciAutoConfig de VxWorks. Cela fonctionne bien lorsque mon code est en cours d'exécution sur le processeur dans l'emplacement système. Malheureusement pour moi, j'ai une configuration différente. Je suis en train de virer une interface de test vers un système existant. Mon processeur ne va pas dans la fente du système. L'exécution de pciAutoConfig ici bloque le système. Je suis en train de lire le livre PCI System Architecture pour espérer trouver un moyen de configurer ma topologie étrange. –