Download presentation
Presentation is loading. Please wait.
1
Module 2: Configuring Windows CE
2
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
3
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
4
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
5
Creating a Platform C B D
6
Creating a Platform (continued)
B D
7
Creating a Platform (continued)
B D
8
Creating a Platform (continued)
B D
9
Building a Platform C B D
10
FileSystem(.DAT) Files
Making an Image C B D 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
11
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
12
Setup Device Cables Connecting Dev Workstation
Download Adapter Settings Video Adapter Settings Device-Specific Configuration Issues Each Windows CE device will need some form of setup. Your instructor will demonstrate the specific setup tasks that are required for the Windows CE device used in your labs. Cables The most important cables are those that connect the CE device to the development workstation. The specific cables that you need will depend on the specific requirements for a given device. A minimum of one cable will be required as the primary download cable: examples include 10Base-T, Parallel, Serial, and JTAG cables. Sometimes, a secondary serial cable – configured as a "null-modem" cable – is used to trap and forward debugging trace messages. Download Adapter Settings For some devices, the download adapter – such as a network card – may require special setup or configuration. This is the case, for example, on the CEPC platform: the LinkSys card has to be configured to support the correct I/O port, IRQ, and – when DHCP is not used – the static IP address. Your instructor will provide details, if any, that are needed for your lab device. Video Adapter Settings In some cases, when there are different video adapter choices, you will need to fine-tune the build options for a particular device. This is the case, for example, on the CEPC, where there are four supported video adapters that can be used on a CEPC. You'll need to add the correct one (from the Platform Builder catalog) in order to create a usable Windows CE image. Device-Specific Configuration Issues Your instructor will let you know about device-specific configuration issues, and will demonstrate the setup and use of your lab device.
13
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 Part of the device-specific setup for a device may include the installation of a board support package (BSP). Device-Specific Files The Board-Support Package contains all the device-specific files that are needed to integrate a new device into the Microsoft Windows CE Platform Builder. Examples of the files that are included are listed here. Platform Builder Includes Some BSPs You will not need to install a BSP for two devices: CEPC and ODO. These are already included in the Microsoft Windows CE Platform Builder. BSP Location All BSP files are copied under the same directory tree. If you wish to look at the contents of a typical BSP, you can examine the directories under \wince300\platform.
14
Set up Download Services
B D
15
Ethernet Settings C B D
16
BOOTME Record C B D
17
Set Current Device C B D
18
Download From Platform Builder to a Windows CE Device
19
Demonstration: Configuration, Build and Download
20
LabA: Configuring, Building and Downloading Windows CE
21
Modifying a Platform Choosing a Reference Configuration
Directory Structure of Platform Builder Platform Settings Modifying Configuration Files Building a Selected Component
22
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)
23
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
24
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
25
Directory Structure of Platform Builder
The Platform Directory The Public Directory The SDK Directory The Others Directory
26
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
27
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
28
The SDK Directory Location: %_WINCEROOT%\SDK
Contains tools and library to support Platform Builder Processor compilers (x86, SH3, Arm, MIPS) Development tools Remote tools
29
The Others Directory Location: %_WINCEROOT%\OTHERS Contains:
Run-time libraries (VB, MFC, ATL) Platform Manager component ATL and MFC Samples Device driver test tools
30
Platform Settings
31
Modifying Configuration Files
.BIB files .REG files .DAT files .DB files
32
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
33
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 8C RAMIMAGE RAM 8C AFFFF RAM
34
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”
35
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”)
36
The Configuration Files: .DB Files
Define default image databases COMMON.DB, WCEAPPS.DB, WCESHELL.DB PLATFORM.DB PROJECT.DB
37
Building a Selected Component
38
Lab B: Fine -Tuning the Build Process
39
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
40
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
41
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
42
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)
43
Step 2: Compile and Link Phase (continued)
DIRS file Lists subdirectories to build Subdirectories can contain DIRS files Example : DIRS =\ Display \ Mouse \ Keyboard \ Ethernet
44
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 \
45
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
46
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)
47
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
48
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
49
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") )
50
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( … )
51
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( … )
52
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")')
53
Valid Actions Actions Cesysgen Step BSP Step Buildrel step
MakeImg Step #BUILD(DIR,…) NO YES #BUILD(SOURCES,… ) #BUILD(MAK, …) #CUSTOM(…,…) #COPY(…,…) #ENV(…,…)
54
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)”)
55
Adding a Component File to the Catalog
56
Lab C: Customizing the Platform Builder Catalog
57
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.