Module 2: Overview of System Development

Chia sẻ: Thu Xuan | Ngày: | Loại File: PDF | Số trang:30

lượt xem

Module 2: Overview of System Development

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'module 2: overview of system development', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:

Nội dung Text: Module 2: Overview of System Development

  1. Module 2: Overview of System Development Contents Overview 1 Selecting a Windows Embedded Operating System 2 Selecting a Windows Embedded Operating System (continued) 3 The Windows CE Platform Development Cycle4 The Application Development Options 13 Review 26
  2. Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, places or events is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.  2001 Microsoft Corporation. All rights reserved. Microsoft, MS-DOS, Windows, Windows NT, Visual Studio are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
  3. Module 2: Overview of System Development iii Instructor Notes Presentation: This module provides students with an overview of the system development 60 Minutes process for a Windows CE .NET project. It covers the decision making process of identifying which operating system suits your requirements, Window CE .NET or Windows XP Embedded. It also describes the Windows CE platform development cycle. After completing this module, students will be able to: Compare Windows CE .NET and Windows XP Embedded. Explain the platform development cycle. Describe the application development options. Materials and Preparation This section provides the materials and preparation tasks that you need to teach this module. Required Materials To teach this module, you need the following materials: Microsoft® PowerPoint® file 2530A_02.ppt Preparation Tasks To prepare for this module: Read all of the materials for this module. Module Strategy Use the following strategy to present this module: Selecting a Windows Embedded Operating System Briefly explain the differences between Windows CE .NET and Windows XP Embedded and discuss the questions that should be asked for arriving at the decision about which operating system should be used, Windows XP Embedded. The Windows CE Platform Development Cycle Describe the pattern of a typical project and the ways Windows CE .NET is designed to shorten the cycle by using rapid start and parallel development features. The Application Development Options Explain the Native and Managed development models and discuss the difference between the two.
  4. Module 2: Overview of System Development 1 Overview Topic Objective To provide an overview of the module topics and objectives. Selecting a Windows Embedded Operating System Lead-in The Windows CE Platform Development Cycle In this module you will gain an understanding of the The Application Development Options overall Windows CE development process, from choosing the operating system in the first place to final testing at the end. In this module, you will learn how to select between Windows CE .NET and Windows XP Embedded. You will then learn about the platform development cycle for Windows CE, including features that allow you to minimize development time by using parallel development. Finally, you will learn about the available tools and options for developing Windows CE applications. After completing this module, you will be able to: Compare Windows CE .NET and Windows XP Embedded. Explain the platform development cycle. Describe the application development options.
  5. 2 Module 2: Overview of System Development Selecting a Windows Embedded Operating System Topic Objective To describe the decision Selecting a Windows Embedded Operating System method for selecting between the Windows CE and Windows XP Yes Embedded operating Battery Powered? system. No Any CE Supported Lead-in CPU Architecture? Present a decision method X86 PC for selecting between the ~16 MB+ Yes No XP Embedded. Use Existing Applications? The first step in a Windows Embedded project is to select the right operating system according to your needs… The answers to these questions help you in selecting the right operating system: • Is your device battery powered? Delivery Tip Some people in this course • Which CPU architecture? may be evaluating Windows CE to decide if it is right for • Any RAM footprint limitations? their project. This topic helps to clarify them the key • Need to use existing Win32 applications and Windows drivers? differences between CE and XP. You may want to ask if there is any student in the class with this requirement, if no you can abbreviate the topic.
  6. Module 2: Overview of System Development 3 Selecting a Windows Embedded Operating System (continued) Topic Objective To compare the key features of the two operating Feature Windows CE Windows XPE systems. Disk Space 5MB - 56MB 500 k – 16MB Lead-in Image Size 200KB – 14MB+ 5 MB – 35 MB+ Some of the key differences Configurability Extremely modular Modular between CE and XPE are API Support Best of Win32 plus Complete Win32, same laid out in the table on the Windows CE-specific as XP slide…. enhancements CPU Support x86, MIPS, SHx, ARM Pentium class x86 Device Driver Fine-tuned for size Same as XP Security Improved over 3.0 Same as XP Development Windows 2000/XP Windows 2000/XP Environment Platform Builder Target Designer The Microsoft strategy is to offer a broad range of Windows-based, embedded operating-system solutions to meet the diverse needs of customers. Ultimately, the design requirements of your device determine the platform to be used. But understanding the development focus of each operating system may assist you in making this decision. Use Windows CE .NET for solutions requiring real-time, small footprint, battery power, low unit cost, and support for multiple processor types. Use Windows XP Embedded for solutions requiring the latest Windows technologies built on the x86 processor.
  7. 4 Module 2: Overview of System Development The Windows CE Platform Development Cycle Topic Objective Explain the platform development cycle. Getting Started Quickly With Platform Builder Lead-in The main stages of the Taking Advantage of Parallel Development development cycle in Windows CE are… Typical Project Timeline Moving from SDB to Custom Hardware The Iterative Development Process This section covers the main stages of a Windows CE platform development project and highlights the new features of Platform Builder that make projects faster and more efficient.
  8. Module 2: Overview of System Development 5 Getting Started Quickly with Platform Builder Topic Objective To create a base New Platform Wizard: configuration using the New provides a start Platform Wizard. Select a base configuration Lead-in for your platform The New Platform Wizard provides you with an instant Click initial features base configuration as a Click preconfigured BSP starting point for your project. . Basic configurations Starting point for the creation of an operating system Select from New Platform Wizard The first step in platform development cycle is to use Platform Builder to create a base configuration. You can use the New Platform Wizard in Platform Builder to quickly and easily configure your platform. Platform Builder Microsoft Platform Builder delivers all the tools developers need to build Delivery Tip Windows CE-based embedded systems. The Platform Builder Integrated The term Platform Builder is commonly used to refer to Development Environment (IDE) includes wizards and toolbars for creating the IDE interface alone, platforms and components, compilers, a full set of resource editors, a kernel though in fact Platform debugger, and a tool for exporting a custom software development kit (SDK). Builder includes the larger Platform Builder runs on Microsoft® Windows® 2000 Service Pack 2 set of tools and files that Workstation or Windows XP RC1 Professional (build 2505 or later). make it possible to build a working Windows CE image. New Platform Wizard The New Platform Wizard provides you with a series of interactive dialog boxes, which allow you to: Select a base operating system (OS) configuration for your platform. Choose initial operating system features. Choose a preconfigured Board Support Packages (BSP). After you have chosen your initial settings, the New Platform Wizard sets up the environment with files that support the operating system configuration you have selected. The Windows CE features included in your platform depend on the operating system configuration that you select. You can build a system with a little more than a kernel, a system with a complex graphical user interface (UI) and preinstalled applications, or any type of a system in between. Through a series of interactive dialog boxes, the New Platform Wizard enables you to select:
  9. 6 Module 2: Overview of System Development One of the many base configurations and their variants or any configuration in the catalog One of the preconfigured BSPs or one you have created yourself Additional applications and media you wish to include, such as Internet Browser, Pocket Word, and Media Player. Networking and communication options you wish to include, such as Infrared Data Association (IrDA), Bluetooth, and Point to Point Protocol (PPP). Any other features you wish to add using drag and drop. Basic Configurations Delivery Tip The basic configurations, Platform Builder provides basic configurations as starting points for the based on real-world device creation of an operating system. The configurations are provided to give you a types, are an important new start with a specific class of device. Configurations, in combination with a BSP, feature in Windows CE. are intended to reduce bring-up time and time to market. Once a basic These basic configurations configuration is chosen, you may modify it to suit your specific needs. replace the configurations in previous versions, such as Maxall and Minkern.
  10. Module 2: Overview of System Development 7 Getting Started Quickly with Platform Builder (continued) Topic Objective To introduce the Emulator CEPC Emulator and Standard Development Boards (SDB) options. A virtual target hardware platform on the workstation Lead-in What will you use as a Allows system development to begin without any target target device for early hardware attached, including applications and system development? You debugging have two main options…. SDBs and BSPs in Platform Builder Choose the board closest to your own architecture Sample board support packages are provided Develop for the board until your hardware is ready Windows CE .NET supports a wide variety of development platforms, both emulated and real. Delivery Tip CEPC Emulator Point out that the emulator A tool designed to emulate the behavior of hardware, built using Platform and the wide range of SDBs supported by BSPs are new Builder on a standard workstation. The Emulator has been integrated into features of Windows CE Platform Builder so that users can create a virtual hardware reference board .NET. In previous versions, instead of using a CEPC to test their platforms. only two hardware platforms were supported out-of -the- SDBs and BSPs in Platform Builder box: CEPC and ODO. Out-of-the-box BSP support is provided for nine commercial off-the-shelf (COTS) hardware reference platforms also known as Standard Development Boards (SDBs) that cover the full range of supported microprocessors. The For Your Information generic CEPC platform is also supported. This out-of-the-box support allows The BSPs and SDBs were OEMs to quickly evaluate their operating system features on their reference listed in Module 1, hardware and cut down on time to market issues while designing products with “Overview of Microsoft Windows CE. Windows CE .NET”, in Course 2530A, “Introduction to Windows CE .NET”.
  11. 8 Module 2: Overview of System Development Taking Advantage of Parallel Development Topic Objective Describe the advantages of parallel development. Lead-in Linear Development Model One way to compress the development schedule is Port H/W Customize OS Develop Apps using parallel development… Parallel Development Model Develop Apps Customize OS Port H/W Windows CE .NET is designed to reduce or eliminate dependencies in the development cycle that tend to extend the time frame of a project. Work on customizing the Windows CE operating system is not dependent on the development of custom hardware and the bring-up of Windows CE on that hardware. Operating system customization can begin on Platform Builder Emulator, then move onto a CEPC or a wide variety of SDBs, and finally onto custom hardware when it is brought up. Likewise, application development is not dependent on the completion of platform development. Native application work can begin in the emulation environment of eVC, and then can move onto SDBs and custom hardware as these become available. Likewise managed applications can be developed using only Visual Studio .NET with Smart Device Extensions, then moved to hardware when it’s available. As a result it is possible to have a porting team, a customization team, and an applications team working in parallel to achieve the shortest overall development time frame.
  12. Module 2: Overview of System Development 9 Typical Project Timeline Topic Objective Project Complete Porting Complete Explain the typical project Hardware Stable % Complete timeline. Lead-in Here is a project timeline that demonstrates parallel development in practice… QA Early Testing Final Validation App Dev on H/W App Development on SDB Apps OS Optimization on H/W OS Customization on SDB OS Driver N Porting Driver B Driver A OAL Boot loader Time The illustration in the slide shows how the main platform development tasks fit into a typical project timeline. In a typical platform development scenario, you first build a basic operating system image, download it to a hardware For Your Information development platform, such as a Standard Development Board (SDB) or the For more information about Emulator, and then refine and debug the platform. After refining and debugging porting, see course 2535A, the platform, you adapt it for your custom target device. If you are not using a “Developing a Board standard BSP, you must create a boot loader and an OEM Adaptation Layer Support Package for (OAL) before you can download your operating system image to your target Microsoft Windows CE device. You use a boot loader to download code such as an operating system .NET” and for more image to a target device. information about advanced operating system and application techniques, see course 2540A, “Developing Embedded Solutions Using Microsoft Windows CE .NET”.
  13. 10 Module 2: Overview of System Development Moving from SDB to Custom Hardware Topic Objective To explain how the On a Standard On your custom hardware development cycle typically Development Board when it is available begins on an SDB and (SDB) and/or Emulation Create the Board Support moves to custom hardware Configure the operating Package (BSP) when it is available. system •Bootloader Lead-in Build the operating •OAL Let’s take a closer look at system image which tasks can be done on •Device Drivers an SDB and which tasks Debug the operating Rebuild the system using must be done on custom system image your new BSP hardware… Generate a Platform SDK Debug and test on Develop your applications hardware Integrate and test Produce and deploy Much of the necessary development work for a Windows CE project can be For Your Information accomplished on a SDB, before your custom hardware is ported. You can This course does not cover customize the platform by adding or removing features. You can localize the custom hardware BSP platform to adapt the operating system for a specific international market or development. Course 2535, locale. You can add a feature provided with Platform Builder, and you can add "Developing a Board features that you create, which are referred to as user features. In Platform Support Package for Microsoft Windows CE Builder, you create a project using a project wizard, and the project has an .NET” covers those topics in associated Platform Builder project (.pbp) file. The types of projects you can detail. create include applications, transport layers, static libraries, and dynamic-link libraries. If your project includes custom hardware, the operating system may need to be ported to the new hardware. This involves creating a new BSP specific to your hardware, including a custom OAL and production quality device drivers. When you create a BSP, you specify a collection of features that, as a package, offer a default level of functionality for a platform. A board support package (.bsp) file contains the default set of drivers for each available configuration and defines which set of features are added to your platform when you create a new platform with the New Platform Wizard. Before you create a .bsp file, you must create the .cec files, which define your set of features, and import the features into the Catalog. Boot Loader Development The Windows CE boot loader is code that resides on a Windows CE target device. The boot loader manages the boot process of the device by initializing the device, downloading the operating system image, and starting the image on the device. Because the boot loader is used only for development, it resides only on the device. You do not need to include it with your Windows CE platform. Platform Builder provides sample code for each development platform that is supported. To properly initialize your target development board, you can develop a boot loader by simply modifying one of the sample boot
  14. Module 2: Overview of System Development 11 loaders provided in Platform Builder. You can also develop a boot loader separately to incorporate processes specific to your platform. OAL Development An OAL is the layer between the Windows® CE kernel and the hardware of your target device. You create the OAL, from initial configuration of the CE kernel and platform startup through the addition of device-specific functionality and enhancement. Device Driver Development A device driver links an operating system and a device, making it possible for the operating system to recognize the device and to present the device's services to applications. All device drivers in Windows CE are dynamic-link libraries (DLLs). Built-in devices are integral to a Windows CE-based platform and are installed by the platform manufacturer. Display screens and PC Card or USB controllers are often built-in. Installable devices are third-party peripheral devices that end users can connect to a Windows CE-based platform using appropriate hardware sockets at any time. Printers and PC Card devices are two examples of installable devices.
  15. 12 Module 2: Overview of System Development The Iterative Development Process Topic Objective To describe the iterative development process. Lead-in What does the work flow look like in a CE development project? It is an iterative process… The illustration in the slide demonstrates the iterative process of building, downloading, and debugging the operating system image repeatedly while adding feature, enhancements, applications, and moving from a development board to custom hardware. To build a platform based on Microsoft Windows CE .NET, you select a Windows CE configuration, install or create an OAL and device drivers, build an operating system image based on your configuration, and develop a boot loader to transfer your image to a target device. In a typical platform development scenario, you first download your image to a hardware development platform, such as the Windows CE PC-based hardware development platform (CEPC). Platform Builder includes boot loaders and BSP for this, and many other hardware development platforms. After refining and debugging your platform on a hardware development platform, you adapt it for your custom target device. You must create a boot loader and an OAL before you can download your operating system image to your target device. Once you have completed your platform, you use the Export SDK tool to export a custom SDK. Application developers can import your SDK into eMbedded Visual C++ and write applications for your platform, which can then be rolled back into the platform image.
  16. Module 2: Overview of System Development 13 The Application Development Options Topic Objective Describe the application development options. Native Application Model Managed Application Model Lead-in Visual Studio .NET eMbedded Visual Tools There are two basic models with Device Extensions for Windows CE application programming: Native and Managed. Before we C or C++ C# or VB .NET discuss each model in more detail, let’s take a look at Applications for this diagram, which shows Win32 Applications .NET Compact Framework the high level relationship Compiled Runtime between the two. Windows CE .NET Operating System Code that targets the .NET Compact Framework’s Common Language Runtime, such as Visual Basic .NET and C# .NET, is known as managed code. Code that does not target the runtime, as is the case with eMbedded Visual C++, is known as unmanaged or native code. This section describes the application development options for Windows CE projects under the following headings: The Embedded Visual Tools (Native) Application Model Delivery Tip Unlike the Win32 APIs, the What is eMbedded Visual C/C++? Common Language The eVC Application Development Environment Runtime is an optional feature of the operating The Managed Application Model system provided by the .NET Compact Framework. Comparing Native or Managed Applications Note The application development environment supported by Windows CE .NET are Visual Basic .NET and C# (using the .NET Compact Framework) and eMbedded Visual C++.
  17. 14 Module 2: Overview of System Development The Embedded Visual Tools (Native) Application Model Topic Objective To explain the Embedded Based on Win32 API Visual Tools programming model. Windows CE subset familiar to Win32 programmers Lead-in Some APIs specific to Windows CE: Database and Thread Embedded Visual Tools are handling the Windows CE version of Microsoft’s standard Visual Visible and non-visible windows with message Studio tools… processors WndProc WndMain When developing a program for Windows CE, you must first determine the hardware platform and processor on which your program is going to run The Windows CE operating system is based on the Win32 application programming interface (API). The fundamentals of programming for Windows CE closely parallel programming for Windows 98, Windows NT, and Windows 2000. As with the other Windows operating systems, Windows CE is an event- driven programming model. A Windows CE-based program receives messages, interprets the messages, and acts on the messages. A Windows CE program has one or more windows that receive and process Delivery Tip messages in a message loop. The windows can be visual or, for an application For detailed instruction on Windows programming that does not require a user interface, windows can be non-visible. Each techniques, there are window has a window handle (hwnd) associated with a message processor that several comprehensive handles the messages for the window. You can also use the window handle to books on Windows or call any related function. Windows CE programming. Programming Windows 98 Like any other Windows-based program, a Windows CE program has two by Charles Petzold or primary functions, a message processor, usually called WndProc, and Programming Microsoft WndMain, which provides an entry point to the program. The WndProc Windows CE by Douglas function processes messages for the Window. In general, an application Boling are available from processes only those messages that are relevant to it, and passes other messages Microsoft Press. back to the operating system. In addition to being the primary message process for an application, WinMain also handles initialization and shutdown. When developing a program for Windows CE, you must first determine the hardware platform and processor on which your program is going to run. You must also know the hardware configuration for which you are developing the program. Because Windows CE is a modular operating system, an original equipment manufacturer (OEM) chooses specific modules and components to configure Windows CE devices. You may have to consider, for example, the memory that will be available to your application.
  18. Module 2: Overview of System Development 15 What is eMbedded Visual C/C++? Topic Objective Similar to Microsoft Visual C++ To describe eMbedded Visual C++. Special features specific to Windows CE Lead-in Built in compilers and linkers for supported processors The primary development tool for Windows CE Debug tools, remote tools, and platform manager application development is eVC… Emulation environment to develop without device API differences between CE and Desktop All redundant WIN32 API functions are removed If the function is part of an API that is not supported by Windows CE, you will have to find another solution If Windows CE supports the feature, you must find functions in Windows CE that can be combined to support this feature Microsoft eMbedded Visual C++ (eVC) provides an Integrated Development Environment (IDE) designed for developing applications for Windows CE devices. It consists of an integrated set of windows, tools, menus, toolbars, directories, and other elements to help create, test, and debug a Windows CE application. If you have developed applications with Microsoft Visual C++, you will find that eVC provides a very similar development environment. However, unlike Visual C++, eVC provides tools and resources designed especially for creating Windows CE applications. Along with the SDKs, it includes only those language components that are supported for the Windows CE platforms. The default project settings are configured for the Windows CE platforms, and the debugging tools are designed to test applications on CE device simulators or the target devices. The components of Visual CE include: Project workspace Project workspace is used to organize projects and the components within the projects. Text editor Text editor is used to write and edit code. Resource editors Resource editors are used to design and modify resources, such as dialog boxes and menus. Compilers Different eVC compilers are used to compile programs for different CPU architectures supported by Windows CE. Windows CE device emulators Windows CE device emulators are used to test applications on the local computer.
  19. 16 Module 2: Overview of System Development Note Do not confuse eVC emulation with the emulator in Platform Builder. Platform Builder emulates supported target hardware so you can develop and test the operating system image you build, which may or may not include your application code. eVC emulates the operating system so that you can develop and test your application code without having to build it into an operating system image. You do not need Platform Builder to use eVC emulation. Platform manager Platform manager is used to load and test applications on a Windows CE Device. Debugger Debugger is used to control step-by-step execution and breakpoints. AppWizard AppWizard is used to create working frameworks for various types of applications target platforms. Source browser Source browser is used to examine and edit functions and classes in a program and quickly see relationships between them. ClassWizard ClassWizard is used to automate maintaining class code. Windows diagnostic tools Windows diagnostic tools, such as Windows CE Remote Spy (Cespy.exe), are used to provide additional programming and debugging capabilities. Online documentation and help Online documentation and help provide quick reference for eMbedded Visual C++ features and programming elements. API Differences between CE and the Desktop If you are familiar with Win32 programming, you will notice that there are some API differences when programming applications for Windows CE. In Windows CE, all redundant WIN32 API functions are removed. For example, on the desktop text can be drawn with calls to TextOut and ExtTextOut, and windows can be created with CreateWindow and CreateWindowEx. On CE, the feature-rich versions of these function pairs – ExtTextOut and CreateWindowEx – are implemented, while the less feature- rich functions are not. When you find that your favorite function is not present, you have two choices: If the function is part of an API that is not supported by Windows CE, you will have to find another solution. If Windows CE supports the feature, you must find functions in Windows CE that can be combined to support this feature. Windows CE does not support some API functions, for example, security functions, linking and embedding features of OLE, and ANSI functions.
  20. Module 2: Overview of System Development 17 Note In Windows NT, all Win32 API functions that take at least one parameter that is a string are duplicated. One API function takes ANSI string(s) as parameter(s) (1-byte character), while the other API function takes Unicode string(s) (2-byte character). For example, the GetModuleFileName API function has two implementations: GetModuleFileNameA for ANSI and GetModuleFileNameW for Unicode. In Windows CE, only GetModuleFileNameW is implemented. Some API functions are not fully supported for reasons related to memory and architecture. For example, TAPI, Winsock, Printing, and User/GDI are not fully supported. Some complex API functions that support a wide range of options are simplified to provide support for only some flags. For example, the CreateFile API does not support the FILE_FLAG_TEMPORARY and FILE_FLAG_OVERLAPPED flags.
Đồng bộ tài khoản