Download presentation
1
请点击以下链接下载WinHEC的演讲材料
Download WinHEC presentations here:
2
Understanding tools for Windows Driver Development
Devin Wong Software Engineer
3
Introduction and Agenda
Tech Ready 15 4/16/2017 Introduction and Agenda Session Introduction Introduction to Windows Driver Kit (WDK), benefits of Visual Studio, overview of driver samples and templates, build and deploy for mobile as well as desktop. Introduction to hardware development boards Session Agenda: Overview of Windows Universal Drivers One driver development experience for all Windows Windows Driver Kit (WDK) + Visual Studio – a modern driver development environment Hardware development boards – a great resource for hardware developers Key take-away Understand the power of Visual Studio + WDK to easily create high quality Windows Universal drivers that work on all Windows editions © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
4
Windows Universal Drivers – an overview
5
Windows Everywhere WINDOWS From embedded to server and everything in between, Windows is everywhere
6
Driver Development prior to Windows 10
Writing a Desktop Driver Purchase a Dev Board Download the WDK Learn about Desktop Driver Model Build <-> Debug Desktop driver using Visual Studio Test Driver using WDK Test Submit for signing to portal Writing a Mobile Driver Work with OEM to get mobile HW Download the WPDK Learn about Phone Driver Model Build <-> Debug Phone driver using Visual Studio Test Driver using Test Central Provide driver spkg to OEM to integrate in mobile image Key differences: Development hardware availability Kits for desktop and phone Driver model Test content Driver signing
7
Windows Universal Drivers
New in Win10 Runs on all Windows Editions Desktop, mobile, IoT All converged device driver stacks are included Value to You Write 1 driver binary per architecture works on desktop, mobile, IoT Provides a consistent API surface from drivers and apps Any Windows edition can be used as a driver test platform Sell components to desktop as well as mobile OEMs/ODMS without needing a different driver
8
Windows Universal Drivers – runs on all Windows Edition
WinHEC 2015 4/16/2017 6:22 PM Windows Universal Drivers – runs on all Windows Edition Common Driver Development Platform A unified component-based software architecture that provides a consistent set of APIs across Windows 10 device types © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
9
Windows Editions Layering
WinHEC 2015 4/16/2017 6:22 PM Windows Editions Layering Full Server Desktop Shared Legacy Mobile Windows Holographic Xbox IoT OneCoreUAP OneCore © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
10
Converged Device Areas
Target Static Libs OneCore.lib OneCoreUAP.lib Audio Devices x Biometric Devices Bluetooth Buses Camera Crypto Display Devices Geolocation Input Devices Installable File System Drivers Network - Wired Network - Wireless Network Filters NFC Point of Service Proximity Devices Security Devices Sensor Devices Storage System Technologies Touch USB Video Converged Device Areas Converged device areas common to all Windows 10 editions Write ONE Windows Universal Driver and target all Windows 10 editions Driver samples & templates available
11
Impact of Universal Platform on existing drivers
Kernel mode drivers Mostly backwards compatible for converged device areas Minimal changes needed User mode drivers and services Not all Win32 APIs are available as part of Windows Universal Platform A binary (DLL, EXE) linked with missing APIs will not load Replacement APIs may be available in some cases Re-design/re-implementation will be required if APIs are not available
12
Build Windows Universal Drivers
One driver that works on all Windows Edition
13
Microsoft delivers an End-to-End Hardware development solution
Build 2014 4/16/2017 Microsoft delivers an End-to-End Hardware development solution Hardware Development Platform Documentation & Support Visual Studio + WDK Driver Validation © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
14
Primary goals for WDK Make developers more productive
Integrate driver tools into the modern Visual Studio environment Find defects early Move quality “upstream” in the development process Integrate quality tools and tests into Visual Studio Ease creation of more reliable, better-performing drivers Enhance driver development frameworks Simplify common driver development tasks
15
Demo Get a jump start by using samples & templates
Create, build and package a Windows Universal driver using Visual Studio 2015 & WDK Deploy & debug a Windows Universal driver Windows Universal Driver validation tool
16
Hardware Development Boards
Hardware Development Platform Documentation & Support Visual Studio + WDK Driver Validation
17
Windows H/W development boards
Build 2014 4/16/2017 Windows H/W development boards Offer an affordable, off-the-shelf development systems Support development with various components… Sensors NFC, Bluetooth, WiFi Touch Audio Camera Display GPS Enable development with commercial & hobbyist components © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
18
Sharks Cove & MinnowBoard MAX
Both boards support Windows 10 Sharks Cove Intel ® Atom™ Processor Z3735G, 2M Cache, 4 Core, 1.33GHz up to 1.88GHz Supports Connected Standby 32-bit UEFI firmware Headers for Camera, MIPI Display, USB, I2C, SDIO, UART, GPIO, UART-to-USB for debug MinnowBoard MAX Intel® Atom™ E3800 processor 64-bit & 32-bit UEFI firmware Can also be used as an UEFI Development Kit PWM capable GPIO (2 pins of 8 total GPIO) Open Hardware Platform (Gerbers & Layout)
19
Raspberry Pi 2 Bringing the power of Windows to the Maker community
WinHEC 2015 4/16/2017 6:22 PM Raspberry Pi 2 Bringing the power of Windows to the Maker community Hardware specs: Broadcom MHz quad-core ARM Cortex-A7 CPU 1GB LPDDR2 SDRAM MicroSD, Ethernet, USB, HDMI GPIO, I2C, I2S, SPI Attend the session on Building Devices with Windows IoT to learn more © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
20
Qualcomm DragonBoard™ 410C
WinHEC 2015 4/16/2017 6:22 PM Qualcomm DragonBoard™ 410C Build innovative solutions using Windows & Qualcomm Snapdragon Hardware specs: Qualcomm Snapdragon 410 (APQ8016) 1GB LPDDR3, 4GB eMMC MicroSD, WiFi a/b/g/n, BT4.1 + LE, GPS GPIO, I2C, I2S, SPI Attend the session on Create Intelligent Devices with Snapdragon and Windows to learn more © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
21
Qualcomm DragonBoard™ 410C
To Summarize Sharks Cove MinnowBoard MAX Raspberry Pi2 Qualcomm DragonBoard™ 410C Intel Atom (x86) Intel Atom (x64) Broadcom BCM2836, 900 MHz quad-core ARM Cortex A7 (ARMv7 instruction set) Qualcomm Snapdragon 410 (APQ8016) 1GB RAM, 16GB eMMC Single Core (1GB), Dual Core (2GB) 1 GB (shared with GPU) 1GB LPDDR3, 4GB eMMC USB, HDMI, UART UART, USB, Ethernet, HDMI MicroSD, Ethernet, USB, HDMI MicroSD, WiFi a/b/g/n, BT4.1 + LE, GPS I2C, I2S, GPIO, SDIO, MIPI-CSI, MIPI-DSI I2C, I2S, GPIO, SPI, PCI-e, SATA MIPI-CSI, I2S, GPIO GPIO, I2C, I2S, SPI
22
Documentation & Support
WinHEC 2015 4/16/2017 6:22 PM Documentation & Support Hardware Development Platform Documentation & Support Visual Studio + WDK Driver Validation © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
23
Document Library Published on MSDN Documentation includes:
Build 2014 4/16/2017 Document Library Published on MSDN Documentation includes: Design guides eg: Sensor cookbook, etc Reference documentation eg: debugger & driver development documentation, etc Device area specific documentation eg: Audio, Networking, etc © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
24
Guided Documentation Sequential, Targeted, Guided
Build 2014 4/16/2017 Guided Documentation Sequential, Targeted, Guided Step-by-step guidance for building drivers for specified devices Covers the typical phases of driver development Get started at © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
25
Updated Samples & Templates
Driver templates (~20) included in the WDK are updated to build Windows Universal drivers Windows Universal driver samples (~150) for various device classes available on MSDN code gallery
26
Build 2014 4/16/2017 Support © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
27
Visual Studio + WDK a modern driver development environment
Hardware Development Platform Documentation & Support Visual Studio + WDK Driver Validation
28
Visual Studio 2015 – a WDK companion
Driver-specific functionality is delivered via a Windows Driver Kit (WDK) add-on pack to Visual Studio Visual Studio 2015 offers a world class driver development environment for FREE WDK supports other VS 2015 editions Copies of Visual Studio and the WDK are on the web at msdn.microsoft.com
29
Driver development in Visual Studio Component Layout
WDK (Visual Studio add-on) Driver analysis tools Driver testing and deployment tools Online VS driver toolbar (build, package, sign) Debugger engine Redistributables (Developer Portal) VS driver templates KM & UM headers/libs Samples (Code Gallery) Documents (MSDN) Visual Studio Windows SDK Visual Studio Core (compiler, CRT, etc)
30
WDK with Windows 10 One WDK for all Windows driver development
Multiple versions of the WDK can exist side-by-side on disk VS+WDK provides a consistent driver development experience across all target Windows editions Build, debug & validate Windows Universal drivers easily Running WDK tests standalone on target machine (coming at Windows 10 RTM)
31
Setting up VS to build Windows Universal Driver
Access Driver Setting option under Driver Properties in Visual Studio Set TargetPlatform == Universal
32
Windows Universal driver validation tool
APIValidator.exe tool Runs as a post build process for Windows Universal Drivers Also can be run on command line "C:\Program Files (x86)\Windows Kits\8.2\bin\x86\apivalidator.exe“ Flags APIs used in the driver project that aren’t part of the Windows Universal Platform
33
INF validator tool Purpose InfVerif.exe
WinHEC 2015 4/16/2017 6:22 PM INF validator tool Purpose Validates driver package INFs and exposes errors encountered during the INF parsing process Can validate that the driver package INF will work on all Windows SKUs and in Windows Universal Driver packages InfVerif.exe Included in the WDK Runs automatically in a VS driver project Documentation on common errors and resolution available on MSDN © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
34
Building a Windows Universal Driver using the WDK
Purchase a Dev Board Download the WDK & learn ONE Driver Model Build <-> Debug driver Windows Universal Driver using Visual Studio Test Driver using WDK Test Replace non universal APIs Submit for signing Install Visual Studio 2015 & WDK Pick a Windows Universal Driver template or sample Select driver architecture (ARM, x86, x64) Add your code, headers, libs, etc Compile / debug / etc. Replace non Universal APIs flagged by APIValidator.exe Deploy to target machine (dev board) Run available tests
35
Driver Validation Hardware Development Platform
Documentation & Support Visual Studio + WDK Driver Validation
36
Ensuring Driver Quality
Testing should begin during the driver development phase to catch issues early in development Tests bundled with the WDK allows you to assess driver quality upstream The Hardware Lab Kit (HLK) enables you to evaluate driver compatibility with Windows & assess ship readiness (covered in subsequent session)
37
Testing using the WDK WDK test library pre-loaded with “Device Fundamentals” tests Provides the ability to run the same test on Windows PC, tablets and phones Tests can be executed on the target device by either: Using WDK Test Explorer in VS Running the test standalone using test package(s) that includes a test and all support components needed to run the test and deliver results using easy to read logs
38
Microsoft delivers an End-to-End hardware development solution
Build 2014 4/16/2017 Microsoft delivers an End-to-End hardware development solution Hardware Development Platform Documentation & Support Visual Studio + WDK Driver Validation © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
39
In Summary Windows Universal Drivers – one driver source to run on all Windows editions One WDK – for all Windows hardware development One development environment – common driver development tasks simplified using the power of Visual Studio 2015 Better driver test experience One location – Visit to get access to kits, documentation & to get connected with your peers using MSDN forums
40
Grand Ballroom III Mansion VIII
12:30 Introduction to Hardware Lifecycle 13:40 Tools for Windows Driver Development 15:00 Intro to Windows Driver Development 16:10 Writing Drivers with the WDF <Day 2> 10:30 Lab: Getting Started with Driver Dev 11:30 Lunch Accessing GPIO, I2C, and UART devices Lab: Driver Testing and Debugging Driver Testing and Debugging Lab: Sensor Driver on Sharks Cove Testing with the Hardware Lab Kit Intro to Driver Signing, Distribution, Servicing Lab: Testing with the Hardware Lab Kit 17:20 <Day 3> 09:00 10:10 WinHEC 2015 4/16/2017 6:22 PM © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
41
Please Complete an Evaluation. Your input is important!
Tech Ready 15 4/16/2017 Please Complete an Evaluation. Your input is important! Access Evaluation Forms: © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
42
4/16/2017 6:22 PM (c) 2015 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. Some information relates to pre-released product which may be substantially modified before it’s commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.