windows ce 6.0 bare essentials
Post on 11-Feb-2022
5 Views
Preview:
TRANSCRIPT
1
Windows CE 6.0Bare Essentials
Kurt KennettMicrosoft Corporation
2
Where do we start?We need to understand systems level software and how Windows CE fits in.
3
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
4
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
User Application (ex: Word Processor)
5
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
User Application (ex: Word Processor)
Computer Hardware(screen, keyboard)
6
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
User Application (ex: Word Processor)
Computer Hardware(screen, keyboard)
7
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
User Application (ex: Word Processor)
Computer Hardware(screen, keyboard)
8
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
User Application (ex: Word Processor)
Systems Software
Computer Hardware(screen, keyboard)
9
Where do we start?We need to understand systems level software and how Windows CE fits in. “Systems” has to do with the software that is in between the user programs and computer hardware.
Systems software provides a standard environment that application writers can depend on.
User Application (ex: Word Processor)
Systems Software
Computer Hardware(screen, keyboard)
10
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.
11
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.Microsoft includes in Windows CE 6.0 a choice of four possible CPU “architectures” that can be used to base your computer hardware on.
12
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.Microsoft includes in Windows CE 6.0 a choice of four possible CPU “architectures” that can be used to base your computer hardware on.An architecture is the structure behind a way of computing ‐ adding, subtracting and multiplying bits, and loading them from or storing them to memory.
13
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.Microsoft includes in Windows CE 6.0 a choice of four possible CPU “architectures” that can be used to base your computer hardware on.An architecture is the structure behind a way of computing ‐ adding, subtracting and multiplying bits, and loading them from or storing them to memory.
ldr r0, [r1, #8]
14
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.Microsoft includes in Windows CE 6.0 a choice of four possible CPU “architectures” that can be used to base your computer hardware on.An architecture is the structure behind a way of computing ‐ adding, subtracting and multiplying bits, and loading them from or storing them to memory.
ldr r0, [r1, #8] mov eax, dword ptr edx+8
15
What does Windows CE do for me?A Windows CE Operating system “Image” is a collection of systems software.Microsoft includes in Windows CE 6.0 a choice of four possible CPU “architectures” that can be used to base your computer hardware on.An architecture is the structure behind a way of computing ‐ adding, subtracting and multiplying bits, and loading them from or storing them to memory.
The choice of an architecture is the starting point for the design of a computer system.
ldr r0, [r1, #8] mov eax, dword ptr edx+8
16
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.
CPU – Genus and Species
17
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
CPU – Genus and Species
18
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
CPU – Genus and Species
CPU COREARCH
19
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
The choice of an CPU core (and therefore an architecture) is typically the second thing you do in defining a computer.
CPU – Genus and Species
CPU COREARCH
20
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
The choice of an CPU core (and therefore an architecture) is typically the second thing you do in defining a computer.
CPU – Genus and Species
CPU / SoC
CPU COREARCH
CPU CORE
21
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
The choice of an CPU core (and therefore an architecture) is typically the second thing you do in defining a computer.
A CPU core is typically built in to a ‘SoC’ or System‐On‐Chip. This is a combination of a CPU Core and some support logic and peripherals highly tuned to work with that core.
CPU – Genus and Species
CPU / SoC
CPU COREARCH
CPU CORE
22
An architecture isn’t a physical thing. It’s a specification of how a CPU core should work.An actual implementation of an architecture version ends up as a particular CPU core.
The choice of an CPU core (and therefore an architecture) is typically the second thing you do in defining a computer.
A CPU core is typically built in to a ‘SoC’ or System‐On‐Chip. This is a combination of a CPU Core and some support logic and peripherals highly tuned to work with that core.The ‘SoC’ is sold as a product.
CPU – Genus and Species
CPU / SoC
CPU COREARCH
CPU CORE
23
ARCH
"Boards" –making a product
ARM
SH
MIPS
X86
24
CPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
25
CPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
26
CPU / SoCCPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
MARVELL PXA27x
TI OMAP 3430
QUALCOMM 7X00
27
CPU / SoCCPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
MARVELL PXA27x
TI OMAP 3430
QUALCOMM 7X00
28
BoardCPU / SoCCPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
MARVELL PXA27x
TI OMAP 3430
QUALCOMM 7X00
phyCore270
EM‐X270
Mainstone II
29
BoardCPU / SoCCPU COREARCH
"Boards" –making a product
ARM
SH
MIPS
X86
ARMv5TE
ARM11EJ‐S
Pentium
80486
MARVELL PXA27x
TI OMAP 3430
QUALCOMM 7X00
phyCore270
EM‐X270
Mainstone II
30
Board
"Boards" –making a product
phyCore270
EM‐X270
Mainstone II
31
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
A Board needs systems software to adapt it to the applications. We call the collection of systems software that is used an operating system.
32
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
A Board needs systems software to adapt it to the applications. We call the collection of systems software that is used an operating system.An operating system like Windows CE is a choice.
33
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
A Board needs systems software to adapt it to the applications. We call the collection of systems software that is used an operating system.An operating system like Windows CE is a choice.Usually a choice is made based on a number of factors.
34
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
A Board needs systems software to adapt it to the applications. We call the collection of systems software that is used an operating system.An operating system like Windows CE is a choice.Usually a choice is made based on a number of factors.
Existing applications for the OSDifficulty of application developmentCost of licensingMany other reasons
35
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
In order for the Board to be useful, the systems software must adapt its hardware so the applications can use it.
36
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
In order for the Board to be useful, the systems software must adapt its hardware so the applications can use it.A component is a piece of the systems software that allows a well defined set of functionality to operate.
Display InputSound
37
Software for a “Board”
Board
phyCore270
EM‐X270
Mainstone II
In order for the Board to be useful, the systems software must adapt its hardware so the applications can use it.A component is a piece of the systems software that allows a well defined set of functionality to operate.
Display InputSound
To support the variety of needs of the systems software for a board, typically a large variety of ‘components’ are available.
38
Software Componentization
Board
phyCore270
EM‐X270
Mainstone II USB HOSTWINDOW MANAGER
OS Components
DEBUG SHELL
39
Software Componentization
Board
phyCore270
EM‐X270
Mainstone II USB HOST
DISPLAY SYSTEM
WINDOW MANAGER
OS Components
DEBUG SHELL
40
Software Componentization
Board
phyCore270
EM‐X270
Mainstone II
USB CORE
USB HOST
DISPLAY SYSTEM
WINDOW MANAGER
OS Components
DEBUG SHELL
41
Software Componentization
Board
phyCore270
EM‐X270
Mainstone II
DEVICE MANAGER
USB CORE
USB HOST
DISPLAY SYSTEM
WINDOW MANAGER
OS Components
DEBUG SHELL
42
Software Componentization
Board
phyCore270
EM‐X270
Mainstone II
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
OS Components
DEBUG SHELL
43
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
44
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
COLLECTION OF OS COMPONENTS
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
45
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
INDUSTRIALAPPLIANCE
46
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
47
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
MY COOL WINDOWS CE
PROJECT
48
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
49
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
50
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
51
Defining the systems software
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIALAPPLIANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS ComponentsARCH
ARM
SH
MIPS
X86
52
For CE – what is provided?
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIAL APPLICANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS ComponentsARCH
ARM
SH
MIPS
X86
ARMKERNEL
MIPSKERNEL
X86KERNEL
SHKERNEL
53
For CE – what is provided?
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIAL APPLICANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS ComponentsARCH
ARM
SH
MIPS
X86
ARMKERNEL
54
For CE – what is provided?
Board
phyCore270
EM‐X270
Mainstone II
Window CE “Project”
(VS Solution)
INDUSTRIAL APPLICANCE
ENTERPRISEWEBPAD
MY COOL WINDOWS CE
PROJECT
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
55
For CE – what is provided?
Board
phyCore270
EM‐X270
Mainstone II
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
56
Defining a CE‐based product
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
BoardBoard
Hardware
57
Defining a CE‐based product
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
BoardBoard
Hardware
58
Defining a CE‐based product
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
BoardSupport Package
Board
Hardware
59
BoardSupport Package
The board support package
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
HardwareARM Core
60
BoardSupport Package
The board support package
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
HardwareARM Core
OAL
61
BoardSupport Package
The board support package
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
HardwareARM Core
OAL
62
BoardSupport Package
The board support package
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
Driver
HardwareARM Core
DriverDriverDriver
OAL
63
BoardSupport Package
The board support package
DEVICE MANAGER
DISPLAY SYSTEM
WINDOW MANAGER
DEBUG SHELL
OS Components
ARMKERNEL
Driver
HardwareARM Core
Driver
Driver
Driver
OAL
64
The board support package
ARMKERNEL
OAL
65
So the bare bones are…An Architecture‐Specific KernelSystems software componentsA Board‐Specific BSP (OAL and drivers)
ARMKERNEL
OAL
66
So the bare bones are…An Architecture‐Specific KernelSystems software componentsA Board‐Specific BSP (OAL and drivers)
ARMKERNEL
The kernel already knows how to talk to the CPU core, which is the same for every CPU of a particular architecture.
OAL
67
So the bare bones are…An Architecture‐Specific KernelSystems software componentsA Board‐Specific BSP (OAL and drivers)
ARMKERNEL
The kernel already knows how to talk to the CPU core, which is the same for every CPU of a particular architecture.The BSP must abstract everything else.
OAL
68
Summary
We now know the basics of how a Windows CE system is structured.
69
Summary
We now know the basics of how a Windows CE system is structured.Microsoft provides a kernel for any of the four supported architectures.
70
Summary
We now know the basics of how a Windows CE system is structured.Microsoft provides a kernel for any of the four supported architectures.A board support package (BSP) is the bridge between the high‐level components and the specific hardware that is used.
71
Summary
We now know the basics of how a Windows CE system is structured.Microsoft provides a kernel for any of the four supported architectures.A board support package (BSP) is the bridge between the high‐level components and the specific hardware that is used.Many OS components are available for you to select from, to fulfill the needs of your customized product.
72
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
top related