2009-06-24 13 views
13

czy ktoś ma artykuł, jak to zrobić?Jak mogę zbudować sterownik za pomocą Visual Studio?

+0

Spójrz na http://stackoverflow.com/questions/18981595/how-to-configure-visual-studio-2008-for-compiling-drivers/18996448#18996448 –

+0

[Jak skonfigurować Visual Studio 2008 do kompilowania sterowników] (http://www.codeproject.com/KB/winsdk/vs2008_and_drivers.aspx) –

+0

@Bill the Lizard: jak to jest offtopic? To nie jest znalezienie narzędzia lub biblioteki, jest to bardzo realistyczny problem, z którym pisarze musieli się zmierzyć przez ponad dziesięć lat, zanim MS ponownie zintegrowało proces budowania sterowników z VS i VisualDDK. Naprawdę nie rozumiem ** racjonalności ** wskazanej podczas zamknięcia. Chodzi o to, że nawet "spam" byłby tutaj bardziej logicznym wyborem. – 0xC0000022L

Odpowiedz

0

W VS utwórz projekt pliku Makefile. Dodaj swoje źródła, nagłówki, plik Makefile i plik źródłowy. Otwórz właściwości projektu-> Właściwości konfiguracji-> NMake-> Utwórz linię poleceń i napisz:

call $(WINDDK)\bin\setenv.bat $(WINDDK) fre wnet 
cd /d $(ProjectDir) 
build.exe -I 

Teraz możesz budować z VS. Zaleta projektu makefile: zapewnia tylu konfiguracjom, ile potrzebujesz (w2k, wxp, wnet, wlh itd.) I możesz budować z wiersza poleceń DDK.

P.S. fre wnet - to przykładowa konfiguracja, użyj tego, co jest wymagane dla twojego projektu. Dobrze jest mieć zarówno konfiguracje fre, jak i. WINDDK - zmienna środowiskowa ze ścieżką do katalogu głównego DDK.

1

Jeśli chcesz używać DDK build i WDK używać ddkbuild.bat, jest całkiem niezły (myślę, że większość z nich działa nadal), że powinien iść. Ewentualnie sprawdź ddkbuild.cmd z OSR.

7

Pobierz i zainstaluj VisualDDK, a będziesz mógł tworzyć projekty sterowników i debugować sterowniki bezpośrednio z programu Visual Studio.

1

utworzyć projekt makefile i użyć odpowiednio następujące polecenia kompilacji:

pushd . 
call C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP no_oacr 
popd 
build -cgwiz 

(oczywiście podkręcić argumentów setenv dostosowane)

+0

Wygląda mi na kultowy program ładunkowy. Powinieneś wyjaśnić parametry i które z nich są dostępne. – 0xC0000022L

+0

kazałem mi to chichotać; "setenv /?" powie ci parametry. Specyfika będzie zależeć od tego, co próbujesz zrobić, a to nie jest określone w pytaniu .... to pytanie może być kultowe .... – jolyon

+0

podstawowa ścieżka WDK, konfiguracja kompilacji, docelowy system operacyjny i flagi są zatem "zbyt szczegółowe", jak sądzę? – 0xC0000022L

1

Aby zbudować mojego kierowcę użyłem VisualDDK w visual studio 2008. Na początku uruchamiam debugowanie przy użyciu mojego komputera i maszyny virtualBox, ale kiedy uruchamiam proces debugowania w visual studio, moja wirtualna maszyna nie pokazała mi zewnętrznego adresu IP (zwykle powinien pokazywać 192.168.1.102 i 10.0.1.15 w DDKLauncherMonitor, ale to pokaż mi tylko 10.0.1.15).

Zatrzymałem się przy użyciu maszyny wirtualnej i zdecydowałem się użyć prawdziwego komputera. Na drugim komputerze uruchomiłem DDKLauncherMonitor. I zaczynam debugowanie z mojego pierwszego komputera. Otrzymałem pakiet Udp na moim drugim komputerze, a także driver.sys. Ale kiedy próbowałem załadować sterownik z visual studio (pierwszy komputer) nic nie działa. Dodatkowo, w drugiej maszynie powiedz mi "Windows wymagany cyfrowo podpisany sterownik".

To samo dotyczy tego rodzaju problemu i on/ona może pomóc.

10

Ponieważ nie podano dokładnej wersji programu Visual Studio, proszę podać opcje, o których mi wiadomo.

Visual Studio 2012, 2013 i 2015

Poszczególne współczesne wersje DDK/WDK: WDKs 8, 8,1 i 10 (jak to pisze).

Wraz z WDK dla Windows 8, zespół WDK w firmie Microsoft w końcu oferuje pełną integrację z Visual Studio ponownie bezpośrednio z Microsoft.

Jednak, choć Visual Studio 2017 istnieje w mniejszej wersji 15.4 już za czasów tej aktualizacji WDK nadal wymaga Visual Studio 2015.

Visual Studio 2002 do 2010

Poszczególne współczesne wersje DDK/WDK: zestawy DDK dla systemu Windows XP/2003 Server, WDKs w przypadku systemów Windows Vista i Windows 7 z odpowiednimi poziomami dodatków Service Pack i poszczególnymi wersjami serwera.

Wersje te były , a nie oficjalnie obsługiwane przez firmę Microsoft w celu tworzenia sterowników. Jedynym gorszym wyborem do skompilowania sterownika byłby kompletny zestaw narzędzi innej firmy (inny niż kompilator Intel C, który był usankcjonowany przez MS, IIRC).

Uznano za bardzo złą formę korzystanie z kompilatorów Visual Studio w tym okresie, a firma Microsoft wyraźnie zalecała przeciwko nim. Jednak C++ w trybie jądra również było niegdyś niezadowolone, a teraz MS zapewnia szkielety C++ dla trybu jądra. Czasy, w których się zmieniają ...;)

W każdym razie, obejścia istnieją w postaci ddkbuild.bat i ddkbuild.cmd, które wykorzystują toolchain DDK, ale skutecznie pozwalają na integrację wynikowego wywołania z twojego projektu "make" wewnątrz Visual Studio . DDKWizard to kreator tworzenia projektu dla obu tych skryptów. DDKWizard ma , a nie obsługuje Visual Studio 2010! Odsyłacze do obu skryptów zapewniają dobrą dokumentację, a DDKWizard ma również przyzwoitą dokumentację.

Według mojej wiedzy ddkbuild.cmd jest pierwotnie oparty na ddkbuild.bat, a wersja HollisTech może również śledzić jego dziedzictwo z powrotem do tej wersji z OSR.

VisualDDK połączeniu z VirtualKD pojawiły się później niż wspomniano powyżej, ale może być uważany znacznie lepszy, bardziej złożone rozwiązanie. Ale twój przebieg może się różnić. W obu przypadkach integracja z Visual Studio jest znacznie bardziej kompletna w drugim rozwiązaniu.

Visual Studio 6

Poszczególne współczesne wersje DDK/WDK: zestawy DDK dla systemu Windows NT 4 i Windows 2000.

Przed Windows XP DDK DDK (teraz nazywa WDK) kompilator nie było zawarte w DDK, więc trzeba było mieć zainstalowany zestaw narzędzi kompilatora. Dotyczy to systemów NT 4.0 i Windows 2000.