28
2008 Chapter-10 L03: "Embedded Systems - Architecture, Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc. 1 REAL TIME OPERATING SYSTEM REAL TIME OPERATING SYSTEM PROGRAMMING PROGRAMMING - - II: Windows CE, II: Windows CE, OSEK and Real time Linux OSEK and Real time Linux Lesson-3: Windows and Windows and Memory Memory Management Management

Management Windows and PROGRAMMING Lesson-3 · 2008 Chapter-10 L03: "Embedded Systems - Architecture, Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc. 3 Windows Many

  • Upload
    trandat

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

1

REAL TIME OPERATING SYSTEM REAL TIME OPERATING SYSTEM PROGRAMMINGPROGRAMMING--II: Windows CE, II: Windows CE,

OSEK and Real time Linux OSEK and Real time Linux

Lesson-3:Windows andWindows and Memory Memory

ManagementManagement

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

2

1. 1. WindowsWindows

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

3

WindowsWindows� Many Windows on a screen. A screen

top (desktop) is a window. � A command-tool-task bar is window.� A button is a window. � The Windows are related to each other.

There may be a hierarchical (parent child) relationship in the windows.

� There may be a sibling relationship or owner-owned relationship.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

4

Main WindowMain Window

� Top-level window ─ main� Main window ─ does not have parent. � Main window─ can have child

windows. � When a parent is moved or deletes, the

all child windows shall also move or delete.

� Child window is invisible except at the edges.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

5

2. 2. Windows ManagementWindows Management

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

6

Windows Management functionsWindows Management functions

� CreateWindowEx or CreateWindowcreates a Window and uses same messages and procedures as the main.

� A 32-bit style parameter dwStyle when set as WS_Child the child window creates.

� An 8-bit style parameter bMenuparameter is used in child window and equals to the ID of that window

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

7

Windows Management functionsWindows Management functions• FindWindow─ to find a window and

get Handle for that• GetParent─ to fund the parent• GetWindow─ to query and get the

owner, children and siblings

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

8

3. 3. Memory ManagementMemory Management

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

9

Virtual and page memoryVirtual and page memory

� Virtual memory may at the flash or disk. � The application program uses the physical

addresses at the RAM. � A virtual memory management systems

maps the virtual addresses of the pages with the physical addresses of the pages after the pages of the program has been loaded at RAM.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

10

PagePage

� A fixed sized memory-unit, which is loaded from disk or flash to the RAM.

� WCE uses page size of 1 kB or 4 kB─depends on the system-processor.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

11

Three types of virtual pagesThree types of virtual pages

� Committed page─ a page reserved for application and directly maps to the RAM address.

� Reserved page ─ at virtual address cannot be used in the application.

� Free page ─ can be used and is allocated during the run.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

12

Windows CE 6.0 Virtual MemoryWindows CE 6.0 Virtual Memory• Virtual memory (VM) limit of 2 GB

(earlier 32 MB) for each process and• Upper 2 GB VM space as the kernel

VM space. • Extended VM support in CE 6.0─

enables the creation of complex 3-D graphics

• Enables animation and gaming applications

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

13

System memorySystem memory

• Between 1 MB-64 MB • OS needs minimum 512 kB of memory

and 4 kB RAM. • Windows CE also provides for

managing the low memory conditions.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

14

RAMRAM� Two sections: program memory (called

system heap) and object store. � Memory is allocated to the program

from a pool of unused memory area called the heap.

� The application program that is running uses the heap and stacks.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

15

Memory allocation to ApplicationMemory allocation to Application� An application allocated memory

blocks (in place of the pages) from the heap and is in reserved virtual memory space region.

� A block in heap can also be freed later when not required.

� A heap can be local heap of 188 kB or separate heap in case of reuirement of bigger number of memory blocks

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

16

Object store (256 MB)Object store (256 MB)

� Virtual RAM disk for permanent store, which is protected from power turning off.

� Individual file can use up to 32 MB in case of RAM as object store.

� Object store stores files, registry and WCE databases

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

17

PIM (personal information manager)PIM (personal information manager)

� PIM data at the object store memory� PIM includes data of the contacts,

calendar and task-to-do. � A contact includes name, address, e-

mail ID, phone numbers of home, office and mobile

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

18

Object storeObject store

� Handheld or PocketPC has a backup battery, which provides power to object store data and files.

� WCE on power ON searches the previously loaded object store at RAM and uses that object if available.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

19

ROM executeROM execute--inin--place fileplace file

� A file in ROM for execution that cannot be opened and read by standard file functions open and read.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

20

Static AllocationsStatic Allocations

� Allocates two allocations, � one for read only and � other for read/write data

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

21

4. 4. StacksStacks

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

22

StackStack

� Stores the temporary variables� processor registers for the application

and � OS functions. � WCE provides for 58 kB maximum

stack size and 6 kB of stack for guarding the stack for underflow or overflow.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

23

Thread StackThread Stack

� WCE provides for separate stack for each thread.

� An application can also specify the thread stack size

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

24

SummarySummary

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

25

We learntWe learnt• Main window• Parent window• Child Windows • Windows Management functions to

create, style and menu parameters,tofind Window and its Handle, parent, sibling and owner.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

26

We learntWe learnt

� Virtual memory and page sizes� RAM sections as program memory

and heap� Object store� Execute in place ROM file� Stacks� Thread stacks

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

27

We learntWe learnt

� WCE provides for system memory between 1 MB-64 MB and OS needs minimum 512 kB of memory and 4 kB RAM.

� WCE also provides for managing the low memory conditions.

2008Chapter-10 L03: "Embedded Systems - Architecture,

Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.

28

End of Lesson-3 of chapter 10 onWindows andWindows and Memory ManagementMemory Management