Module 2: Configuring Windows CE.  Overview Introduction to Platform Builder Platform Development Life Cycle Setting up the CE Device Modifying a Platform.

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

Device Drivers Witawas Srisa-an Embedded Systems Design and Implementation.
Building Embedded Systems With Windows® CE Platform Builder 3
Developing Windows ® CE Applications With Visual Basic ® Larry Roof tonked
MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
Exploring the UNIX File System and File Security
Using Visual Basic 6.0 to Create Web-Based Database Applications
MCT260-Operating Systems I Operating Systems I Introduction to Operating Systems.
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
1 CE6130 現代作業系統核心 Modern Operating System Kernels 許 富 皓.
Lesson 4-Installing Network Operating Systems. Overview Installing and configuring Novell NetWare 6.0. Installing and configuring Windows 2000 Server.
Information Networking Security and Assurance Lab National Chung Cheng University F.I.R.E. Forensics & Incident Response Environment.
Wireless Ad Hoc and Sensor Networks Lab1. 2 Objective Comprehend how to setup and use the wireless communication devices, Jennic Evaluation System. You.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Application Development for Windows CE Devices
EMB313 Increasing Developer Productivity With Windows CE 5.0 Matt Young Windows Mobile Joint Development Program (JDP) Microsoft.
Introduction to CCSv5. Outline  Intro to CCSv5 Intro to CCSv5  Functional Overview Functional Overview  Perspectives Perspectives  Projects Projects.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC as a Linux Computer January.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
EMB313 Increasing Developer Productivity With Windows CE 5.0
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
Getting Started Installing GreenHills and Net+OS Setting up the Development Board Building the Sample Application.
Introduction to Embedded Software Development School of software Engineering OS Development.
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
©Kwan Sai Kit, All Rights Reserved Windows Small Business Server 2003 Features.
So just what is the Sedona Framework? –The Framework is an embedded device programming and control environment with two major facets –Open Source Free.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Using Visual Basic 6.0 to Create Web-Based Database Applications
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
Chapter 2 – Software Part A. Definition Computer is made up of two components Hardware Physical components Software Instructions for the computer Two.
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
2. Introduction to the Visual Studio.NET IDE. Chapter Outline Overview of the Visual Studio.NET IDE Overview of the Visual Studio.NET IDE Menu Bar and.
Chapter Two Exploring the UNIX File System and File Security.
Debugging an Application Lab. Build/Debug Process A start Load Closest Sample “debug” into MULTI editor Cut and Paste Changes into Sample Build Modified.
Chapter Two Exploring the UNIX File System and File Security.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
Windows CE Development
Work package 4: User Interfaces for Embedded Systems Karin Coninx Jan Van den Bergh.
Source Controller software Ianos Schmidt The University of Iowa.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Windows ® 2000 Debugging André Vachon Development Lead Windows Debuggers Microsoft Corporation.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Overview of Windows Driver Development Reference: us/gstart/hh/gstart/gs_intro_031j.asp.
Automating Installations by Using the Microsoft Windows 2000 Setup Manager Create setup scripts simply and easily. Create and modify answer files and UDFs.
Downloading a new OS kernel to the EBox. Connecting to the eBox Use Network Cable to connect Need to decide if you will be using a Static IP or DHCP Details.
Embedded Real-Time Systems Introduction to embedded software development Lecturer Department University.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Exploring Networked Data and Data Stores Lesson 3.
Develop VB in WinCE Maker : Axel Chou. Introduction to WinCE 3.0 One of the Microsoft Embedded System –WinCE 3.0 –Embedded NT 4.0 Customize : Minimize.
© 2002, Cisco Systems, Inc. All rights reserved.
Create setup scripts simply and easily.
Guide to Linux Installation and Administration, 2e
CO6025 Advanced Programming
Java programming lecture one
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
Module 2: Configuring Windows CE
Module 1: Introduction to Windows CE
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Overview of System Development for Windows CE.NET
Presentation transcript:

Module 2: Configuring Windows CE

 Overview Introduction to Platform Builder Platform Development Life Cycle Setting up the CE Device Modifying a Platform Understanding the Build Process Adding Components to the Platform Builder Catalog

Introduction to Platform Builder Windows CE OS Configurations Embedded Windows CE Development Tools Compilers IDE-based debugger Windows CE remote tools Export SDK Integrated Development Environment (IDE) Run-Time Libraries Sample Code

 Platform Development Life Cycle Configure Platform Create Platform Modify Platform Modify OAL Modify Configuration Files Bootloader Device Drivers Applications Export SDK Add components to catalog Build Make Platform Headers Compiling Linking Make NK.BIN Image Download Connect via Ethernet, Parallel, or JTAG Copy NK.BIN to device Start Windows CE Debug Monitor Iterative Process

Creating a Platform CBD

Creating a Platform ( continued ) CBD

CBD

CBD

Building a Platform CBD

Making an Image All.BIB Files All.REG Files FileSystem(.DAT) Files All Default Database (.DB) Files Compress REGINIT.INI NK.BIN Language Strings DLLs and EXEs as per CE.BIB CE.BIB REGINIT.INI INITOBJ.DAT INITDB.INI DEFAULT.FDF CBD Merge

 Setting up the CE Device Setup Device The Board Support Package (BSP) Set up Download Services Ethernet Settings BOOTME Record Set Current Device Download From Platform Builder to a CE Device

Setup Device Cables Connecting Dev Workstation Download Adapter Settings Video Adapter Settings Device-Specific Configuration Issues

The Board Support Package (BSP) Device-Specific Files Boot Loader OEM Adaptation Layer (OAL) Device Drivers Platform Builder Includes Some BSPs CEPC ODO BSP Location: \wince300\platform

Set up Download Services CBD

Ethernet Settings CBD

BOOTME Record CBD

Set Current Device CBD

Download From Platform Builder to a Windows CE Device CBD

Demonstration: Configuration, Build and Download

LabA: Configuring, Building and Downloading Windows CE

 Modifying a Platform Choosing a Reference Configuration Directory Structure of Platform Builder Platform Settings Modifying Configuration Files Building a Selected Component

Choosing a Reference Configuration Microsoft provides eight reference configurations MINKERN: Memory-minimal version of Windows CE Memory, process, and file management Heap and memory allocation Registry and databases MININPUT: Minimal version of Windows CE User input Native driver support (keyboard, display)

Choosing a Reference Configuration ( continued ) MINCOMM: Minimal version of Windows CE with communications Data communication : IRDA, Serial, TAPI, Networking: TCP/IP, PPP, WinInet, Secure Socket MINGDI: Minimal version of Windows CE with graphical device interface support MINWMGR: Includes most of the main modules and components Window management, graphics, and drawing support COM support Communication

Choosing a Reference Configuration ( continued ) MINSHELL: Nearly complete version of Windows CE Command processor (similar to CMD.EXE) Task manager MAXALL: Includes most modules and components Microsoft Message Queue (MSMQ) Pocket Word, Pocket Internet Explorer IESAMPLE: Sample version with Internet Explorer 4 MAXDX: DirectX

Directory Structure of Platform Builder The Platform Directory The Public Directory The SDK Directory The Others Directory

The Platform Directory Hardware-specific files Location: %_WINCEROOT%\Platform Each directory represents a Windows CE–specific platform adaptation CEPC for x86 reference platform ODO for Hitachi reference platform ODODub for ODO with dial-up boot loader SDB8XX for Blue Planet reference platform Place your platform-specific files in this directory

The Public Directory Platform-independent set of components and configurations Location: %_WINCEROOT%\Public Three types of subdirectories: Module and component subdirectories (Common, Wceshellfe, Wceappsfe, IE, MSMQ) Reference configuration subdirectories (Minshell, Maxall, etc.) Custom configuration subdirectories

The SDK Directory Location: %_WINCEROOT%\SDK Contains tools and library to support Platform Builder Processor compilers (x86, SH3, Arm, MIPS) Development tools Remote tools

The Others Directory Location: %_WINCEROOT%\OTHERS Contains: Run-time libraries (VB, MFC, ATL) Platform Manager component ATL and MFC Samples Device driver test tools

Platform Settings

Modifying Configuration Files.BIB files.REG files.DAT files.DB files

The Configuration Files:.BIB Files Indicate module/component to be included in the image Text files with four types of sections: The FILES section: Memory reservation for static data files The MODULES section: Specifies object module to be loaded in memory ;NamePathMemory Type Tahoma.ttf $(_FLATRELEASEDIR)\Tahoma.ttf NK SHU ;NamePathMemory Type Tahoma.ttf $(_FLATRELEASEDIR)\Tahoma.ttf NK SHU Taskman.exe$(_FLATRELEASEDIR)\Taskman.exe NK

The Configuration Files:.BIB Files ( continued ) The MEMORY section: Platform memory information The CONFIG section: Define other image information (compression, ROM size) NameStart addressSize(bytes) Type NK8C RAMIMAGE RAM8C AFFFFRAM NameStart addressSize(bytes) Type NK8C RAMIMAGE RAM8C AFFFFRAM

The Configuration Files:.REG Files Define default registry settings COMMON.REG, IE.REG, MSMQ.REG, WCEAPPS.REG, WCESHELL.REG - registry settings for Windows CE modules PLATFORM.REG: platform-dependent registry settings (device drivers entries) PROJECT.REG: Application entries, autolaunch As a.reg file in Windows NT [HKEY_LOCAL_MACHINE]\Init “Launch10”=“shell.exe” “Launch20”=“device.exe” [HKEY_LOCAL_MACHINE]\Init “Launch10”=“shell.exe” “Launch20”=“device.exe”

The Configuration Files:.DAT Files Define folder structures of your image COMMON.DAT, IE.DAT, MSMQ.DAT, WCEAPPS.DAT, WCESHELL.DAT PLATFORM.DAT PROJECT.DAT Example: Root:-Directory(“Program Files”) Directory(“\Program Files”):-Directory(“My Projects”) Root:-Directory(“My Documents”) Directory(“\My Documents”):-File(“MyFile.doc”) Root:-Directory(“Program Files”) Directory(“\Program Files”):-Directory(“My Projects”) Root:-Directory(“My Documents”) Directory(“\My Documents”):-File(“MyFile.doc”)

The Configuration Files:.DB Files Define default image databases COMMON.DB, WCEAPPS.DB, WCESHELL.DB PLATFORM.DB PROJECT.DB

Building a Selected Component

Lab B: Fine -Tuning the Build Process

Understanding the Build Process Overview of the Build Process Step 1: System Generation Step 2: Compile and Link Phase Step 3: Building the Flat Release Directory Step 4: Making an (NK.BIN) Image

Overview of the Build Process COMMON DCOM DIRECTX IE MSMQ SCRIPT SERVERS WCEAPPSFE WCESHELLFE..\cesysgen\ddk..\cesysgen\oak..\cesysgen\sdk Step 1. System Generation Step 2. Compile & Link Step 3. Build Release Directory Step 4. Make Image NK.BIN..\platform\.. C:\WINCE300\PUBLIC\ pc2MinKern\RelDir\ X86_Debug>

Step 1: System Generation (CESYSGEN.BAT) Complete header files (.h) Complete system libraries Module definitions (.def) Cesysgen.bat System-specific header files Linked libraries Specific.def files SYSGEN.BAT

Step 2: Compile and Link Phase Compile source code (directories and subdirectories) Process Uses DIRS files to determine which subdir to compile Uses SOURCES files to determine which files to compile Calls NMAKE.EXE to compile and link object modules Creates a binary file into a “target” folder for.exe,.dll (ex : Target\Shx\Sh3\CE\Debug) Creates a binary file into a “lib” folder for.lib (ex : Lib\Shx\Sh3\CE\Debug)

Step 2: Compile and Link Phase ( continued ) DIRS file Lists subdirectories to build Subdirectories can contain DIRS files Example : DIRS =\ Display \ Mouse \ Keyboard \ Ethernet DIRS =\ Display \ Mouse \ Keyboard \ Ethernet

Step 2: Compile and Link Phase ( continued ) SOURCES file Provides build.exe information, i.e., which file to compile, which type of module to build (.exe,.dll,.lib) Example: TARGETNAME = Kbdmouse TARGETTYPE = Dynalink DLLENTRY = DllMain TARGETLIBS = \ $(_COMMONSDKROOT)\Lib\$(_CPUINDPATH)\Coredll.lib INCLUDES = $(_COMMONSDKROOT)\Inc SOURCES = \ ioport.cpp \ vgaports.cpp \ TARGETNAME = Kbdmouse TARGETTYPE = Dynalink DLLENTRY = DllMain TARGETLIBS = \ $(_COMMONSDKROOT)\Lib\$(_CPUINDPATH)\Coredll.lib INCLUDES = $(_COMMONSDKROOT)\Inc SOURCES = \ ioport.cpp \ vgaports.cpp \

Step 3: Building the Flat Release Directory Copies all platform files in the release directory Copies all binaries in the release directory Build all Platform Builder Projects (pbp) at the end of this step

Step 4: Making an (NK.BIN) Image Merges release folder files to make the Windows CE image Process Merge configuration files: All.bib files => CE.BIB (Windows CE files to be combined) All.reg files => REGINIT.INI (entire default registry) All.dat files => INITOBJ.DAT (directories, file location) All.db files => INITDB.INI (default databases) Compress reginit.ini in a binary registry file (DEFAULT.FDF) Replace resources in.exe and.dll for language adaptation From ce.bib, combine binaries and files into a Windows CE image (NK.BIN)

 Adding Components to the Platform Builder Catalog Creating a Component File The CECInfo Block The ComponentType Block The Implementation Block The BuildMethod Block Adding a Component File to the Catalog

Creating a Component File List of blocks in a text file that describes components to be included in the catalog Four types of blocks: CECInfo Block ComponentType block Implementation block BuildMethod block

The CECInfo Block Information about CEC file Example: CECInfo ( Name(cepc) GUID({1850C9B1-98A2-11d3-993F-00105AC7264F}) CECVersion(3.00) Vendor("Microsoft") Description("CEPC components") )

The ComponentType Block Component information to be associated with it Example: ComponentType ( Name (“OAL”) Description(“OEM Adaptation Layer”) Vendor (“Vendor name”) GUID( “{B3509B44-F1E4-11D2-85F }”) Implementations( Implementation( … ) ComponentType ( Name (“OAL”) Description(“OEM Adaptation Layer”) Vendor (“Vendor name”) GUID( “{B3509B44-F1E4-11D2-85F }”) Implementations( Implementation( … )

The Implementation Block Defines implementation for a component Example: Implementation ( Name (“Keyboard”) Description(“Keyboard Driver Tests”) Vendor (“Vendor name”) Date( “ ” ) GUID( {B45875B0-C CAD59E6C} ) CPU("default") Children () BuildMethods( BuildMethod( … ) Implementation ( Name (“Keyboard”) Description(“Keyboard Driver Tests”) Vendor (“Vendor name”) Date( “ ” ) GUID( {B45875B0-C CAD59E6C} ) CPU("default") Children () BuildMethods( BuildMethod( … )

The BuildMethod Block Provides information needed to build the component Example: BuildMethod( Step( “BSP” ) GUID( {EE70A F-4ba7-993F-2D04D98F47EF} ) InputFiles() OutputFiles() Action('#BUILD(SOURCES, "$(_WINCEROOT)\others\ddtk30\testsrc\realtime")') BuildMethod( Step( “BSP” ) GUID( {EE70A F-4ba7-993F-2D04D98F47EF} ) InputFiles() OutputFiles() Action('#BUILD(SOURCES, "$(_WINCEROOT)\others\ddtk30\testsrc\realtime")')

Valid Actions ActionsCesysgen Step BSP Step Buildrel step MakeImg Step #BUILD(DIR,…)NOYESNO #BUILD(SOURCES,… ) NOYESNO #BUILD(MAK, …)NOYESNO #CUSTOM(…,…)NOYES NO #COPY(…,…)YESNOYESNO #ENV(…,…)NOYESNOYES

The BuildMethod Block ( continued ) Three types of build methods: Build projects defined by DIRS or SOURCES files: Build projects defined by a platform builder project: Copy the module directly in the $_FLATRELEASEDIR: #BUILD(SOURCES, “$(_WINCEROOT)\Platform\Cepc\Drivers\Pcmcia”) #BUILD(DIRS, ”$(_WINCEROOT)\Platform\Sherry\Kernel”) #BUILD(SOURCES, “$(_WINCEROOT)\Platform\Cepc\Drivers\Pcmcia”) #BUILD(DIRS, ”$(_WINCEROOT)\Platform\Sherry\Kernel”) #BUILD(PBP,”$(_WINCEROOT)\Public\Myplat\Mycomp\Simple.pbp”) #COPY(“$(_TARGETPLATROOT)\Drivers\Mouse)”, “$(_FLATRELEASEDIR)”) #COPY(“$(_TARGETPLATROOT)\Drivers\Mouse)”, “$(_FLATRELEASEDIR)”)

Adding a Component File to the Catalog

Lab C: Customizing the Platform Builder Catalog

Review Introduction to Platform Builder Platform Development Life Cycle Setting up the CE Device Modifying a Platform Understanding the Build Process Adding Components to the Platform Builder Catalog