• Tidak ada hasil yang ditemukan

Background and Objectives - Computer Science

N/A
N/A
Protected

Academic year: 2025

Membagikan "Background and Objectives - Computer Science"

Copied!
10
0
0

Teks penuh

(1)

Providing Bluetooth Functionality on Embedded Devices: A look at Embedded Operating Systems and

Bluetooth Stacks

Brian Fox

Rhodes University Computer Science Honours Supervisors:

Dr Greg Foster and Prof. Peter Clayton

Background and Objectives

Part of the AWIS project

Aim was to design and build a custom OS image that exposed a Bluetooth API to application programmers

Initially, the focus was specifically on Microsoft Windows CE .NET.

It broadened to include looking at other embedded OS’

(2)

The Operating Systems

Looked at:

in theory: Windows CE .NET, Windows XP Embedded, Wind River VxWorks and QNX Neutrino

in practice: Windows CE .NET and SnapGear Linux

All highly modular in design

Support a wide variety of target hardware

Windows CE .NET Architecture

OEM Hardware Embedded Shell

Applications Applications

WIN32 APIs

COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Windows CE Shell Services

Remote Connectivity

WIN32 APIs

COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Windows CE Shell Services

Remote Connectivity

Kernel

Library Blue-

tooth GWES Device

Manager

File Manager

TCP/IP Kernel

Library Blue-

tooth GWES Device

Manager

File Manager

TCP/IP OAL

Bootloader Drivers Device

Drivers File Drivers OAL

Bootloader Drivers Device

Drivers File Drivers

(3)

Windows CE .NET

Microsoft major portable embedded OS

Allows for simultaneous

software/hardware development through use of Board Support Packages and emulation

Only vendor to supply a Bluetooth stack with the OS

Design done through the Platform Builder IDE

Platform Builder

Integrated Development Environment

Provides the means to create, build, deploy and debug a custom image of the OS

Provides an emulator to allow for simultaneous hardware and software development

Automatically determines dependencies between modules

Practical experience

Have built a headless operating environment exposing Bluetooth functionality through the WINSOCK API

(4)

Platform Builder

Microsoft Bluetooth Stack

(5)

QNX Neutrino Architecture

QNX Neutrino

Designed around microkernel and central software bus

“Plug-in” type architecture

Inter-process communication via message passing handled by the microkernel

OS exposes standard POSIX API

Platform creation either manual or through use of the Momentics Professional Edition IDE

Will run on multiple host platforms

(6)

Wind River VxWorks

Modules implemented on top of the core OS

Core OS consists of a microkernel and debug agent and interacts with the BSP

Platform creation either manual or through use of the Tornado IDE

SnapGear

Fully embedded implementation of the Linux 2.0, 2.4 & 2.6 kernels

Normal Linux will not run in an MMU-less environment

Compacted libraries

Does not use board support packages

The kernel is configured and then cross- compiled to a specific target platform

This image can then be emulated

(7)

SnapGear Configuration

BlueZ

Open source Bluetooth stack

compatible with most Linux 2.4 -2.6 kernels

Not a full stack implementation

(8)

Methodology

Where possible I tried to follow the manufacturer’s advice

Especially in the commercial OS’ the manufacturer is trying to make their product as easy to use as possible

Any testing was done on an emulator

Results

Building a basic image in either OS was very easy

Customising CE .NET was considerably easier

Customising SnapGear required

customising low level kernel features which are contained within the Microsoft BSP

This could be considered a benefit to using SnapGear if you had the knowledge and were looking for that level of control

(9)

Results

SnapGear produced the smaller image in both cases

Minimum image size:

SnapGear image size was 130kb

apparently you can get it smaller

Windows CE .NET was 200kb

Customised image size:

SnapGear image was 700Kb

Windows CE .NET was 1118kb

Further Work

Would be nice to deploy an image to a test processor board and Bluetooth development board to test

Windows CE 5.0 has just been

released so this could also be looked at

Further work surrounding embedded systems architecture and design

(10)

Questions?

Referensi

Dokumen terkait