PCI express
Le
Fred Kap
Bonjour,
Pour un projet fermé (OS linux) j'utilise une carte de type ETX ( micro
VIA et bus PCI ) et une carte mère que j'ai développé avec un xilinx et
un bus PCI. En fait je travaille directement dans la zone user ( je fais
uniquement des lecture/ecriture de registre c'est plus simple comme ça)
Je n'ai donc pas developpé de driver.
Maintenant pour un update du projet ja vais passer en carte ETX express et
donc utiliser un bus PCI express et un xilinx Virtex.
Par contre j'y connais rien en pci_express alors j'ai 2 questions :
Ou pourrai je trouver de la documentation sur les drivers linux
PCI_express ( voir un projet squelette ca serait super)
et surtout je voudrais augmenter la bande passante du système et donc
utiliser le dma du pci_express Comment faire ?
Pour un projet fermé (OS linux) j'utilise une carte de type ETX ( micro
VIA et bus PCI ) et une carte mère que j'ai développé avec un xilinx et
un bus PCI. En fait je travaille directement dans la zone user ( je fais
uniquement des lecture/ecriture de registre c'est plus simple comme ça)
Je n'ai donc pas developpé de driver.
Maintenant pour un update du projet ja vais passer en carte ETX express et
donc utiliser un bus PCI express et un xilinx Virtex.
Par contre j'y connais rien en pci_express alors j'ai 2 questions :
Ou pourrai je trouver de la documentation sur les drivers linux
PCI_express ( voir un projet squelette ca serait super)
et surtout je voudrais augmenter la bande passante du système et donc
utiliser le dma du pci_express Comment faire ?

Poser une question


As-tu fouillé sur SourceForge ?
Il me semble qu'on peut y trouver des projets en cherchant avec "PCI-E
linux".
Je n'ai pas approfondi, mais peut être y aura-t-il ton bonheur...
--
-Stan
Du point de vue du driver, il n'y a aucune différence entre un chip PCI et
un chip PCI Express.
Ton driver doit récupérer un handle sur le chip, soit à partir du couple
vendor/device soit à partir du triplet bus/dev/function.
Ensuite il doit configurer le chip, par écriture soit dans ses registres
"config space" soit dans ses registres "IO space" soit dans sa zone mémoire
(si le chip fonctionne en mode memory mapped I/O"). Tout ça dépend du chip,
bien sûr.
En ce qui concerne le DMA, il n'existe pas de "dma du pci_express".
Chaque chip a son propre contrôleur DMA busmaster, qu'il faut configurer
pour chaque transfert, puis se mettre en attente de l'interruption de fin.
Le seul "standard" dans le domaine du DMA est dans l'IDE : tous les
contrôleurs PATA/SATA implémentent au moins la spec SFF8038 (mais aussi de
plus en plus leur propre contrôleur DMA étendu).
Si tu as des questions plus précises je tenterai d'y répondre, ayant écrit
un paquet de drivers pour du matériel busmastering (SCSI, Ethernet, PATA,
SATA etc.).
Cordialement,
--
Stéphane
Stéphane Guillard ecrit ce qui suit en ce 27/08/2009 11:21 :
Bonjour,
...
...
Heu ... ça se mange, tout ça ?
(Molière ! Au secours !)
Après une telle indigestion, c'est bien le moins ... :-(
... cordialement aussi,
--
docanski
Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Je vais donc commander les cartes adéquates , ca devrait donc marcher
comme sur le PCI
Pour le DMA , je verrais donc plus tard
Le Thu, 27 Aug 2009 11:21:24 +0200, Stéphane Guillard a écrit :
Je ne vois pas sur ce ng le contenu integral de ton post original.
Habib