Salut monde!!!
Y'a pas des tutos ou des utilitaires gratuits pour programmer des drivers en asm?
Si vous avez des adresse, passer les moi
Salut monde!!!
Y'a pas des tutos ou des utilitaires gratuits pour programmer des drivers en asm?
Si vous avez des adresse, passer les moi
Salut,
Tu utilises quel OS ?
si c'est pour du Win$ j'ai laisse tombe depuis un moment
a+ Francois
Pour quel type de matériel ?
Avant ou après 98SE ?
@+WO
pour 98se, 2000, me, xp et pourquoi pas vista?
Là, se sera pour la port parallèle, mais j'envisage de modifier mon projet ver l'usb (2.0)
Si vous n'avez que de liens pour xp, pas grave...
Vivement que le monde ce mette à linux
Bon, tu sais que l'architecture de Zindows a quelque peu évoluée au niveau des drivers avec WDM et que les mécanismes internes sont essentiellement COM. La construction de mini-drivers ou de drivers génériques à été largement simplifiée et permet de conserver les mêmes quel que soit l'OS (M$ bien sûr… mais…).
Pour Linux, je ne me réjouirais pas autan (déjà que sa gestion des multiprocesseurs était boiteuse, je t'explique pas les multicorps...) C'est un peu une voie sans issue vu que Linux est plus "vendu" par les gentils copains qu'ils ne le font évoluer... La mode rapporte de l'argent.. la technologie aussi, mais… c'est plus de boulot ) C'est comme le Mac sur Intel : Signe des temps.
L'évolution actuelle étant plutôt hardware que software (ça aussi c'est amusant non ?) Je te conseille de jeter un coup d’œil à http://www.osronline.com/ par exemple (c’est presque un lieu commun) et bien sûr au DDK. Tu imagines aisément que l'USB(2) à aussi tendance à universaliser les protocoles... donc.
Avant de te lancer dans tous les plans antédiluviens ASM qui traînent par-ci par-là, essaie de bien comprendre ce que M$ fabrique en ce moment, cela t'évitera beaucoup de fausses pistes et de pertes de temps.
La plupart des technologies qui étaient software sont devenues hardware (OpenGL, DirectX pour prendre des exemples connus et simple à vérifier...). Les objets COM descendent dans le noyau et la réorganisation dynamique des divers calculateurs associés monnaie courante. Donc, plus vraiment de magie dans le driver mais dans la tendance à l'universalité des échanges...
à suivre...
@WO
Bonjour à tous,
Juste en passant ... de la bonne doc sur les drivers sous NT n'est pas chose facile à trouver. Le sujet est hermétique et ceux qui "savent" parlent peux ... mais je commence à les comprendre ... pas évident d'expliquer le "sujet" à qq qui commence à zéro ... quoi dire ? ... c'est réellement un domaine où il faut s'y coller soi-même ! Il existe divers livres (la plupart en anglais ... je n'en connais qu'un en français ... introuvable, épuisé) ... ces livres vous expliquent, mais vous avez du mal de "comprendre" ... on ne "sent" pas la chose ! Pourquoi ? ... tout simplement parceque l'on a changé de monde ... et que l'on aborde la programmation des drivers avec le mental "user" ! (moi le premier) ... En réalité ... on commence à comprendre réellement les livres qui parlent du sujet ... quand on s'y est frotté soi-même un peu à l'aveuglette. Faire "tourner" un driver minimaliste, en recopiant un exemple trouvé sur le net ... afficher "Hello" en mode kernel via DbgView ... et "ensuite" se dire ... "ça" tourne" ... maintenant, je vais me creuser la tête pour comprendre "pourquoi" ça tourne. Il y a trop de chemins possibles dans la théorie ... en recopier un ... et ensuite se retourner .... ! Analyser le mental "objet" de NT, analyser "Ntddk.h" ... analyser ce qu'est un "IRP", un "MDL" ... Objet_Driver, Objet_Device, Device_Extension ... il faut chercher et comprendre le "pourquoi" des choses... (c'est possible ... je témoigne ! ) ... tout ceci étant dit ... il y a sur le net de la doc étonnante .... faut pas se borner à chercher sur Google "Developing NT drivers" ... y'a des trucs un peu cachés ... des travaux de fin d'études, des tuto, des machins ... regarde ici ... tu trouvera un pdf de 7.6Mo ... va voir à la fin ... page 164 et les autres ....
ICI ...
Je signe des deux mains Robby
Loi de Dave Small article 1.
Cependant, attention de ne pas te faire embarquer par les docs (NT)...
Tu risques de "perdre" du temps (quoique nous soyons d'accord sur le principe même du gain de cette perte ) avec des mécanismes obsolètes (ils marchent, évidement... mais...).
(Robby) Tu as besoins de quel type de docs ?
à+WO
Comme je l’ai dit, je cherche à faire un driver pour un projet actuellement en lpt
Le problème est que les instructions " IN " et " OUT " de l’asm, " inp "et " outp "de VC6 ne fonctionnent pas sous XP
Je cherche juste un moyen efficace de communiquer avec ce port sans passer par des dll qui alourdira mon prog (en fait, je cherche surtout à comprendre tous ce que j’utilise)
Sinon, l'usb, je ne pense l'intégrer à mes projets avant 1 ou 2 ans (y'a pas de problème car à l'univ, tous nos pc on des connect de tous types)
Alors moi pour contrer ce probleme avec mes programmes DOS
(et oui, je les utilise encore avec XP)
J'utilise USERPORT
Ca permet d'ouvrir des ports sous XP et ca marche pas mal
(j'ai eu un ou deux plantages mais c'est assez stable)
a+ Francoi
C’est quoi USERPORT, c’est pas une instruction. Alors un api ?Envoyé par Forthman
Peux tu être plus précis et me donner un exemple ?
C'est un freeware qui permet de liberer des ports
a+ Francois
Mon ami Wo ... de la doc ... j'ai ça (mais c'est top gentil) ... quand je mourrai, faudra venir voir ici ... y'a une mine d'or en bouquins ... tous les introuvables sont ici ... c'est pour ça qu'ils sont introuvables ! hihi .... Bahhh ... j'ai fait une folie, je me suis commandé le book de O'reilly et Nagar ... d'occas, bien entendu ... introuvable ! Je ne cherche plus de la "doc", mais de l'expérience, du vécu.
Bon ... Wo ... je reviendrai ... juré !
HadiNET ... tu veux utiliser les instructions "in" et "out" ?
ok ... faut être en ring0 pour ça ! Crée un driver minimum ... mais réellement minimum .... juste "DriverEntry" ... et juste aprés DriverEntry ... tu pourras faire appel à Write_Port_Uchar (couche Hal) .... ou le faire toi même, y'a rien dans Write_Port_Uchar ! Attention .... ceci n'est pas une "solution" ... mais une indication ... un signe du chemin à suivre ... ensuite tu utiliseras les Major Fonctions dans ton driver ... et ensuite depuis le user, WriteFile ... et ensuite DeviceIoControl ... mais faut y aller molo ... dans le monde des drivers ... tu testes un truc qui tourne ... et quand ça tourne ( boucle 30.000 en surffant en même temps ... le test qui peut te dire ... oui ... c'est stable) ... alors tu te creuses pour comprendre le pourquoi du comment .... et la .... tu avances !
Je vois que tu fais la poussière chez toi (cool) donc, je vais pas te pousser à mourrir (y'a pas mal de chance que ça m'arrive avant toi ) je vais te mettre mes docs sur mon testament (bonne idée )
Et WDM te simplifierait pas la vie (je veux dire le vécu , expérimentable ?)
Vu que bientôt écrire des drivers ne serait même plus nécessaire d'un OS à l'autre...
et puis l'échange de données en User/Kernel mode (rings 3/0) étant gourmand... de chez vorace... (les nouveaux mécanismes t'évitent d'y avoir recours et te simplifient le boulot.).
Je dis ça, juste histoire de t'économiser les yeux et les BSOD harghhhhhhhh.....
à+WO
Que ça t'arrive avant moi ? ... t'en sais rien ça !
Hummm ...
des nouveaux mécanismes ?
Tu mets un morceau de chocolat au bout de la ficelle là !
Je me retrouve sans rien dans les mains tout d'un coup !
Bein vi que ce genre de phrase m'intéresse !
Alors...je tire doucement sur la cifelle... pour pas faire peur à l'animal... il faut prévoir un petit endroit pour qu'il puisse jouer.... et un autre pour faire son nid... et puis se renseigner sur ce que ça mange... et comment ça se reproduit...
Trèves de plaisanteries, rions un peu...
Je suis d'accord sur le fait que le DDk est assez amusant : ils exposent tout mais ne te disent rien c'est vraiment des gros malins... ou alors ils te donnent des exemples qui t'entraînent du coté où il y à rien à voir....
Prenons quelques exemples.... tous les DirectGnia proposent des accès qui simplifient le codage pour nos amis des HLL mais les éloignent de plus en plus du système et coûtent de plus en plus cher en MAJ etc...
Le fonctionnement de ces API bidons est de plus en plus opaque (La MFC même combat... le gus deviennent spécialistes de trucs qu'ils ignorent !!! et quand tu leur parle API Win32 ils ne comprennent pas vraiment...).
Là, c'est le même problème. Il y à des gus pour faire de l'ASM 16 bits et utiliser les interruptions... cool... ils font mumuse avec les bouts de ficelles à papa pensant que l'ASM c'est ça.. Cherche l'optimisation dans le code et plus dans la stratégie enfin l'horreur quoi...
Mais, toutes ces encapsulations (pécuniaires) encapsulent (justement) une réalité de ntoskrnl.exe (il a doublé de volume sous XP64 je t’explique pas sous Vista...). Donc, ou on continue à faire du ring 0 magique... où M$ a mis en place un mécanisme (actualisé objet) au sein de son noyau qui devrait lui permettre d'écrire de moins en moins de code, d'être de plus en plus universel et portable (la fin de Mac (possession de M$ depuis plusieurs années maintenant) sous autre chose qu'Intel devrait faire réfléchir plusieurs...).
Le format WDM (Model de Driver M$) imposé aux fabricants (les plus gros pour étouffer les plus petits) permet à Bilou de s'assurer le déplacement de la puissance à faible coût. Le Mp n'est plus le centre de l'OS mais un composant parmi d'autre et la puissance se déplace de l’OS/CPU dans les cartes (donc, nouveau formats de buss (Xpressx16 par exemple pour commencer par la vidéo et la suite en audio ....) mode exclusif (accès direct à certaines ressources hard...) etc. Et puis, ça devrait te plaire, le kernel streaming : Le hard gère lui-même les flux dont il à besoin sans passer par le CPU ou la RAM où un quelconque gestionnaire... Il est même possible d'échanger des ressources entre deux cartes... tout-ça... sans écrire de drivers puisque le format est le même pour tout le monde... (hormis mini-drivers pour les spécificités constructeur.. mais bon...).
A ton avis, un composant comme Graphedit (livré avec le SDK), il marche comment ? Je vais pas tout raconter en publique... on nous écoute... mais bon... Tu devrais peut-être soulever le capot de ce coté là... et puis quel est le rapport entre objet bas niveau, OS, hard, universalité.... le projet XBox dont M$ se fiche pas mal (ils le vendent moins cher que ça leur coûte...) à moins.... à moins... qu'ils fassent un test grandeur nature les cons... n'importe quoi.. n'importe où.. piloté par n'importe qui... le tout identifié par un numéro unique... ça porte un nom cette technologie...?
@+WO
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager