CSR Firmware Sony Training Seminar 10th April 2002.

Slides:



Advertisements
Similar presentations
The BlueCore™ Technology Roadmap
Advertisements

Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
The Assembly Language Level
1 MICSSA 2003 Bluetooth in the defence industry The quest for single chip point to multipoint Presented by David Johnson TFA leader – Mobile Platform Technologies.
USB Digital Audio Player Using ST92163 By Microcontroller DivisionVersion 1.2 / November 2000.
1 IAR MakeApp for the Bluetooth protocol stack A superior configuration and optimization tool!
UDP - User Datagram Protocol UDP – User Datagram Protocol Author : Nir Shafrir Reference The TCP/IP Guide - ( Version Version.
Bluetooth Hardware CS215 Rohit Kapoor Prabhakar Pundir.
IEEE Wireless 2002 Conference - Seattle2/25/02 How To Use Bluetooth: Implementation of Current Technology Copyright 2002 Stonestreet One, Inc Tim Reilly.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
1 Overview of Bluetooth technology Bluetooth protocol stack The Ericsson Bluetooth module Alternate solutions Wireless LANs Conclusions References Networking.
CCNA 2 v3.1 Module 2.
® The Bluetooth Architecture APIs, L2CAP, Link Management, Baseband, and the Radio.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Project proposal Java Bluetooth stack. What is a Bluetooth stack? In short, to get any functionality out of a Bluetooth device, one needs to implement.
SAMEER NETAM RAHUL GUPTA PAWAN KUMAR SINGH ONKAR BAGHEL OM PANKAJ EKKA Submitted By:
Shell and Flashing Images Commands and upgrades. RS-232 Driver chip – ST3232C Driver chip is ST3232C Provides electrical interface between UART port and.
Hacking the Bluetooth Pairing Authentication Process Graduate Operating System Mini Project Siyuan Jiang and Haipeng Cai.
BLUETOOTH. Introduction Bluetooth technology discussed here aims at so-called ad- hoc piconets, which are local area networks with a very limited coverage.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Distributed systems – Part 2  Bluetooth – 2 nd set of slides Anila Mjeda.
Bluetooth Architecture and Applications Chris Greco, Wesley Kunzler, Koy Rehme, Zhuo Ruan.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Multimedia & Communications ATMEL Bluetooth Background information on Bluetooth technology ATMEL implementation of Bluetooth spec.
INTRODUCTION Bluetooth technology is code name for Personal Area Network (PAN) technology that makes it extremely easy to connect a mobile, computing device.
3. Bluetooth usage models 4. L2CAP process 5. Example 6. Terminology
Architectures. Many tasks involved in encoding, protecting and transmitting user application data as bit stream. Network Architecture is how tasks are.
Bluetooth Kirthika Parmeswaran Telcordia Technologies OOPSLA’2000.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Example title for notes and handouts
King Fahd University of Petroleum & Minerals Electrical Engineering Department EE400 PROJECT Personal Area Networks Instructed by Dr.AlGhadbanPresenters.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
1 Network Administration Module 3 ARP/RARP. 2 Address Resolution The problem Physical networks use physical addresses, not IP addresses Need the physical.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Class ID: Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Implementing Bootloaders on Renesas MCUs.
Institute of Technology Sligo - Dept of Computing Sem 2 Chapter 12 Routing Protocols.
Bluetooth Techniques Chapter 15. Overview of Bluetooth Initially developed by Swedish mobile phone maker in 1994 to let laptop computers make calls over.
Codes by Dr. Amin Danial Asham. References  Programmable Controllers- Theory and Implementation, 2nd Edition, L.A. Bryan and E.A. Bryan.
Bluetooth on CE. Mid - Presentation Roman Zoltsman & Oren Haggai Group /2001 Instructor: Nir Borenshtein HSDSL Lab. Technion.
Team Topic Presentation Team 6 BLUETOOTH What is Bluetooth? Cable Replacement Automatic Connectivity Hidden Computing Few Examples: 1.Automatic Door.
Full and Para Virtualization
Bluetooth In 1994, the L. M. Ericsson company became interested in connecting its mobile phones to other devices without cables. A SIG (Special Interest.
JPMA PROJECT PRESENTATION (ITU) 1 INTRODUCTION BLUETOOTH CHAT DESIGN JAVA ON MOBILE DEVICE Presenters Benjamin Boateng Abass Omer Venkateshwar Rao Namilakonda.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
Development of a Bluetooth based web camera module.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Bluetooth Technology -Prepared By Jasmin Patel -Guided By Jagruti Goswami.
Sem 2 v2 Chapter 12: Routing. Routers can be configured to use one or more IP routing protocols. Two of these IP routing protocols are RIP and IGRP. After.
BTSTACK RTLAB YuJin Park. Bluetooth Protocol Stack Protocol Stack Applications TCS Binary RFCOMM Service Discovery Protocol (SDP) Logical Link Control.
5G Wireless Technology.
Chapter 2: System Structures
Seminar on…. 5G Wireless Technology By: Niki Upadhyay
A Wireless LAN technologies IEEE
Understanding the OSI Reference Model
Net 323: NETWORK Protocols
Programmable Logic Controllers (PLCs) An Overview.
Topic 5: Communication and the Internet
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Chapter 2: System Structures
11.1 Interrupt Mechanism, Type, and Priority
BLUETOOTH Personal Area Networking [ PAN ] over Bluetooth
Short-Range Radio Frequency Networking
Short-Range Radio Frequency Networking
William Stallings Computer Organization and Architecture
Operating System Concepts
Operating System Concepts
Presentation transcript:

CSR Firmware Sony Training Seminar 10th April 2002

Firmware Categories Several variants of the BlueCore firmware are available. These target different application areas and market segments. All the variants are produced from the same source code tree. Sony Training Seminar 10th April 2002

Firmware Categories - HCI Build The traditional architecture splits functionality between the Bluetooth module and a host at the HCI level. This offers the most hardware flexibility. A separate microprocessor is required to implement the “higher layers”. HCI Upper Layer Driver L2CAP SDP RFCOMM TCS-BIN Adapted Protocols (TCP/IP, WAP) Application Code and User Interface Bluetooth Radio Bluetooth Baseband (Link Controller) Link Manager (LM) HCI Lower Layer Driver Host Hardware Bluetooth Module Sony Training Seminar 10th April 2002

Firmware Categories - RFCOMM Build Additional layers of the Bluetooth protocol stack can be run on the BlueCore. This removes some processing load from host. The maximum data throughput may be reduced. Currently no support for DFU. Adapted Protocols (TCP/IP, WAP) Application Code and User Interface Bluetooth Radio Bluetooth Baseband (Link Controller) Link Manager (LM) HCI Layer (optional) Hardware Host Bluetooth Module L2CAP SDP RFCOMM Including the extra layers of the protocol stack increases the size of the firmware, preventing the inclusion of DFU support in 4Mbit flash. It will be possible to support DFU in the same build as RFCOMM when 8Mbit flash devices are used. Sony Training Seminar 10th April 2002

Firmware Categories - RFCOMM Build The BlueCore firmware incorporates a virtual machine (VM). The complete application can run on the BlueCore, without requiring an external host processor. Suitable for small applications such as mobile phone headsets and audio gateways. The VM is also present in HCI-only builds. Bluetooth Radio Bluetooth Baseband(Link Controller) Link Manager (LM) HCI Layer (optional) Host Hardware (optional) Bluetooth Module L2CAP SDP RFCOMM Adapted Protocols (TCP/IP, WAP) Application Code and User Interface Sony Training Seminar 10th April 2002

Firmware Categories - Application Specific Special build variants are produced for some applications, where the VM does not provide sufficient flexibility or performance: HID (mouse etc.) HID proxy (presents a USB HID interface to the PC) DUN server Additional variants are being developed: BNEP (IPv4 or IPv6) Some of these may revert to using a custom application with a standard firmware build once the VM has been enhanced sufficiently. Sony Training Seminar 10th April 2002

Firmware Categories - Host Transport BlueCore supports several transports between itself and the host: H:2 (HCI USB Transport Layer) H:4 (HCI UART Transport Layer) BCSP (BlueCore Serial Protocol) Raw UART (enables custom protocols from VM applications) Combining support for all of these transports with RFCOMM requires more than 4Mbit of program memory. Hence, some firmware builds only contain support for a single host transport. Support for self-test in production may be omitted from some builds for the same reason. Sony Training Seminar 10th April 2002

Firmware Categories - BlueCore Variant Separate firmware builds are required for different members of the BlueCore family. Currently two variants are supported: BlueCore01b BlueCore2-External Additional build variants will be produced as required. Sony Training Seminar 10th April 2002

Firmware Categories - Encryption Some countries place restrictions on the length of keys that may be used for encryption. To comply with these restrictions, the BlueCore firmware can be supplied with a limit of either 56bits or 128bits on the maximum length of encryption keys. This limit is absolute; it overrides any settings in persistent store. Due to UK export regulations, firmware builds placed on the CSR website are restricted to 56bit encryption. If required, 128bit versions must be explicitly requested. Sony Training Seminar 10th April 2002

Firmware Categories - Matrix of Builds The basic firmware build variants are currently: All of these can be combined with the following: BlueCore01b or BlueCore2-External 56bit or 128bit encryption Sony Training Seminar 10th April 2002

Firmware Categories - Current Combinations The following firmware build combinations are currently produced: HCI with DFU for BC01b 56bit encryption HCI with DFU for BC01b 128bit encryption HCI with DFU for BC2-External 56bit encryption HCI with DFU for BC2-External 128bit encryption RFCOMM for BC01b 56bit encryption BCSP only RFCOMM for BC2-External 56bit encryption BCSP only RFCOMM for BC01b 56bit encryption H4 only RFCOMM for BC2-External 56bit encryption H4 only HID for BC01b (56bit encryption) HID proxy for BC01b (56bit encryption) USB only Sony Training Seminar 10th April 2002

Version Number - Structure and Release Status BlueCore firmware builds are assigned both a structured textual identifier and numeric build identifier. The textual build identifier encodes the following information: Firmware version number Release status Firmware category Bluetooth specification version Build date The numeric build identifier is unique for each release and build variant. Sony Training Seminar 10th April 2002

Version Number - Textual Identifier The textual build identifier is comprised of several fields that indicate the nature of the firmware build, e.g. bc02x_4hci_bt1.1_14.3_encr128 2002-02-27 Build date Hardware Program size Upper layers Bluetooth specification Branch Build on branch Encryption Sony Training Seminar 10th April 2002

Version Number - Firmware Type - Hardware The first part of the textual build identifier indicates the target BlueCore type. These are currently: Sony Training Seminar 10th April 2002

Version Number - Firmware Type - Program Size All firmware builds currently fit within 4Mbit (the limit of external program memory on BlueCore01). BlueCore2 can address up to 8Mbit of external program memory. This is likely to be used by some future firmware builds, e.g. RFCOMM with support for DFU. The required program memory size is included in the textual build identifier after the BlueCore variant: Sony Training Seminar 10th April 2002

Version Number - Firmware Type - Upper Layers One of the most important differences between different firmware builds is the nature of the higher protocol layers, if any, that are included. The textual build identifier indicates the type of build: Sony Training Seminar 10th April 2002

Version Number - Firmware Type - BT Spec. All current BlueCore firmware is based on version 1.1 of the Bluetooth specification. This is indicated in the textual build identifier after the firmware category: Sony Training Seminar 10th April 2002

Version Number - Branch Name A new branch is created within the revision control system (CVS) for each release that contains significant new functionality. Only bug fixes are applied on a branch. Branches are usually given numeric names: Sony Training Seminar 10th April 2002

Version Number - Build on Branch A sequence of firmware builds may be produced on each branch, numbered numerically from 0. Not all builds are released, e.g. if problems are detected during testing. Occasionally, special builds are produced with individual patches applied to earlier versions. These are usually intended for testing only. For example: Sony Training Seminar 10th April 2002

Version Number - Release Status Two qualities of release are produced: Production quality Beta quality Production quality releases have been subject to, and have passed, formal testing. Beta quality releases are intended for development use only; they are not suitable for production use. Beta releases are marked by “dev” in the textual build identifier: Sony Training Seminar 10th April 2002

Version Number - Firmware Type - Encryption The limit on length of encryption keys is incorporated into the textual build identifier after the version number: Sony Training Seminar 10th April 2002

Version Number - Firmware Type - Transports Some firmware builds only include support for a single host transport. Restrictions on the host transport are appended to the end of the textual build identifier: Lack of a transport specification in the build identifier indicates that all host transports are supported. Sony Training Seminar 10th April 2002

Version Number - Build Date The date on which the firmware build was made is included at the end of the textual build identifier. The date is formatted as YYYY-MM-DD, i.e. the reverse of the normal (European) order. For example: Sony Training Seminar 10th April 2002

Version Number - Textual Identifier Decoded The textual build identifier shown earlier can now be decoded: bc02x_4hci_bt1.1_14.3_encr128 2002-02-27 BlueCore2-External 4Mbit program memory required Standard HCI-only build Version 1.1 of the Bluetooth specification Branch 14 4th build on the branch 128bit limit on encryption keys Built on 27th February 2002 Sony Training Seminar 10th April 2002

Version Number - Reading Textual Identifier There are two techniques for reading the textual build identifier from the firmware: The firmware includes a Symbol Lookup Table (SLUT) than can be used to find information, such as the textual build identifier, either direct from the flash (over SPI) or from a firmware file The firmware can be uploaded to a PC using DFU, with the textual build identifier included as a comment Sony Training Seminar 10th April 2002

Version Number - Numeric Identifier All firmware builds are allocated a unique numeric identifier, allocated in the order that builds are made. Ordering of the numeric identifiers may not be correlated with the branch names: Builds prior to branch 13 used the same numeric identifier for the 56bit and 128bit encryption versions. Sony Training Seminar 10th April 2002

Version Number - Reading Numeric Identifier There are several techniques for reading the numeric build identifier from the firmware: The SLUT can be used to find the numeric build identifier, either direct from the flash (over SPI) or from a firmware file A BCCMD command is provided to read the numeric build identifier over the host transport USB devices present the numeric build identifier in the bcdDevice field of the device descriptor The firmware can be uploaded to a PC using DFU, with the numeric build identifier included in bcdDevice field of the standard DFU suffix Sony Training Seminar 10th April 2002