development process of windows phones and small screen
TRANSCRIPT
Shenzhen 2015
请点击以下链接下载WinHEC的演讲材料Download WinHEC presentations here:http://channel9.msdn.com/Events/WinHEC/2015
Development Process of Windows Phones and Small Screen Tablets Devices Heonmin LimSenior Software Engineering Lead
Session AbstractWindows 10 makes it easy to build a phoneIntroduction of concepts and overall end-to-end process to bring up and ship a phone/tablet device
Topics:Overview of Windows 10 Mobile, tools & development flowWalkthrough of integrating component drivers into imageHow to build and customize Windows 10 FFU imageOEM application developmentCode signing, ManufacturingImage Updates
Intended Audience:OEMs, ODMs, IDHs, Driver Developers
ProcessToolsOptimizationServicing
Builds/KitsBSPDevelopment toolsDrivers, Services
Big Picture
Bringup Test Validation
Design
SoCHW Components
Manufacturing
Updates
HLKDebugging
Test supportUpdate Servers
Windows Mobile Architecture OverviewSame Windows KernelSupplemented by Phone specificbinaries that form Mobile Core
OEM RolesIntegrates Silicon Vendor provided BSPSelects IHV componentsAdds drivers, services, differentiationConfigures Mobile Operator RequirementsDetermines ISV apps, services, preloadsAdopts Manufacturing tools & process
Overall Development Flow
Windows vs Windows Mobile : Same Look and feel Architecture (UEFI, boot manager, kernel) Drivers, services, app models Visual Studio, WDK, SDK, KMDF, UMDF,
HID, BT HCI, NDIS Windbg
Windows vs Windows Mobile : DifferentSmaller Screens, StorageBattery powered, Connected StandbyPackage based image changes (no msi
installation)No desktop mode, no cmd, no console, no
Device ManagerTouch first (capacitive touch)Customizations, differentiations, OEM added
componentsMobile Operator dependencyVoice-Call stack
Windows Mobile 10 Hardware RequirementsFirmware
UEFI 2.3.1Secure boot enabledMemory2GB for 64-bit512MB for 32-bitStorage>= 4GB of flashGraphicsDirectX 9ButtonsRequired – Power, Volume Up/DownStart, back, search required for phones that use WVGA display
3 – 7.99”
Resolution Memory2560x2048 (QSZGA) and higher
>= 4GB
2048 x 1152 (QWXGA) to 2560 x 1600 (WQXGA)
>= 3GB
1440 x 900 (WSXGA) to 1920 x 1200 (WUXGA)This range includes:1920 x 1080 (FHD/1080p)
>= 2GB
960 x 540 (qHD) to 1366 x 768 (WXGA) This range includes: 1280 x 720 (HD/720p)1024 x 600 (WSVGA)
>= 1GB
800 x 480 (WVGA) to 854 x 480 (FWVGA)
>= 512 MB
NewMSM8909MSM8208MSM8994MSM8992MSM8952
UpdateableMSM8x10MSM8x12MSM8916
Component Windows “Mobile”
Required for phones. Data and voice supportedPrimary, Loudspeaker, Earpiece required for phonesHeadphone/headset jack required for phones802.11b/g required for phonesOptional. E.g. Accelerometer, Magnetometer, ALS, Proximity, GyroscopeVibration mechanism requiredOptional. If implemented, Two-Finger touch, must be HID compliantPower, Volume up and Volume down required. Start, Back, Search required for WVGA screen.
Cellular radioAudioConnectorsWirelessSensors NotificationTouchButtons
Please attend session: ”Minimum System HW Requirements and Compatibility for Windows Platforms”“Enabling Hardware Components for Phones and Small Screen Tablets”
OEM/ODM Onboarding Easy-to-use Portal: Tools, Kits, Docs,
Agreements Ability to file bugs directly with Microsoft Multiple user management via admin
account No onboarding requirement for Phone
Resellers1
1: Starting Windows 10 with pass-through agreements
Install OS KitsSetup development computer
Visual Studio 2015Windows SDK 10Windows Driver Kit 10Windows Assessment and Deployment Kit - Windows 10Windows Mobile 10 OSWindows Mobile 10 debug symbolsHardware Lab Kit
OS Image Build Process
Image building is simply combining series of package files to generate a FFU file, “flash.ffu.” There is no code compiling during the process
WICD
SOC pkgs
MS OS pkgs
OEM pkgs
OEMInput.xmlDefines which packages to
include
FFU
sign
WICDWindows Imaging and Configuration Designer Single Unified WICD across all Windows
Streamlines imaging tasks Creates model/reference images, deployment solutions, device provisioning packages,
customizations and deployment/provisioning OEMs can create customized images via the WICD wizard UI with predefined templates
Supports command line
Please attend session: “Windows 10 for phones and small screen tablets Manufacturing End-to-End Overview”
OS ImageOEM builds OS image for OEM built hardware
OS Kit {BSP + OS + Customization}.spkg files Mobile OS image, FFU (Full Flash Update)“Flashing” = writing whole OS image as a single eMMC write task
FFU partition GPT, partitionsDPP, MODEM, PBL, SBL, NV, UEFI, TZ, RPM, PLAT, … EFIESP, MMOS, MainOS, Data
Silicon Vendor+ Microsoft define partition layouts per each chipset.
Engineering Devices SOC vendor provides Reference Devices OEM Engineering DevicesNot retail locked, can boot with TEST signed FFU, no secure boot enabled, mass storage mode, windbg, JTAG debugging possible
OEM Retail DevicesFinal end user device. PRODUCTION signed FFU only
Additional SW Components OEM may need to create or modify Boot,
UEFI & ACPI for bring-up
Develop drivers and native services as necessary
Driver DevelopmentWDK is same for Windows 10 Desktop & Mobile
Windows Mobile is different All drivers go in to spkg, built into FFU during image creation time No user initiated driver installation
Please attend session: “Introduction to Driver Development on Windows”
User mode and Kernel modeVirtual Address SpacePool MemoryIRQL (Interrupt Request Level)Servicing InterruptsSynchronizationACPIIRP (IO Request Packet)
I/O Control CodeDevice Node……..
DebuggingRemote windbg via USBPC
Debugger ‘windbg’ runs on PC Has symbol files, source codes
Target Phone Device being debugged USB port; kdusb, kdnet
Tshell provides remote cmd line shell
USB
Please attend session“Driver Testing and Debugging”
TestHardware Lab Kit (HLK) provides test coverage to assess compatibility with Windows, and offers automation and scale capabilities
Please attend sessions and labs“Testing Drivers with the Hardware Lab Kit (HLK)”“Driver Testing and Debugging”“Lab: Using the Hardware Lab Kit (HLK) for Driver Testing”
CustomizeMobile device requires complex customizationsCustomization ItemsBoot ScreenBattery Charging behaviorShutdown ScreenInitial Language SelectionPartner AccountCellular ConfigurationData connectionNITZ, automatic time updateLTE configurationOperator brandingCountry TableButton configuration
Auto Brightness Control patternMap dataActive Phone Cover SettingsDialer CodesEmergency Phone NumbersVisual Voice MailAudio Volume LimitationCellular + SIM SettingsTelecoil and TTY supportsEmail + Accounts settingsKeyboard settingsLock Screen settings
SMS/MMS Messaging settingsPeople/Contact settingsRingtonesWi-Fi settingsUSB settings
Windows ICD – Customizations Example Pick from “Available
Customizations” Edit as necessary Customization XML
Generated by saving project as provisioning package
Supports both static and dynamic customizations
Application DevelopmentVisual Studio 2015 + App SDK Windows 10 Mobile supports Universal AppsApp Installation options Using Visual Studio, download to developer unlocked phones End user download & installation from Store (No .msi install) OEM preloaded app during FFU image creation time Create .spkg WICD includes it into FFU App installs during OOBE
Please attend session“The Windows 10 Universal Platform: building one app that targets the entire spectrum of Windows devices”
OEM ApplicationsManufacturing, OEM, MO specific appsNo more RPAL (Restricted Private Allow List) SDK All APIs are moved to public in Universal App framework App privileges/capabilities will be controlled by Store publication control
mechanism OEM accounts can publish these apps
Current Windows Phone 8.0, 8.1 RPAL apps in store will continue to work in Windows 10 Mobile
Windows 10 Manufacturing FlowImage
Creation
SMT
OS flash PCBA testing
Device assembly
Device testing
Service programmin
g
QA sampling
Packing
Windows 10 Mobile InvestmentsWindows Image Configuration & Designer
(WICD)FFUtool enhancementsManufacturing Mode of Retail OSMMI improvementsRefurbishment SupportNo OVK requirementPlease attend session“Windows 10 for phones and small screen tablets Manufacturing End-to-End Overview”
Image Signing OverviewBuild
Production FFU for
Image and FW
validation
Submit Test Signed
Packages for Retail
SigningUse BSP Ingestion Client
Microsoft Signs
Download Signed
Packages
Use BSP Ingestion Client
Validate on Retail Phone
Mass Productio
n
Use OS Kit
Build Retail FFU
Submit FFU Catalog
For Retail Signing
Mobile Operator Technical
Acceptance
Microsoft Signs
Download Signed
Catalog files
Combine Signed
Catalog with Retail FFU
NOTE: Different from “Windows Driver Signing, Publishing, Distribution and Servicing”
Update Process
Build and Retail Sign
Images
Use Ingestion Client
Microsoft Builds Update
Microsoft Publishes to
Preview Server
Validate OTA Updates on
Retail Phones
Work with MOs for
Technical Acceptance
(TA)
Approve specific
Devices+MOs
Microsoft Publishes to Production
Server
End Users receive
OTA updates
Submit Request for
Update
Please attend session “Upgrading to Windows 10”
DocumentationOffline Docs Available with Windows KitC:\Program Files (x86)\Windows Kits\10\DocsFile: Windows_10_Partner_Documentation.chm Updated versions distributed through Microsoft Publication site
Online Docs Windows Phone OEM portal Available through MSDN
Please Complete an Evaluation. Your input is important!Access Evaluation Forms:
© 2015 Microsoft Corporation. All rights reserved.
(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.