Title: Windows CE .NET Development Environment
1Windows CE .NET Development Environment
????? ?????? ???
2??
- Overview of Windows CE .NET
- Serial Number ??
- Platform builder .NET 4.2 ??
- Microsoft Embedded C 4.0??
- JFlashMM ??
- EBOOT download
- Handheld device???
- Application ??
3Overview of Windows CE .NET
4Overview of Windows CE .NET
- Windows CE .NET Design Goals
- What is New in Windows CE .NET?
- Basic Configurations
- Target Hardware Support
5Windows CE .NET Design Goals
- Modular and compact operating system
- Highly modular
- Customized to meet to the specific product
requirements of a range of devices - Only the required modules can be included in the
operating system image - Wireless and wired connectivity
- Allows you to build scalable wireless platform
- Flexibly connect mobile devices into existing
infrastructures - Provide broad wireless support for PAN(Personal
Area Network)s, LANs, and WANs - Including Bluetooth, Wireless LAN Zero
Configuration(802.11) Support - PAN Bluetooh? IrDA(???)??? ??? ?? ???
6Windows CE .NET Design Goals
- Robust real-time capabilities
- Hard RTOS kernel support
- Efficiently enabling the most demanding real-time
embedded designs - Rich multimedia and multilingual support
- Provide the latest multimedia experiences
- Allow you to efficiently build localized embedded
devices - Strong development tool support
7What Is New in Windows CE .NET?
- Internet Explorer 5.5 for CE
- Wireless support
- Multimedia
- Customizable UI
- Security Services
- Real-time collaboration and communication
- Better multi-language support
- ClearType
8Basic Configurations ???
- There are 13 different starting points to develop
your platform - Each one targets a particular class of device
- To reduce product development
- Once a basic configuration has been chosen, you
may modify it to suit your specific needs
9Basic Configurations
- PDA or mobile handheld device
- Variants with or without applications, such as
WordPad - Cell phone/smart phone
- 160x220 nominal display resolution
- Web Pad
- Touch-screen user interface and 640x480 or larger
display - Internet appliance
- Non-mobile, Browser-based device with a fixed
(CRT or LCD) display and a keyboard. - Internet Appliance with Browser
- Consumer Internet Appliance with mouse-based UI
and 640x480 or larger display - Internet Appliance with Browser and Applications
10Basic Configurations (continued)
- Media appliance
- Playback or store music, video, and other
electronic media - Digital Audio Receiver/Jukebox
- Networked device that stores, decodes, and plays
Windows Media Audio and MP3 music files - Digital Audio Receiver
- Without local storage
- Portable Audio Player with Wireless Networking
- Portable DVD Player
- Electronic Picture Frame
- Retrieve and display picture from the internet or
a home network - Digital imaging device
- Camera, projector, and printer
11Basic Configurations (continued)
- Set-top box
- Connects to a TV for display of Internet / media
content - Residential gateway
- Connects to the Internet and shares that
connection with a wired or wireless home network - Industrial automation device
- Human Machine Interface (HMI) or Programmable
Logic Controller (PLC) variants - Retail Point-of-Sale device
- Self-service kiosks, electronic payment
terminals, POS terminals - Windows thin client
- Minimal remote access terminal with constrained
shell and RDP
12Basic Configurations (continued)
- Tiny Kernel
- Smallest functional Windows CE image
- Starting point for the most compact, headless
devices - Custom Device
- The most fully customizable configuration
- Allows you to choose from all operating system
features - Also a variant for devices without displays
13Target Hardware Support
Processor Family CPU SDB BSP Name
ARM Intel SA1110 Intel SA111x Assabet SDB SA11X0BD
ARM ARM920 ARM Integrator AP SDB ARMINTEGRATOR
ARM ARM1020 ARM Integrator AP SDB ARMINTEGRATOR
ARM Intel Xscale Intel Lubbock SDB TBD
MIPS NEC Vr4122 NEC DDB-Vr4122 Eagle SDB EAGLE
MIPS NEC Vr5432 NEC DDB-Vrc5476Boston SDB DDB5476
SHx SH4-7750 Hitachi SH4 Aspen SDB ASPEN
SHx SH3-7729 Hitachi SH3 Keywest SDB KEYWEST
x86 P5/P4/PIII/PII/CelK6x/Athlon CEPC CEPC
x86 NS Geode National Geode Reference Platform GEODE
14Core Operating System Architecture
Applications
Programming Interfaces (Win32, COM, MFC, ATL)
Communications interfaces (Winsock, RAS, TAPI)
GWES
Kernel
Filesys
Networking and Communications System
Device Manager
Device Drivers
OAL
Hardware
15The OEM Adaptation Layer
- Layer between the Kernel and the hardware
- Set of functions related to system startup,
interrupt handling, power management, profiling,
timer, and clock - Included in BSPs for supported SDBs
- Coded by OEMs to adapt windows CE to their own
custom platforms - Linked with code provided by Microsoft to build
the Kernel
16The Kernel Module
- Portable across supported processors
- Kernel is portable as most of the operating
system is written in C - NK.EXE, COREDLL.DLL
- NK.EXE contains Kernel code and Coredll.dll is
the operating system core DLL module - Saving system resources
- CE loader is designed to save system resources by
loading application pages as and when needed and
by keeping only one physical copy of a DLL - Demand paging
- Loads virtual memory pages into physical memory
when needed - Multiple execute in place regions
- Allows applications to execute code directly from
read-only memory
17Device Driver System
- Device driver
- Links an operating system and a device
- Built-in Drivers vs. Installable Drivers
- Built-in drivers are installed by the platform
manufacturer - Installable drivers are third-party peripheral
devices that end users can connect to a Windows
CE-based platform - Native Drivers vs. Stream Drivers
- All of the device drivers managed by GWES are
native device drivers - Device manager loads stream interface drivers
when the system boots, if those drivers are
listed in the registry - Monolithic Drivers vs. Layered Drivers
- Monolithic drivers implement interface directly
in terms of actions on the device they control - Layered drivers separate the implementation into
two layers
18The GWES Module
- Graphics, Windowing, and Event Subsystem
- Graphic output display and printer
- User input keyboard, stylus, and mouse
- Window management message routing
- Graphic Device Interface (GDI)
- Is the drawing subsystem of GWES
- Controls how text and graphics are displayed
- Uses a device context to store drawing attributes
for a specified device
19The Filesys Module
- The Filesys Module
- Implements the object store
- File systems
- Registry
- Property Database
- Substitutes for a hard drive on an embedded drive
- Resides in ROM, RAM, or both
- Can have a maximum size of 256 MB
20The Filesys Module (continued)
- Storage manager
- Is responsible for all external storage items,
including all the file systems and block drivers - Installable file systems
- Can provide access to a floppy diskette, a hard
drive, a flash file system on a PC Card, or to
other external storage devices - File-shadowing mechanism
- Allows a file to be stored both in RAM and ROM.
- Differences from other Windows file systems
- No letters assigned to file systems
- No concept of current directory
- No support for overlapped I/O
- All files stored in RAM are automatically
compressed
21The Filesys Module (continued)
- Registry
- Provides a common repository for system settings,
application data, and user preferences - Resides in RAM, if not present in RAM, the
registry can be reloaded from persistent storage
or rebuilt from ROM - Registry functions specific to Windows CE
- Property Database
- Provides a lightweight database management system
- Accessible using a new set of Win32 API functions
specific to Windows CE - Data stored in a flat model
- Accessible to ActiveX Data Objects for Windows CE
(ADOCE) - Supports multiple volumes on installable file
systems
22Real Time Operating System
- Bounded interrupt response latency
- Timer precision configurable (1 millisecond
default) - System timer tick independent of thread quantum
- Nested interrupt support
- Priority inheritance
- Protected virtual memory
- Synchronization objects
23Power Management Features
- Power management features respond to system calls
for turning the system off or for idling - Device level power states, DO-D4
- D0 Full on Full power with full functionality
- D1 Low On Slightly reduced functionality,
lower power and/or performance - D2 Standby Partial power with automatic wake
- D3 Sleep Partial power with device initiated
wake - D4 Off Power off
- The only device power state that all devices must
support is D0, full on
24Advanced Features of Windows CE .NET
- Networking and Communications
- Real-Time Communication
- Multimedia
- Security
- Internationalization
25Get the Serial Number
26Serial Number ??
- https//www.interactservices.com/WinEmRegistratio
n/ProdRegister.asp - Product Windows CE .NET 4.2
- Platform builder? embedded C?? ??? Serial
Number? ???. - Platform builder? 120?? evaluation version.
- Embedded C? freeware.
- E-mail? ?? serial number? ????.
27Windows CE .NET 4.2 ? ????.
28Platform builder .NET 4.2 ??
29Platform builder .NET 4.2
- MS Windows CE .Net ???? ???? ??????.
- Visual studio?? ?? ????? ????.
- Windows CE .NET???? ???, ??, ??, ??? ? ?????? ???
?? ?? ??? ???? ??. - ?? ?????? 120? Evaluation version? MS??? ??? ?? ?
??.
30Platform Builder
- ???? ???? custom Windows CE? OS???
- ????
- Basic platform building
- Customize Platform
- Download to target device
31Platform builder ??
- CD? ??? ?? ?? ?? ??.
- Install? ????.
32- I accept the terms in the license agreement?
??. - Next? ??.
33- Product key? ???? Next? ????.
- Product key? evaluation version??, MS ?????? ?? ?
??.
34- Custom? ?? ?, Next? ????.
35 36- ARMV4, ARMV4I, XSCALE? ??? ????? ??.
- Shared Source for windows CE .NET 4.2? ?? ????.
- ?? ?? ?? ??? ??.
37 38- ??? ?????.
- Finish??? ???? ??? ????.
39- Platform builder? ??? ????.
40PXA255-Pro3 ? BSP ??
41BSP
- Board support package? ????.
- ??? CD? ?? ????.
- BSP????.txt ??? ???? ?? ? ? ??.
- 1. CD? BSP????? PXA255PRO3????? COPY??,
C\WINCE420\PLATFORM ????? PASTE??. - ??, CD? ?? ??, ?? ????? PXA255PRO3_BSP.zip? ???
/Platform/PXA255Pro3 folder? ????. - 2. ??? .msi ??? ???? ?? ????.
- 3. (?)????? ??? BSP????? ????. (Catalog window?
Third party? BSPs?? ??)
42BSP??
43- ??? ?? ?? BSP??? ?????.
- Finish? ???? BSP??? ????.
44MS Embedded C 4.0??
45Embedded Visual C 4.0
- MS?? ???? Windows CE .NET? ?????? ???? ??????.
- Visual studio? ?? ?? ?? ??? ????.
- ? ???? ??? ?? ??????? Visual studio?? ??? ? ??.
- ???? ??????.
46Embedded C ??
- Embedded C ?? ?? ????.
- Next? ???? ???? ????.
47- License ??? ?? ????.
- I accept the agreement? ???? Next? ????.
48- ??? ?? serial number? ???? Next? ????.
49- ??? ??? ???? ????.
- ?? ?? ???? ????, Next? ????.
50- ??? ??? ?? ????.
- ??? ??? ?? ?, Next? ????.
51- ??? ???? ????.
- Continue? ?? ?? ????.
52- ??? ??? ?? ?? ??.
- Continue? ????.
53- ??? ?????? ???? ????.
- OK? ??? ??? ????.
54JFlashMM ??
55JFlashMM
- Intel?? ???? Rom Writer??.
- JTAG ???? ??? ??? ???? ?? Flash? Writing? ? ??
??????. - Intel Website?? ?? ??? download?? ? ??.
56JFlashMM ??
- ??? CD
- ??
- http//developer.intel.com/design/pca/application
sprocessors/swsup/jflashmm.htm - ? ?? ????.
57- License??? ?? ????.
- Yes? ????.
58- ??? ??? ???? ????.
- ??? ??? ?? ?, Next? ????.
59- ??? ?????? ???? ????.
- Finish? ???? ??? ????.
60GIVEIO driver??
61GIVEIO driver??
- GIVEIO driver
- GIVEIO driver? JFlashMM? ???? ?? ???? ??.
- Parallel port? IO? ???? ?? ??? device driver??.
- C\Program Files\Intel Corporation\JFlash_MM\GIVE
IO.SYS - ???
- C\windows\system32\drivers? ????.
62- ????? ? ???? ??? ????.
- ???? ?? ??? ??? ??? ????.
63- ?, ????? ?? ??????? ????.
- ??? ????.
64- ?? ??? ?? ? ???? ?? ??? ????.
- ??? ????.
65- ???? ?? ??? ???? ??? ????.
- ??? ????.
66- ??(COM?LPT)? ????, ??? ????.
67 68- giveio.inf? ?? ????? ????, ??? ????.
69- giveio? ?? ?? ???? ????.
- ??? ????.
70 71- ????? ???? ?? ??.
- ??? ????.
72- giveio driver? ????? ?????.
- ??? ????.
73 74Eboot download
75EBOOT
- Ethernet Bootloader.
- MS Windows CE?? ????? ???? Bootloader??.
- Eboot? ??? ??? ????
- CPU? GPIO, ??? ????, Interrupt controller, ?? ??
?????. - ? ?, Ethernet controller? ?????
- TFTP? ?? Windows CE OS???? ????.
76JFlashMM console ??
77EBOOT download
- Program? ???? DOS?? ??.
- ??? Jflashmm? ???? ? ??.
78- ??? CD? ??
- \Utilties\JFlash_MM\acumen.dat???
- \Image\EBOOT.nb0???
- C\Program Files\Intel Corporation\JFlash_MM?
??? ???.
79 80- Enter platform data file name ? acumen?
????. - ?? .dat? ???? ???.
81- Enter Binary file name ? EBOOT.nb0? ????.
82- Writing? Verifying? ?? download? ????? ?????.
83??????
- Eboot? ????? download???? ???? ?? ????.
- ??????-gt??-gt??????
84 85- ??? COM port? ???? ??? ????.
86- ?? ?? ??? ?? ??? ????.
- board? reset?? boot loader? ???? ?? ? ? ??.
87- enter?? ??? ethernet? ?? ??? ???? ???? ??????.
- space?? ??? boot loader option? ??? ? ??.
- Eboot? ? ???? ?? ?????.
88Handheld Device???
89 90- New platform wizard ? ???? ?, Next? ????.
91- BSP? ?????? PXA255PRO3? ????.
- Next? ????.
92- Mobile Handheld ?? ?, Platform name? ????.
- Next? ????.
93- ??? ??? ??? ?, NEXT??? ????.
94- ??? ??? ??? ?, NEXT??? ????.
95- ?? Notification acknowledged? ??? ? ?,
NEXT??? ????.
96- ?? ??? ?????.
- Finish??? ????.
97Active configuration??
- Platform ?? debug Mode? Release Mode? ??.
- Debug Mode
- Kernel? SDRAM? ???.
- ??, ethernet cable? ?? ???? ??? ??.
- Host?? debugging message? ? ? ??.
- Release Mode
- Kernel? FLASH? ???.
- Debugging??? ???? ???, ??? debug????? ???.
- Test??? Debug Mode? ????? ??.
98Resolve Features
- ?? platform? ?? features? ???? ??? ????.
- Device Driver?? ?????? ???.
- Resolve Features? ????.
- ??? board? ???? device? ??? ??.
- Debug/Release Mode? ?? ?????? ??.
99- Audio UCB1400 Waveform Audio device
100 101 102 103- USB Function XSC1BD USB Function( Serial
interface ) - ?? ??? ???? OK ??? ???.
104Exclude power button
- Board?? power button? ???? ???? exclude???.
- Board? ?? power button? ? power button? ???.
- ? ??? ???? ??? ??? ??? ???? ???.
- Debug/Release Mode ?? ???? ??.
105PXA255PRO3.bat ?? ??
- \platform\PXA255PRO3\PXA255PRO3.bat
- Kernel? ????? ???? ???? ? ??? ???? ??.
- ??? ??? ??? ??.
- SET BSP_LAN91C111, BSP_NOUSBSER, BSP_NOUSB
- SET BSP_LAN91C111
- SET BSP_NOUSBSER1
- SET BSP_NOUSB1
- ?? ????? PXA255PRO3_BSP.zip?? BSP? ??? ??, ?? ???
?? ??.
106Platform.reg
- \platform\pxa255pro3\files\platform.reg
- Scotg.dll??? IF??? ????.
- IF BSP_SCOTG
- HKEY_LOCAL_MACHINE\Drivers\BuiltIn\TD242
-
- ENDIF
- ?? ????? PXA255PRO3_BSP.zip?? BSP? ??? ??, ?? ???
?? ??.
107Build kernel
- Build-gtBuild Platform? ????.
- ??? ? ???? ??? ??? ?? ????? ?? ??. (? 10? ??)
108 109Configure remote connection
- Target-gtConfigure Remote Connection? ????.
- Board? download?? ??? ????.
- ? ??? ????? board? download? ? ??.
110- Download/Kernel? ?? Ethernet?? ??.
- Configure??? ????.
111- Platform builder? ??? ? ?,
- ??? ???? ???? ??? ??? ??.
- space?? ?? IP?? ????.
112- IP/Subnet? ?? ?, D? ?? kernel? download??.
113- BOOTME message? ???? ?? ????.
114- BOOTME message? ???? ?? ????.
- Platform builder? ??, available device? ??? ?? ?
? ??. - ??? ???? OK? ???.
- Board? platform builder?? ??? ?????.
115- Target -gt Download/Initialize? ?? kernel?
download??.
116 117- Download? ???? ?? ? ? ??.
118- Download? ???? ??,
- Platform builder? debuging??? ??,
- Board? TFTLCD?? WINCE? ???? ?? ? ? ??.
119Application ??
120Application ??
- Application? ???? ???? Embedded C? ????.
- Platform builder? ?? SDK? ??? ?,
- Embedded C? ??? application? ????.
- Application? Hello World?? ??? ??? ????.
121SDK ??
122SDK??
- Platform builder?? Platform-gtConfigure SDK?
????.
123 124 125- MFC? application? ??? ????, ? ???? ????.
- visual studio .NET?? ??? ???? .NET Compact
framework? ????.
126- ??? ?????.
- Finish? ?? ????.
127Build SDK
- Platform-gtBuild SDK? ????.
128- Build? ?????.
- SDK? ???? ??? ????.
- Error? ?? ?? ????, Done??? ???.
129SDK ??
- SDK? ??? ??? ?? msi??? ????.
130- License? ??? ?? Next? ????.
131- ??? ??? ??? ?, Next? ????.
132 133- ?? ???? ????, Next? ????.
134 135 136- ??? ?????.
- Embedded C? ????.
137Embedded C? ??? application ??
138- Embedded C??
- File-gtNew? ????.
139 140 141- OK? ???? app_test?? project? ????
142- ?? ??? ?? ??? ??? ?? ? ? ??.
- Platform builder? board? ???? ?? ???? ??? ????.
143?? ? ????
- tools-gtConfigure platform manager? ???? ?? ??
??? ????. - PXA255PRO3_MH device? ???? Properties? ????.
144- Transport? startup Server? ??? ?? ????.
- Transport? configure??? ???.
145- Named connection? ??? SDK? ?? ??? ????.
- OK? ?? ??? ??? embedded C?? ????? ???? ????
???? ?? ?? ??? ? ??.