This README discusses the usage of Bluetooth script file (BTS), a binary
file format that contains actions and commands for Texas Instruments
Bluetooth devices. In addition to describing the file format specifications,
this README also explains about its naming convention and specifies which
bts file to use for each of Texas Instruments Bluetooth devices.
WHAT IS A BTS FILE?
BTS is an abbreviation for Bluetooth script. The BTS file is a binary file
that contains commands and actions for Texas Instruments' Bluetooth devices.
HCI communication is a two-way street. For each HCI command sent from the
host to a BT device, the BT device responds with an HCI event. In order to
simplify the format and procedures required to successfully execute these
HCI commands, the BTS format is used. The BTS file consists of mandatory
initialization scripts and additional platform-dependent, optional
commands that are primarily used in the Bluetooth device initialization.
The BTS file can be run either as a .bts file placed in the file system,
or be converted into a memory array in C language that can then be integrated
into the code of the entire system.
BTS files are distributed under TEXAS INSTRUMENTS LICENSE - see the
accompanying LICENSE file for more details.
BTS FUNCTIONALITY
The primary usage of the BTS format is to run the initialization script
after the Bluetooth device powers up. The initialization script must be
executed after every device power-up. BTS initialization scripts contain
a section of memory write commands (written code to RAM) that perform as
a software patch to fix potential ROM issues of the BT device.
Although this is the primary purpose of the BTS format, it can also be
used in any scenario to load HCI commands to the Bluetooth device. BTS files
may also be used for platform-related commands such as to enable deep-sleep
mechanism, changing UART baud rate, audio configurations, etc.
BTS NAMING FORMAT
Each initialization script corresponds to a single TI BT chip and firmware
ROM version. These versions are indicated in the name of the initialization
script. The naming conventions of the TI BT chips are TIInit_X.Y.Z.bts,
where:
X = Product Name
Y = ROM SW Major Number
Z = ROM SW Minor Number
6.6.15 = CC256xA/NL5500L Product, 6.15 ROM Version
6.7.16 = CC256xB Product, 7.16 ROM Version
6.12.26 = CC256xC Product, 12.26 ROM Version
7.6.15 = WL127x Product, 6.15 ROM Version
10.6.15 = WL128x, 6.15 ROM Version
11.8.32 = WL180x, WL183x, WL185x PG2.1 or PG2.2, 8.32 ROM Version
12.8.32 = WL187x PG2.1 or PG2.2, 8.32 ROM Version
12.10.28 = WL18xxQ PG1.11, 10.28 ROM Version
Exceptions are the initialization files of CC256xB/C devices which are also
provided as three separate bts files:
initscripts-TIInit_6.7.16_bt_spec_4.1.bts
-OR- initscripts-TIInit_6.12.26.bts - BT main bts file
initscripts-TIInit_6.7.16_ble_add-on.bts
-OR- initscripts-TIInit_6.12.26_ble_add-on.bts - BLE functionality add-on
initscripts-TIInit_6.7.16_avpr_add-on.bts
-OR- initscripts-TIInit_6.12.26_avpr_add-on.bts - AVPR (WBS, Assisted A2DP) functionality add-On
When using CC256xB or CC256xC with linux (either TI dual-mode Bluetooth stack or BlueZ),
use the TIInit_6.7.16.bts or TIInit_6.12.26.bts respectively. It combines the main bts with
ble add-on.
For additional details, please refer to:
http://www.ti.com/tool/wl18xx-bt-sp
http://www.ti.com/tool/cc256xc-bt-sp
http://www.ti.com/tool/cc256xb-bt-sp