windows ce 6.0 bare essentials

Post on 11-Feb-2022

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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