module 2 configuring windows ce n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Module 2: Configuring Windows CE PowerPoint Presentation
Download Presentation
Module 2: Configuring Windows CE

Loading in 2 Seconds...

play fullscreen
1 / 57

Module 2: Configuring Windows CE - PowerPoint PPT Presentation


  • 137 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Module 2: Configuring Windows CE' - rigel-cervantes


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview
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
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
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

making an image

C

B

D

Making an Image

All .BIB Files

CE.BIB

All .REG Files

REGINIT.INI

FileSystem(.DAT) Files

INITOBJ.DAT

All Default Database

(.DB) Files

INITDB.INI

NK.BIN

Compress

REGINIT.INI

DEFAULT .FDF

Language

Strings

Merge

DLLs and EXEs

as per CE.BIB

setting up the ce device
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
Setup Device
  • Cables Connecting Dev Workstation
  • Download Adapter Settings
  • Video Adapter Settings
  • Device-Specific Configuration Issues
the board support package bsp
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
modifying a platform
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
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
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 continued1
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
Directory Structure of Platform Builder
  • The Platform Directory
  • The Public Directory
  • The SDK Directory
  • The Others Directory
the platform 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
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
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
The Others Directory
  • Location: %_WINCEROOT%\OTHERS
  • Contains:
    • Run-time libraries (VB, MFC, ATL)
    • Platform Manager component
    • ATL and MFC Samples
    • Device driver test tools
modifying configuration files
Modifying Configuration Files
  • .BIB files
  • .REG files
  • .DAT files
  • .DB files
the configuration files bib 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

;Name Path Memory Type

-----------------------------------------------------

Tahoma.ttf $(_FLATRELEASEDIR)\Tahoma.ttf NK SHU

Taskman.exe $(_FLATRELEASEDIR)\Taskman.exe NK

the configuration files bib files continued
The Configuration Files: .BIB Files (continued)
  • The MEMORY section: Platform memory information
  • The CONFIG section: Define other image information (compression, ROM size)
  • Name Start address Size(bytes) Type
  • -----------------------------------------------
  • NK 8C800000 00800000 RAMIMAGERAM 8C050000 007AFFFF RAM
the configuration files reg files
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”
the configuration files dat files
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”)
the configuration files db files
The Configuration Files: .DB Files

Define default image databases

  • COMMON.DB, WCEAPPS.DB, WCESHELL.DB
  • PLATFORM.DB
  • PROJECT.DB
understanding 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
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

..\platform\..

Step 3. Build Release Directory

C:\WINCE300\PUBLIC\

pc2MinKern\RelDir\

X86_Debug>

NK.BIN

Step 4. Make Image

step 1 system generation cesysgen bat
Step 1: System Generation (CESYSGEN.BAT)

Complete header files (.h)

System-specific header files

SYSGEN.BAT

Complete system libraries

Linked libraries

Module definitions (.def)

Specific .def files

Cesysgen.bat

step 2 compile and link phase
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
Step 2: Compile and Link Phase (continued)
  • DIRS file
    • Lists subdirectories to build
    • Subdirectories can contain DIRS files

Example :

  • DIRS =\
  • Display \
  • Mouse \
  • Keyboard \
  • Ethernet
step 2 compile and link phase continued1
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 \
step 3 building the flat release directory
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
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
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
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
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
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-85F6-004005365450}”)
  • Implementations(
  • Implementation(
  • )
the implementation block
The Implementation Block
  • Defines implementation for a component
  • Example:
  • Implementation (
  • Name (“Keyboard”)
  • Description(“Keyboard Driver Tests”)
  • Vendor (“Vendor name”)
  • Date( “2000-10-31” )
  • GUID( {B45875B0-C958-4288-9139-0589CAD59E6C} )
  • CPU("default")
  • Children ()
  • BuildMethods(
  • BuildMethod(
  • )
the buildmethod block
The BuildMethod Block
  • Provides information needed to build the component
  • Example:
  • BuildMethod(
  • Step( “BSP” )
  • GUID( {EE70A156-867F-4ba7-993F-2D04D98F47EF} )
  • InputFiles()
  • OutputFiles()
  • Action('#BUILD(SOURCES,
  • "$(_WINCEROOT)\others\ddtk30\testsrc\realtime")')
the buildmethod block continued
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(PBP,”$(_WINCEROOT)\Public\Myplat\Mycomp\Simple.pbp”)
  • #COPY(“$(_TARGETPLATROOT)\Drivers\Mouse)”,
  • “$(_FLATRELEASEDIR)”)
review
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