J'ai eu besoin de mettre en place un environnement de développement de drivers pour Windows sur mon PC (qui fonctionne sous Windows Vista). Voici la procédure qu'il semble falloir suivre :

  1. Installer Visual Studio 2008.
  2. Installer le WDK (Windows Driver Kit) qui est disponible en version 7. À ce stade, cela ne fonctionne pas encore (messages du type « PASSIVE_LEVEL: undeclared identifier »). En effet, le dernier WDK semble n'être compatible qu'avec la version 7 du SDK de Windows. Or Visual Studio 2008 vient avec le SDK en versions 5 et 6...
  3. Installer alors le SDK Windows version 7 (attention, il fait 4 Go...).
  4. En l'état, cela ne fonctionne pas encore, il reste à sélectionner ce SDK, sinon Visual Studio continue à utiliser l'ancien. Procédure : lancer un shell avec l'environnement adapté au SDK (Démarrer > Tous les programmes > Windows SDK v7 > CMD Shell), puis taper la commande WindowsSdkVer.exe -version:v7.0.

Ouf ! Maintenant, cela devrait fonctionner. Encore que, j'ai eu des problèmes avec l'ordre des chemins des includes : il semble que si le DDK apparaît avant le SDK, ça génère des erreurs de compilation dans des fichiers de base. Par exemple, je me suis pris des « "_in_opt_" undeclared identifier » dans new.c ! J'ai résolu le problème en mettant directement le chemin des fichiers .h du DDK dans les directives #include.

Mais au fait, pourquoi tout ça ? Je poursuis mes expérimentations sur le RDS. J'ai voulu tester la clé USBFMRADIO-RD de chez Silicon Labs. Il s'agit de la réalisation d'une application note de leur chip tuner radio FM avec décodeur RDS, le Si4701. Ce « produit » clé radio étant ouvert (le code source est accessible : firmware et front-end Windows, schémas), je voulais l'utiliser pour récupérer facilement des flux RDS. Le front-end Windows fourni étant vraiment rudimentaire, j'ai dû le modifier et le recompiler pour mes premiers essais. Or il a besoin du DDK pour accéder aux périphériques USB HID...

Restez à l'écoute, je posterai bientôt des nouvelles de mes expérimentations RDS en général, et mon avis sur cette clé lorsque j'aurai poursuivi mes essais !