Porting BSP to Wince 6.0 5Th December, 2008 System Analysis
Total Page:16
File Type:pdf, Size:1020Kb
Porting BSP to WinCE 6.0 5th December, 2008 System Analysis Porting BSP to WinCE 6.0 System Analysis Copyright 2008 CodeConcept All rights reserved Prepared by: CC Team Last update: 5th December, 2008 Revision: 1.03 Revision Description Date By 1.01 First Draft 03 October, 2008 CC Team 1.02 Device driver related details added 10 November, 2008 CC Team 1.03 Porting BSP details added 05 December, 2008 CC Team 2008 is the year that this unpublished work was originally created. CodeConcept sp. z o.o., hereinafter referred to as “CodeConcept”, owns all rights to this work and intends to maintain this work as confidential so as to maintain this work as a trade secret. CodeConcept may also seek to maintain this work as an unpublished copyright. In the event of an inadvertent or deliberate publication, CodeConcept intends to enforce its rights to this work under copyright laws as a published work. Those having access to this work may not copy, use or disclose the information in this work unless expressly authorized by CodeConcept to do so. PORTING BSP TO WINCE 6.0 - SYSTEM ANALYSIS VER 1.03 081205 CC.DOC Page 1 of 31 Porting BSP to WinCE 6.0 5th December, 2008 System Analysis Table of Contents 1. Introduction ................................................................................................................................. 4 1.1. Purpose ................................................................................................................................ 4 1.2. Scope .................................................................................................................................... 4 1.3. Definitions, Acronyms and Abbreviations .............................................................................. 4 1.4. References ............................................................................................................................ 4 1.4.1. BSQUARE Site................................................................................................................ 4 1.4.2. Raza Microelectronics, Inc. Site ..................................................................................... 4 1.4.3. Microsoft MSDN Library for Windows Embedded CE 6.0 ............................................... 5 1.4.4. MSDN Magazine, the Microsoft Journal for Developers ................................................. 5 1.4.5. Windows Embedded MSDN Blog ................................................................................... 5 1.4.6. MEDC – Microsoft Mobile & Embedded DevCon 2006 ................................................... 5 1.4.7. WindowsForDevices site ............................................................................................... 5 2. Overview of Windows Embedded CE 6.0 changes ......................................................................... 6 2.1. API Deployment Scheme....................................................................................................... 6 2.2. Kernel-Mode Operation ........................................................................................................ 6 2.3. Memory Architecture ........................................................................................................... 6 2.4. Device Emulator ................................................................................................................... 7 2.5. Cell Technologies .................................................................................................................. 8 2.6. Location-Based Programming ............................................................................................... 8 2.7. Security Enhancements......................................................................................................... 9 2.8. Development Tools ............................................................................................................. 11 2.9. Shared Source and Windows CE Development .................................................................... 11 3. Device Drivel related details ....................................................................................................... 11 3.1. OS Layout ........................................................................................................................... 11 3.2. Device Drivers model .......................................................................................................... 17 3.2.1. Kernel-Mode Drivers ................................................................................................... 18 3.2.2. User-Mode Drivers ...................................................................................................... 18 4. Changes required to port BSP ..................................................................................................... 19 4.1. Introduction ........................................................................................................................ 19 4.2. Current state ...................................................................................................................... 20 4.3. Limitations .......................................................................................................................... 20 4.4. Changes .............................................................................................................................. 20 4.4.1. Boot Loader and KITL changes ..................................................................................... 20 4.4.2. OAE changes ............................................................................................................... 20 4.4.3. Separate kernel, OAL, and KITL .................................................................................... 21 4.4.4. Adopt the new OAL directory structure ....................................................................... 22 5. Changes required to port OAL and drivers .................................................................................. 25 PORTING BSP TO WINCE 6.0 - SYSTEM ANALYSIS VER 1.03 081205 CC.DOC Page 2 of 31 Porting BSP to WinCE 6.0 5th December, 2008 System Analysis 5.1. Introduction ........................................................................................................................ 25 5.2. Current state ...................................................................................................................... 25 5.3. Limitations .......................................................................................................................... 25 5.4. Changes .............................................................................................................................. 26 5.4.1. Access Checking .......................................................................................................... 26 5.4.2. Marshalling ................................................................................................................. 26 5.4.3. Secure copy................................................................................................................. 27 5.4.4. Thread permissions ..................................................................................................... 27 5.4.5. User Interface ............................................................................................................. 28 5.4.6. Embedded pointers ..................................................................................................... 28 5.4.7. Handles ....................................................................................................................... 28 5.4.8. Callbacks from user drivers ......................................................................................... 28 5.4.9. APIs limitations ........................................................................................................... 28 6. Time estimation ......................................................................................................................... 30 6.1. BSP conversion ................................................................................................................... 30 6.2. OAL conversion ................................................................................................................... 30 6.3. Drivers conversion .............................................................................................................. 30 6.4. SDK generating ................................................................................................................... 31 6.5. Testing ................................................................................................................................ 31 6.6. Estimations ......................................................................................................................... 31 PORTING BSP TO WINCE 6.0 - SYSTEM ANALYSIS VER 1.03 081205 CC.DOC Page 3 of 31 Porting BSP to WinCE 6.0 5th December, 2008 System Analysis 1. Introduction A new version of Windows CE triggers changes in CE projects’ design necessary to fit new system requirements. In opposite to previous versions of Windows CE adjustments are significant as a result of changes in kernel architecture. 1.1. Purpose The purpose of the paper is to present differences between Windows Embedded CE 6.0 and previous version of the Windows CE OS. It also includes information about all potential parts of project/code that should be modified