2. BITS Pilani, Hyderabad Campus
Introduction
Minimum Footprint
Supporting Windows CE
Top Level Features
Other Features
Different State of Tasks
Scheduling Algorithm supported by Windows CE
Customized Scheduling Algorithms
Flexibility to Add New Features
Hardware Interrupt Support
Industries Using Windows CE
New Features Added in Windows Ce 7.0
New Features Added in Windows Ce 8.0
Coding Examples
Windows Mobile and Embedded Windows
Conclusion
References
Mayank Garg Slide 2
CONTENTS:
3. BITS Pilani, Hyderabad Campus
A version of the Windows operating system designed for small devices such as
PDAs or Handheld PCs (Embedded Devices). The Windows CE graphical user
interface (GUI) is very similar to Windows 95.
First Release was in 1985 by Microsoft.
Latest Version is Windows CE 8.0
Introduction:
Mayank Garg Slide 3
4. BITS Pilani, Hyderabad Campus
Minimum Footprint:
4 MB ROM, 2 MB RAM, MIPS 300 Architecture
1 MB Ram can also be sufficient in some case.
Some version of Windows CE is supported by some
specific platform with some new feature.
Like: Windows CE 3.0 is only available for ARM CPUs. As
new feature the Bluetooth support was introduced.
Mayank Garg Slide 4
Minimum Footprint:
5. BITS Pilani, Hyderabad Campus
-32-bit operating system
ARM/StrongARM
X86
SH3
PowerPC
Pentium
Motorola
MIPS 39xx and 4xxx
Mayank Garg Slide 5
Supporting Windows CE:
6. BITS Pilani, Hyderabad Campus
Visually Rich: Deliver immersive experiences through
multi-gesture touch interfaces and context-aware
applications that are eye-catching and intuitive.
Easy To develop: Deploy device peripherals that are plug-n-
play, update peripherals more easily, and decrease support
costs through streamlined integration with an open device
driver architecture based on industry standards.
Mayank Garg Slide 6
Top Level Features:
7. BITS Pilani, Hyderabad Campus
Targeted and consistent: Provide a consistent user
experience with advanced lockdown features; the full
Windows platform provides a consistent and predictable
development experience, and a high degree of application
compatibility.
Secure and Reliable: Protect the integrity of the device by
securing and encrypting hardware, supporting a range of
antimalware solutions, and ensuring the device restarts
and acts the same way every time.
Mayank Garg Slide 7
Top Level Features (cont…)
8. BITS Pilani, Hyderabad Campus
Direct Access without VPN in private N/w.
Branch Cache
AppLocker
Enterprise Sideloading
Mayank Garg Slide 8
Other features:
9. BITS Pilani, Hyderabad Campus
Ready
Running
Suspended
Waiting
Trace.STATistic.TASKState Display task state statistic
Trace.Chart.TASKState Display task state time chart
Trace.List List.TASK FUNC Display function nesting
Trace.STATistic.TASKFunc Display function runtime statistic
Trace.STATistic.TASKTREE Display functions as call tree
Trace.Chart.TASKFunc Display function time chart
The breakpoints to the thread status words are set by the TASK.TASKState
command.
Mayank Garg Slide 9
Different State of Tasks:
10. BITS Pilani, Hyderabad Campus
Real Time deterministic task scheduling.
Priority Based Priority Inversion scheduling
RM scheduling
Guaranteed upper bounds on (high-priority thread
scheduling/delay in scheduling high-priority interrupt
service routines)
RR scheduling can also work
Mayank Garg Slide 10
Scheduling Algorithms supported by Windows CE:
11. BITS Pilani, Hyderabad Campus
Can choose pre-emptable or non pre-emptable.
Increased number of thread priority levels from 8 to 256.
More control over times and scheduling. Applications can control the
amount of time provided to each thread and manipulate the scheduler to
their advantage. Timer accuracy is now one millisecond for Sleep- and
Wait-related application programming interfaces (APIs).
Improved method for handling priority inversion.
Full support for nested interrupts.
Reduced ISR and interrupt service thread (IST) latencies.
Mayank Garg Slide 11
Customized scheduling Algo’s:
12. BITS Pilani, Hyderabad Campus
Windows CE is a highly customizable operating system. OEMs can pick and choose features
or add new ones to their devices as per the requirements.
For e.g.
1. One Windows CE device can be a handheld with a display and a keyboard and
another one can be a headless device without any display or keyboard.
2. Adding support for the .NET Compact Framework, or removing support for the
HTTP Web Server – The platform development tool also gives you the ability to add your
own custom applications and drivers.
In order to customize it you have the option to exclude various resources from it.
You can exclude the following from a configuration:
Files
Shortcuts
Registry values
File associations
Mayank Garg Slide 12
Flexibility to Add New Features:
13. BITS Pilani, Hyderabad Campus
A typical interrupt handling sequence includes the following steps:
1) The hardware raises an interrupt.
2) The kernel looks up the interrupt request (IRQ) of the interrupt, calls the registered ISR, and disables all
lower-priority interrupts.
3) The ISR performs any necessary handling, and then returns an interrupt identifier.
4) If the interrupt identifier value returned by the ISR is SYSINTR_NOP, the kernel completes processing
without setting an event — all interrupts are enabled — and continues performing any tasks in process
before the interrupt occurred.Otherwise, the kernel sets the event you have associated with the interrupt
identifier. When the ISR returns, the kernel enables all other interrupts except the one that is being
processed.
5) The kernel schedules the IST indicated by the interrupt identifier to run.The IST can use driver resources to
get or send data and control codes to the hardware and to acknowledge the hardware interrupt.
6) After completely servicing the interrupt, the IST calls the IntrupptDone function. In
turn, InterruptDone calls the OEMIntrupptDone. OAL interface function to perform any hardware actions
necessary to enable the next interrupt of the target device.
Mayank Garg Slide 13
Hardware Interrupt Support:
17. BITS Pilani, Hyderabad Campus
Retail:
Family Doller
SIOUX FALLS ARENA
CONNECTED RETAIL EXPERIENCE
NAKAJIMA
Manufacturing:
Cloud Network
Office Network
IT Network
I/O Network
Mayank Garg Slide 17
Industries using Windows CE:
18. BITS Pilani, Hyderabad Campus
Health:
GE Healthcare
Hannover Medical school
South Jersey Healthcare
Hillcrest
Automotive
Apart from these some companies like NI using Windows
CE for their development.
Mayank Garg Slide 18
Industries using Windows CE: (cont…)
19. BITS Pilani, Hyderabad Campus
Multi-core CPU support (SMP)
Wi-Fi Positioning System
Bluetooth 3.0 + HS support
DLNA(Digital Living Network Alliance)
DRM technology
Media Transfer Protocol
Windows Phone 7 IE with Flash 10.1 support
NDIS 6.1 support
UX C++ XAML API using technologies like Windows Presentation
Foundation and Silverlight for attractive and functional user interfaces
Modernized graphics based on OpenGL ES 2.0
Advanced touch and gesture input
Kernel support for 3 GB physical RAM and supports ARMv7 assembly
Mayank Garg Slide 19
New Feature in Windows CE 7.0:
20. BITS Pilani, Hyderabad Campus
DHCPv6 client with stateful/stateless address
configuration
L2TP/IPsec over IPv6 for VPN connectivity.
Snapshot boot.
Improved XAML data binding and Expression Blend
support.
OOM Model improvements from 7.
HTML help viewer added.
Mayank Garg Slide 20
New Features added in Windows CE
8.0
21. BITS Pilani, Hyderabad Campus
How to write a Hello World for the Windows CE Based
DNP.
Step 1. work on embedded visual c++ 4.0
Step 2. Install service pack 4.
Step 3. Install DNP/9200
Step 4. Run eMBEDDED visual C++ 4.0
Mayank Garg Slide 21
Coding Examples:
23. BITS Pilani, Hyderabad Campus
#include <ncurses.h>
#include<stdio.h>
#include<signal.h>
#include<string.h>
#include<“../led_control/led_control.h”
Void led_initialize();
Void signal_handler(int sig);
Int main()
{
Led_initialize();
Initscr();
Signal (SIGINT ,(void*) sigint_handler);
Printfw(“keyboard read demo”);
Printw(“press 1 to to turn on usr0,press 0 to turn off usr0”);
Printw(“press ctrl+C to end the program”);
Mayank Garg Slide 23
Keyboard Read Program:
24. BITS Pilani, Hyderabad Campus
Int keypress;
Nodelay(stdscr,TRUE);
For(;;)
{ Keypress = getch();
If (keypress==‘0’)
{// 0 was pressed. Turn off
LED 0.
Led_control(0,0); }
If (keypress==‘1’)
{
//1 was pressed. Turn on
LED 0.
Led_control(0,1);
Sleep(1);
Return 0;
}
Void Signal-handler(int sig)
{ Endwin();
Exit (sig); }
Mayank Garg Slide 24
25. BITS Pilani, Hyderabad Campus
So
What is difference between Windows 7/8 and Windows
CE???
What is Windows Mobile??
Is it different from Windows CE??
Mayank Garg Slide 25
26. BITS Pilani, Hyderabad Campus
Difference between Windows Mobile and Windows CE:
Windows Mobile is built on top of Windows CE kernel and
subsystems. It is targeted at handheld devices with
specific hardware and software features. OEMs are
required to following strict guidelines (software and
hardware) for developing their devices.
Mayank Garg Slide 26
27. BITS Pilani, Hyderabad Campus
I have studied about Windows Ce and Embedded Operating
systems.
I have analysed that each of these have some specific quality.
Like windows CE is providing very good GUI interface along
with high level of security and reliability.
While each have some limitation also.
For using Windows CE, we have to pay, Unlike Linux.
Mayank Garg Slide 27
Conclusion: