Providing Bluetooth Functionality on Embedded Devices: A look at Embedded Operating Systems and...
-
Upload
dominick-cox -
Category
Documents
-
view
213 -
download
0
Transcript of Providing Bluetooth Functionality on Embedded Devices: A look at Embedded Operating Systems and...
Providing Bluetooth Functionality on Embedded Devices: A look at Embedded Operating Systems and Bluetooth Stacks
Brian FoxSupervisors:Dr Greg FosterProf. Peter Clayton
Introduction
Part of the Automated Wireless Identification System project
Specifically focused on how to expose Bluetooth functionality in embedded devicesI.e. design and build a custom OS image
which exposes some form of API allowing access to the Bluetooth stack
Timeline
Look at the various OS builders in use for various embedded OS’sThis entailed identifying and studying the
architecture of some embedded OS’s on the market and looking at the tools provided to help create a custom image for that OS
Create and build own custom Windows CE .NET platform
Problems involved with Embedded Systems Design
Hardware / Software partitioning What parts of the solution should be
implemented where? Can lead to integration problems in later
development stages
Power Some microprocessors can operate in “sleep
mode” and only wake up on a timer tick
Debugging Hooks provided in microprocessor circuitry
Embedded Operating Systems
Highly modular/componentisedSupport wide variety of target
hardware and processors through use of BSPs
Real-timePower management
Windows CE .NET
Designed around mobile devices Minimum footprint of 200k
Actual footprint currently
Power management “Instant On” Control of device level power states
Wide range of board support packages (BSPs)
Microsoft is the only vendor to supply a Bluetooth stack with the operating system
Windows CE .NET Architecture
OEM Hardware
Embedded Shell
ApplicationsApplications
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell Services
Remote Connectivity
WIN32 APIsCOREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Windows CE Shell Services
Remote Connectivity
KernelLibrary Blue-
tooth
GWES Device Manager
FileManager
TCP/IP
KernelLibrary Blue-
tooth
GWES Device Manager
FileManager
TCP/IP
OALBootloader
DriversDevice Drivers
File DriversOAL
BootloaderDrivers
Device Drivers
File Drivers
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
Platform Builder
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
QNX Neutrino Architecture
Wind River VxWorks
Modules implemented on top of the core OSCore OS consists of a microkernel and
debug agent and interacts with the BSPPlatform creation either manual or
through use of the Torando IDE
Bluetooth Stacks
Means by which the OS and applications access and control the Bluetooth hardwareExpose an API to application developers
Modular in concept and designMay need to be ported to a specific OSBluetooth Qualification
Need to implement all core stack layers and Generic Access Profile and Serial Port Profile
Microsoft Bluetooth Stack
Stonestreet One Bluetopia
Where to from here?
Test and debug practical imageHopefully deploy onto a development
board for full testing with the other team members
Questions?