_äìÉi~Ä» BlueLab v3.4 Software Release Note January 2006 CSR Cambridge Science Park Milton Road Cambridge CB4 0WH United Kingdom Registered in England 4187346 Tel: +44 (0)1223 692000 Fax: +44 (0)1223 692001 www.csr.com blab-srn-005Pa © CSR plc 2006 This material is subject to CSR’s non-disclosure agreement.
Contents Contents 1 Introduction .................................................................................................................................................... 3 1.1 BlueLab3 ................................................................................................................................................. 3 1.2 BlueLab v3.4............................................................................................................................................ 3 1.
Introduction 1 Introduction This document describes _äìÉi~Ä»=îPKQ, the most recent release of BlueLab3, CSR's software development ® kit for producing embedded applications for CSR’s Bluetooth wireless technology chips. Some additional documentation is included with BlueLab; see the manual available inside xIDE, the integrated development environment for BlueLab and the accompanying PDFs. 1.1 BlueLab3 BlueLab v3.0 introduced true on-chip, real-time debugging for the first time on any Bluetooth chip.
Introduction 1.3 New Features in v3.4 Relative to v3.3 In addition to the changes noted in Appendix E , BlueLab v3.
Introduction ! Flash reading support from Kalimba has been extended to support reading multiple segments each with a maximum size of 64Kword. Note: To make use of the flash access feature BlueCore3-Multimedia chips with a date code of 450 or later must be used. _äìÉi~Ä»=îPKQ= Software Release Note blab-srn-005Pa © CSR plc 2006 This material is subject to CSR’s non-disclosure agreement.
Introduction 1.4 Requirements This release of BlueLab runs on machines operating on Windows 2000 SP4 or later and Windows XP SP1 or later. The development tools access BlueCore through the Serial Peripheral Interface (SPI); therefore, a board supporting this (such as Casira™ or other CSR development boards) is also required. SPI access is performed through low-level printer port access, therefore LPT1 must be available on the PC running BlueLab.
CSR Chips 2 CSR Chips Applications produced with this development kit will run on CSR’s _äìÉ`çêÉ»O, _äìÉ`çêÉPI and _äìÉ`çêÉQ chips, with a firmware build supporting Virtual Machine (VM) v7.4. Notes: The firmware builds supplied with this release all require 6Mbit or 8Mbit devices. Full production firmware matching BlueLab 3.4 is expected to be available from the 22 branch during 2006. BlueLab 3.
Release Functionality 3 Release Functionality 3.1 xIDE This release of BlueLab includes CSR’s integrated development environment, xIDE, supporting development and debugging of both VM applications (in C) and Kalimba DSP code (in assembler). 3.2 Toolchain BlueLab includes a set of development tools for VM applications: Compiler based on GCC v3.3.
Release Functionality ! HID library supporting the human interface device profile ! DUN library supporting the dial up networking profile ! PBAP library supporting the phonebook access profile 3.
Release Functionality Targeting BlueCore variants running HID or unified versions of Firmware ! hid_mouse ! hid_keyboard ! hid_dongle On all variants of BlueCore: spp_dev_a and spp_dev_b implementing role A, or role B, of the serial port profile ! ftp_server ! obex_server ! opp_server Example applications are also provided demonstrating: ! routing of SCO data through the Kalimba DSP (sco_dsp and sco_master applications) ! use of the SBC encoder and decoder libraries (test_sbcloopback app
Firmware 4 Firmware CSR’s policy is to distribute, with BlueLab, a selection of firmware builds whose sole purpose is the development of applications. Before going into production the developer must obtain from CSR Bluetooth-qualified production firmware (which they can use in place of the development firmware supplied with BlueLab). This is a mandatory part of the qualification process. This release of BlueLab v3.
Major Changes in BlueLab3 Relative to BlueLab2 5 Major Changes in BlueLab3 Relative to BlueLab2 BlueLab3 builds on many years of experience with BlueLab1 and BlueLab2. Many components have been redesigned and replaced to make it easier and faster to build the sort of applications CSR’s customers are now working on. 5.1 Tool Changes The most visible change in BlueLab3 is the addition of xIDE, a complete integrated development environment.
Testing 6 Testing BlueLab v3.4 has been in use within CSR throughout its development. Furthermore, explicit testing has covered: ! Installation (and de-installation) on all supported platforms ! Component testing of the connection library and profile libraries A list of known issues is in Appendix A on page 15. CSR welcomes reports of any additional issues through official support channels.
Document References 7 Document References Document: Reference, Date: Specification of the Bluetooth System Core Specification v2.0 + EDR 4 November 2004 Headset Profile Headset Profile Part K:6, v1.1, 22 February 2001 Hands-free Profile Hands-free Profile, v1.0, 29 April 2003 _äìÉi~Ä»=îPKQ= Software Release Note blab-srn-005Pa © CSR plc 2006 This material is subject to CSR’s non-disclosure agreement.
Known Issues Appendix A Known Issues This section lists currently known issues for BlueLab v3.4. The Severity column gives a subjective assessment (Cosmetic, Minor, Major) of how severely each issue may affect the use of BlueLab v3.4. The following items are known problems with the functionality of components which are new to BlueLab3.
Known Issues Severity B-7645 Major The a2dp_source_dongle application does not enter DFU mode. B-7903 Minor When using BCSP as the transport for PSTool and selecting a COM port which does not exist (or is already in use), PSTool causes an internal error in the C++ runtime library. B-8026 Minor It is not currently possible to add custom capabilities to a stream endpoint using the function A2dpAddSep().
Known Issues The following items are known problems with xIDE. Severity Description M-391 Cosmetic After an application panic, it's still possible to click step and run in xIDE but they return error messages. M-406 Minor Stepping over MessageLoop will cause xIDE to stop responding until a message is received. M-452 Minor xIDE has excessive PC CPU usage while polling a running VM application. M-455 Minor xIDE takes a long time to load debug information for large VM projects.
Known Issues ID Severity Description M-871 Minor xIDE can crash with a memory access if you choose to restart all processors in a combined DSP and VM project. M-872 Minor Running or stepping from a kalimba break instruction at the end of do..loop block may not work as expected. M-873 Minor Writing a kalimba register does not affect the value of the register where it is used as a data or program address in the current instruction.
Issues Resolved in BlueLab v3.1 Appendix B Issues Resolved in BlueLab v3.1 The following issues were fixed in the BlueLab v3.1 release. ID Severity B-1730 Minor B-3997 Minor B-4158 Minor The (unused) a2dp_discover call has been removed from the a2dp library. B-4335 Major The hfp profile library will silently ignore any AT+VGS commands which come in faster than they can be handled. This is to avoid memory exhaustion. B-4379 Minor Server side functionality has been added to the GOEP library.
Issues Resolved in BlueLab v3.1 Severity Description B-5039 Minor The GOEP library now sends an explicit delete request to its application when a remote client wishes to delete an object. B-5059 Major The hfp library now unconditionally sends volume indications to the client when in headset mode. Previously it incorrectly checked the local supported features but those are relevant only to the hands-free profile. B-5069 Minor Firmware for BlueCore4-external is now included with BlueLab.
Issues Resolved in BlueLab v3.2 Appendix C Issues Resolved in BlueLab v3.2 The following issues were fixed in the BlueLab v3.2 release. Severity B-998 Minor If a peer device opens and then closes a SCO connection before the application has a chance to respond with DM_SCO_CONNECT_RES, a DM_SCO_DISCONNECT_IND is now sent (previously no primitive was sent to indicate the disconnection.
Issues Resolved in BlueLab v3.2 Severity Description B-5236 Minor The BlueLab toolchain has been extended to support large read-only filesystems on custom hardware using 16-Mbit of flash. B-5248 Minor gcc no longer outputs redundant nop instructions. B-5249 Minor The hfp library now sends a HFP_ENCRYPTION_CHANGE_IND message to the application task in response to receiving a CL_SM_ENCRYPTION_CHANGE_IND message from the connection library.
Issues Resolved in BlueLab v3.2 ID Severity Description B-5485 Medium MPEG-2/4 AAC support added in a2dp library B-5492 Minor The goep library no longer calls ConnectionSmSetSdpSecurityOut to disable SDP security; it now leaves this policy decision to the application. B-5496 Minor The debug variant of the ftpc library has been updated to perform additional checking (as with other BlueLab libraries).
Issues Resolved in BlueLab v3.2 Severity Description B-5623 Minor In the avrcp library, AvrcpConnectResponse no longer expects a bluetooth address to be passed in. B-5624 Minor In the avrcp library, calling AvrcpConnect will now always return a confirmation message if the request fails. B-5625 Minor The debug version of the connection library now panics if an L2CAP connect response from the client contains invalid parameters.
Issues Resolved in BlueLab v3.2 ID Severity B-5751 Minor Description When the mp3 decoder was requested to skip over an 'mp3 granule' (equivalent to half an mp3 frame) it would actually consume a whole mp3 frame. This caused it to consume data twice as quickly as expected during the 'poorlink' condition. To get around this problem the 'poorlink percentage' in the past had to be half the value that you'd imagine it should have been. This bug has been corrected, i.e.
Issues Resolved in BlueLab v3.2 Severity Description B-5870 Minor The default PIN code for all supplied applications has been changed from "4444" to "8888" B-5871 Major The a2dp library now respects the local bitpool parameters set during initialisation. B-5874 Major gcc3.3 is now less likely to fail with an internal error while compiling calls to memcpy involving pointers to pointers.
Issues Resolved in BlueLab v3.2 Severity Description B-5967 Minor AV streaming has been improved so that the start of a track will play straight away rather than 200ms being lost. Also the poorlink state is now less likey to be entered and so previous mute periods between audio tracks should not exist any more. B-5972 Minor The power table in the gavdp library now uses passive mode.
Issues Resolved in BlueLab v3.2 ID Severity B-6129 Minor B-6143 Minor B-6152 Minor A firmware change means that the sink value in DM_EX_SCO_DISCONNECT_IND primitives is now correctly set, rather than being zero. B-6153 Minor The av_headset_hfp application now checks stream validity before routing SCO to the PCM hardware. B-6155 Minor Freeing a pointer which points into the middle of an allocated region (rather than the start of the region) now causes a VM panic.
Issues Resolved in BlueLab v3.2 ID Severity B-6330 Minor Description Any streams connected to the Kalimba DSP are now disconnected before a new Kalimba DSP application is loaded by KalimbaLoad; previously the firmware could believe that streams were still connected, despite the Kalimba DSP having been restarted. A warping operator has been added to the Kalimba DSP libraries allowing stream_decode to maintain buffer levels at the good working level.
Issues Resolved in BlueLab v3.2 ID Severity Description B-6641 Major The MPEG-2 extended sample rates have been removed from the MP3 capabilities in the a2dp library because these are not supported by the Kalimba DSP application. B-6694 Major Calls to StreamConnect with a SCO stream no longer fail if the SCO connection is in the process of being closed by the baseband but the VM application has yet to be informed.
Issues Resolved in BlueLab v3.2 ID Severity B-7638 Minor Description A demonstration version of the CVC DSP code has been added to the av_headset_hfp application (this can be enabled by defining INCLUDE_CVC in the project properties.) Major The EnergyEstimationOn/Off functions no longer fail if the SCO sink is connected to a source. KEX-20 Minor A spurious read has been eliminated from the gargle filter. This caused the audio to sound gargled even when the filter was off.
Issues Resolved in BlueLab v3.3 Appendix D Issues Resolved in BlueLab v3.3 The following issues have been fixed since BlueLab v3.2 was released. Severity B-514 Minor gcc saves constant memory by placing zero initialised global variables into a memory segment that is zero initialised at start-up. They were previously treated in the same way as any other constant initialised variables. B-3551 Minor The GOEP & FTP client libraries now implement the optional OBEX level authorisation feature.
Issues Resolved in BlueLab v3.3 Severity Description B-6505 Minor Scripts to help Matlab users to inspect DSP state (such as buffer levels) have been added to the tools/matlab directory. B-6512 Minor The rfcomm primitive set has been extended to include RFC_EX_ESTABLISH_IND primitive which contains the Bluetooth address of the remote device. If extended primitives are enabled this is sent instead of the RFC_ESTABLISH_IND primitive.
Issues Resolved in BlueLab v3.3 ID Severity Description The following new codec gain control traps have been added: CodecSetRawInputGainA CodecSetRawInputGainB B-7476 Minor CodecSetRawOutputGainA CodecSetRawOutputGainB CodecEnableMicInputGainA CodecEnableMicInputGainB. Minor The gavdp library now cleans up all connections properly if remote end does not respond to a CLOSE request. B-7493 Minor IR OBEX has the concept of parameters that are specific to a particular application.
Issues Resolved in BlueLab v3.3 ID Severity Description Minor B-8115 Minor The gavdp and a2dp libraries now notify their client when link loss occurs with a new error code in the close message. B-8139 High HFP will now inform applications of the phone number type (i.e. national, international etc) when +CNUM, +CLIP, +CCWA and +CLCC notifications are received from the AG. B-8153 Minor The hfp library now sends VGS commands when connected over an HSP connection with a Fujitsu F900iT.
Issues Resolved in BlueLab v3.3 ID Severity B-8497 Major B-8536 Minor B-8538 Minor The connection library no longer sends a CL_RFCOMM_DSICONNECT_IND message to the client task if the local device rejected the rfcomm connect attempt. B-8553 Minor The USB Audio EndPoint descriptor in the a2dp_source_dongle application has been updated to include the bRefresh and bSyncAddress fields required by the USB2.0 chapter 9 tests.
Issues Resolved in BlueLab v3.3 Severity Description B-9042 Minor MessageSystemTask and MESSAGE_USB_ENUMERATED have been added to the VM libraries to allow an application to receive an indication when USB enumeration is complete. B-9043 Minor The cbops routines upsample_mix_mono and upsample_mix_stereo incorrectly check the amount of tone data used in each call. This means the routine will always assume there is tone data available to mix.
Issues Resolved in BlueLab v3.3 Severity Description B-9787 Minor The Kalimba Matlab tools kalvarprs and kalprocessor were locked between calls which meant they were not cleared by clear all. This is unnecessary and the lock has been removed. B-9812 Major Attempting to StreamConnect a FileSource or StreamAudioSource to a PcmSink when PCM port 0 has been configured to a rate of 0 no longer causes a firmware panic.
Issues Resolved in BlueLab v3.4 Appendix E Issues Resolved in BlueLab v3.4 The following issues have been fixed since BlueLab v3.3 was released. Severity Description B-2770 Cosmetic BlueLab3 (especially make) does not understand file or directory names containing spaces. BlueLab now enforces this by refusing to install in a directory under Program Files (or any other path containing spaces.) B-4522 Minor The avcontrol application no longer leaks memory if left running with the AV dongle unplugged.
Issues Resolved in BlueLab v3.4 ID Severity Description B-8225 Fatal Previously, kalasm2 reported an unspecified fatal error if source code has a block defined within a block. Nested blocks now report a suitable error message. B-8387 Major The a2dp_source_dongle example application will no longer panic on the fourteenth connection attempt to an a2dp sink if it is built as an analogue input device. B-8389 Minor BlueLab now includes a hid_keyboard reference application.
Issues Resolved in BlueLab v3.4 Severity Description B-9886 Minor A dtmf (Dual Tone Multi-frequency) library has been added to the Kalimba library set. B-9921 Minor The DM has been improved so that when an ACL link enters a new Power State, the DM will automatically update the link policy to prevent the remote device changing the low-power mode to an undesired mode. For example, when the powerstate is active, all sniff/park/hold requests from the remote device will be rejected.
Issues Resolved in BlueLab v3.4 ID Severity Description B-10614 Minor RFCOMM has been improved so that if it receives an RFC_PARNEG_REQ for an already established DLC, it now responds with an RFC_PARNEG_CFM with the current parameters. It previously did not respond which could cause the client to hang. B-10622 Minor A bug has been fixed which meant the SourceConfigure and SinkConfigure of messages always behaved as if VM_MESSAGE_SOME had been passed as the value.
Issues Resolved in BlueLab v3.4 Severity Description B-11123 Minor A new helper function, RegionMatchesUUID128 has been added to the region library. B-11134 Minor The aghfp library will now send blank CLIP notifications if no caller id details have been specified. B-11140 Minor The TransformPollTraffic function has been added to detect activity on connected streams. B-11141 Minor TransformFromSource and TransformFromSink have been added to find the transform connected to a stream.
Issues Resolved in BlueLab v3.4 Severity Description B-11576 Major The connection library has been updated connection failure due to timeout correctly. B-11577 Major CPU usage when handling HID input reports has been reduced. B-11599 Minor New SourceConfigureHidSensor traps have been added to configure HID sensors. These supersede the use of SourceConfigure for this (as used in BlueLab v3.3), adding type safety and additional parameter checking.
Issues Resolved in BlueLab v3.4 ID Severity Description Under some circumstances, breakpoints set on lines without any code would be moved to sensible lines and the following message generated in the debug window: "Failed to install breakpoint at address [incorrect address], is this really RAM?". This issue has been resolved. Minor M-862 Minor xIDE now notices that the dsp has stopped when it hits a data breakpoint.
Terms and Definitions Terms and Definitions ADC Analogue to Digital Converter (the analogue inputs on BlueCore) AG Audio Gateway AT Attention (modem command prefix) API Application Programming Interface AVRCP Audio/Video Remote Control Profile BCCMD BlueCore Command BlueCore Serial Protocol BlueCore™ Group term for CSR’s range of Bluetooth wireless technology chips BlueLab™ CSR’s development toolset for building applications to run in the firmware’s VM ® Bluetooth Set of technologies prov
Terms and Definitions SPP Serial Port Profile TCP Transmission Control Protocol UART Universal Asynchronous Receiver Transmitter UDP User Datagram Protocol USB Universal Serial Bus VM Virtual Machine; environment in the BlueCore firmware for running application-specific code produced with BlueLab xIDE BlueLab’s Integrated Development Environment _äìÉi~Ä»=îPKQ= Software Release Note blab-srn-005Pa © CSR plc 2006 This material is subject to CSR’s non-disclosure agreement.
Document History Document History Revision Date a 31JAN 06 Reason for Change Original publication of this document. (CSR reference: blab-srn-005Pa) BlueLab v3.4 Software Release Note blab-srn-005Pa January 2006 ® Unless otherwise stated, words and logos marked with ™ or are trademarks registered or owned by Cambridge ® Silicon Radio Limited or its affiliates. Bluetooth and the Bluetooth logos are trademarks owned by Bluetooth SIG, Inc. and licensed to CSR.