1# 2# Makefile to download and convert TI's CC256x Service Pack .bts files from 3# http://processors.wiki.ti.com/index.php/CC256x_Downloads 4# 5# Service Packs for CC256xB v1.5 and CC256xC v1.0 downloaded from BlueKitchen company website 6# https://e2e.ti.com/support/wireless_connectivity/bluetooth_cc256x/f/660/p/560523/2056007#2056007 7 8TI_GIT_REPO_URL = https://git.ti.com/cgit/ti-bt/service-packs/blobs/raw/a027ae390d8790e56e1c78136c78fe6537470e91 9BLUEKITCHEN_URL = https://bluekitchen-gmbh.com/files/ 10CONVERSION_SCRIPT=$(BTSTACK_ROOT)/chipset/cc256x/convert_bts_init_scripts.py 11 12 13# First generation CC2560 - AKA TIInit_6.2.31.bts 14 15# v2.44 - file part of .zip archive 16 17CC2560_BT_SP_BTS.zip: 18 @echo "Downloading $@" 19 @curl -sS -O https://processors.wiki.ti.com/images/d/da/CC2560_BT_SP_BTS.zip 20 21bluetooth_init_cc2560_2.44.bts: CC2560_BT_SP_BTS.zip 22 @echo "Extracting $@" 23 @unzip -q -j -o CC2560_BT_SP_BTS.zip CC2560_BT_SP_BTS/bluetooth_init_cc2560_2.44.bts 24 25# Second generation CC2560A and CC2564 - AKA TIInit_6.6.15.bts 26 27# v2.14 - files part of .zip archive 28 29CC2560A_BT_SP_BTS.zip: 30 @echo "Downloading $@" 31 @curl -sS -O https://processors.wiki.ti.com/images/e/e7/CC2560A_BT_SP_BTS.zip 32 33CC2564_BT_BLE_SP_BTS.zip: 34 @echo "Downloading $@" 35 @curl -sS -O https://processors.wiki.ti.com/images/1/1e/CC2564_BT_BLE_SP_BTS.zip 36 37bluetooth_init_cc2560A_2.14.bts: CC2560A_BT_SP_BTS.zip 38 @echo "Extracting $@" 39 @unzip -q -j -o CC2560A_BT_SP_BTS.zip CC2560A_BT_SP_BTS/bluetooth_init_cc2560A_2.14.bts 40 41bluetooth_init_cc2564_2.14.bts: CC2564_BT_BLE_SP_BTS.zip 42 @echo "Extracting $@" 43 @unzip -q -j -o CC2564_BT_BLE_SP_BTS.zip CC2564_BT_BLE_SP_BTS/bluetooth_init_cc2564_2.14.bts 44 45# Third generation CC256xB - AKA TIInit_6.7.16.bts 46 47# v1.2 - versioned files TI Git Repo 48bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts: 49 @echo "Downloading $@" 50 @curl -sS -O $(TI_GIT_REPO_URL)/bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts 51 52bluetooth_init_cc2564B_1.2_BT_Spec_4.1.bts: 53 @echo "Downloading $@" 54 @curl -sS -O $(TI_GIT_REPO_URL)/bluetooth_init_cc2564B_1.2_BT_Spec_4.1.bts 55 56BLE_init_cc2564B_1.2.bts: 57 @echo "Downloading $@" 58 @curl -sS -O $(TI_GIT_REPO_URL)/BLE_init_cc2564B_1.2.bts 59 60# v1.4 - versioned files TI Git Repo 61TIInit_6.7.16_bt_spec_4.1.bts: 62 @echo "Downloading $@" 63 @curl -sS -O https://git.ti.com/ti-bt/service-packs/blobs/raw/54f5c151dacc608b19ab2ce4c30e27a3983048b2/initscripts/TIInit_6.7.16_bt_spec_4.1.bts 64 65TIInit_6.7.16_ble_add-on.bts: 66 @echo "Downloading $@" 67 @curl -sS -O https://git.ti.com/ti-bt/service-packs/blobs/raw/89c8db14929f10d75627b132690432cd71f5f54f/initscripts/TIInit_6.7.16_ble_add-on.bts 68 69# v1.5 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xb-bt-sp 70cc256x_bt_sp_v1.5.zip: 71 echo "Downloading $@" 72 @curl -sS -O $(BLUEKITCHEN_URL)/cc256x_bt_sp_v1.5.zip 73 74cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts: cc256x_bt_sp_v1.5.zip 75 @echo "Extracting $@" 76 @mkdir -p cc256x_bt_sp_v1.5 77 @unzip -q -j -o cc256x_bt_sp_v1.5.zip -d cc256x_bt_sp_v1.5 CC256X_BT_SP/v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 78 79cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_ble_add-on.bts: cc256x_bt_sp_v1.5.zip 80 @echo "Extracting $@" 81 @mkdir -p cc256x_bt_sp_v1.5 82 @unzip -q -j -o cc256x_bt_sp_v1.5.zip -d cc256x_bt_sp_v1.5 CC256X_BT_SP/v1.5/initscripts-TIInit_6.7.16_ble_add-on.bts 83 84# v1.6 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xb-bt-sp 85cc256xb_bt_sp_v1.6.zip: 86 echo "Downloading $@" 87 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xb_bt_sp_v1.6.zip 88 89cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts: cc256xb_bt_sp_v1.6.zip 90 @echo "Extracting $@" 91 @mkdir -p cc256xb_bt_sp_v1.6 92 @unzip -q -j -o cc256xb_bt_sp_v1.6.zip -d cc256xb_bt_sp_v1.6 CC256XB_BT_SP/v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 93 94cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_ble_add-on.bts: cc256xb_bt_sp_v1.6.zip 95 @echo "Extracting $@" 96 @mkdir -p cc256xb_bt_sp_v1.6 97 @unzip -q -j -o cc256xb_bt_sp_v1.6.zip -d cc256xb_bt_sp_v1.6 CC256XB_BT_SP/v1.6/initscripts-TIInit_6.7.16_ble_add-on.bts 98 99# v1.7 - not available, please use v1.8 or newer 100 101# v1.8 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xb-bt-sp 102cc256xb_bt_sp_v1.8.zip: 103 echo "Downloading $@" 104 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xb_bt_sp_v1.8.zip 105 106cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts: cc256xb_bt_sp_v1.8.zip 107 @echo "Extracting $@" 108 @mkdir -p cc256xb_bt_sp_v1.8 109 @unzip -q -j -o cc256xb_bt_sp_v1.8.zip -d cc256xb_bt_sp_v1.8 CC256XB_BT_SP/v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 110 111cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_ble_add-on.bts: cc256xb_bt_sp_v1.8.zip 112 @echo "Extracting $@" 113 @mkdir -p cc256xb_bt_sp_v1.8 114 @unzip -q -j -o cc256xb_bt_sp_v1.8.zip -d cc256xb_bt_sp_v1.8 CC256XB_BT_SP/v1.8/initscripts-TIInit_6.7.16_ble_add-on.bts 115 116 117# Fourth generation CC256xC - TIInit_6.12.26.bts 118 119# v1.0 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xc-bt-sp 120cc256xc_bt_sp_v1.0.zip: 121 @echo "Downloading $@" 122 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xc_bt_sp_v1.0.zip 123 124initscripts-TIInit_6.12.26_v1.0.bts: cc256xc_bt_sp_v1.0.zip 125 @echo "Extracting $@" 126 @unzip -q -p cc256xc_bt_sp_v1.0.zip CC256XC_BT_SP/v1.0/initscripts-TIInit_6.12.26.bts > $@ 127 128initscripts-TIInit_6.12.26_ble_add-on_v1.0.bts: cc256xc_bt_sp_v1.0.zip 129 @echo "Extracting $@" 130 @unzip -q -p cc256xc_bt_sp_v1.0.zip CC256XC_BT_SP/v1.0/initscripts-TIInit_6.12.26_ble_add-on.bts > $@ 131 132# v1.1 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xc-bt-sp 133cc256xc_bt_sp_v1.1.zip: 134 @echo "Downloading $@" 135 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xc_bt_sp_v1.1.zip 136 137initscripts-TIInit_6.12.26_v1.1.bts: cc256xc_bt_sp_v1.1.zip 138 @echo "Extracting $@" 139 @unzip -q -p cc256xc_bt_sp_v1.1.zip CC256XC_BT_SP/v1.1/initscripts-TIInit_6.12.26.bts > $@ 140 141initscripts-TIInit_6.12.26_ble_add-on_v1.1.bts: cc256xc_bt_sp_v1.1.zip 142 @echo "Extracting $@" 143 @unzip -q -p cc256xc_bt_sp_v1.1.zip CC256XC_BT_SP/v1.1/initscripts-TIInit_6.12.26_ble_add-on.bts > $@ 144 145# v1.2 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xc-bt-sp 146cc256xc_bt_sp_v1.2.zip: 147 @echo "Downloading $@" 148 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xc_bt_sp_v1.2.zip 149 150initscripts-TIInit_6.12.26_v1.2.bts: cc256xc_bt_sp_v1.2.zip 151 @echo "Extracting $@" 152 @unzip -q -p cc256xc_bt_sp_v1.2.zip CC256XC_BT_SP/v1.2/initscripts-TIInit_6.12.26.bts > $@ 153 154initscripts-TIInit_6.12.26_ble_add-on_v1.2.bts: cc256xc_bt_sp_v1.2.zip 155 @echo "Extracting $@" 156 @unzip -q -p cc256xc_bt_sp_v1.2.zip CC256XC_BT_SP/v1.2/initscripts-TIInit_6.12.26_ble_add-on.bts > $@ 157 158# v1.3 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xc-bt-sp 159cc256xc_bt_sp_v1.3.zip: 160 @echo "Downloading $@" 161 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xc_bt_sp_v1.3.zip 162 163initscripts-TIInit_6.12.26_v1.3.bts: cc256xc_bt_sp_v1.3.zip 164 @echo "Extracting $@" 165 @unzip -q -p cc256xc_bt_sp_v1.3.zip CC256XC_BT_SP/v1.3/initscripts-TIInit_6.12.26.bts > $@ 166 167initscripts-TIInit_6.12.26_ble_add-on_v1.3.bts: cc256xc_bt_sp_v1.3.zip 168 @echo "Extracting $@" 169 @unzip -q -p cc256xc_bt_sp_v1.3.zip CC256XC_BT_SP/v1.3/initscripts-TIInit_6.12.26_ble_add-on.bts > $@ 170 171# v1.4 - unversioned files from BlueKitchen website, original: http://www.ti.com/tool/cc256xc-bt-sp 172cc256xc_bt_sp_v1.4.zip: 173 @echo "Downloading $@" 174 @curl -sS -O $(BLUEKITCHEN_URL)/cc256xc_bt_sp_v1.4.zip 175 176initscripts-TIInit_6.12.26_v1.4.bts: cc256xc_bt_sp_v1.4.zip 177 @echo "Extracting $@" 178 @unzip -q -p cc256xc_bt_sp_v1.4.zip CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26.bts > $@ 179 180initscripts-TIInit_6.12.26_ble_add-on_v1.4.bts: cc256xc_bt_sp_v1.4.zip 181 @echo "Extracting $@" 182 @unzip -q -p cc256xc_bt_sp_v1.4.zip CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26_ble_add-on.bts > $@ 183 184initscripts-TIInit_6.12.26_avpr_add-on_v1.4.bts: cc256xc_bt_sp_v1.4.zip 185 @echo "Extracting $@" 186 @unzip -q -p cc256xc_bt_sp_v1.4.zip CC256XC_BT_SP/v1.4/initscripts-TIInit_6.12.26_avpr_add-on.bts > $@ 187 188# Various scripts for WL chipsets 189 190# V4.2 from BlueKitchen website, original: http://www.ti.com/tool/wl18xx-bt-sp 191TIInit_11.8.32.bts: 192 @echo "Downloading $@" 193 @curl -sS -O $(BLUEKITCHEN_URL)/TIInit_11.8.32.bts 194 195TIInit_12.10.28.bts: 196 @echo "Downloading $@" 197 @curl -sS -O $(TI_GIT_REPO_URL)/TIInit_12.10.28.bts 198 199TIInit_12.8.32.bts: 200 @echo "Downloading $@" 201 @curl -sS -O $(TI_GIT_REPO_URL)/TIInit_12.8.32.bts 202 203 204 205# convert to .c files based on main file and option add-on 206 207bluetooth_init_cc2560_2.44.c: bluetooth_init_cc2560_2.44.bts 208 @echo "Creating $@" 209 @$(CONVERSION_SCRIPT) $^ $@ 210 211bluetooth_init_cc2560A_2.14.c: bluetooth_init_cc2560A_2.14.bts 212 @echo "Creating $@" 213 @$(CONVERSION_SCRIPT) $^ $@ 214 215bluetooth_init_cc2567_2.4.c: CC2567_BT_ANT_Service_Pack_2.4.bts 216 @echo "Creating $@" 217 @$(CONVERSION_SCRIPT) $^ $@ 218 219bluetooth_init_cc2567_2.8.c: CC256x_BT_Service_Pack_2.8_ANT_1.16.bts 220 @echo "Creating $@" 221 @$(CONVERSION_SCRIPT) $^ $@ 222 223bluetooth_init_cc2564_2.14.c: bluetooth_init_cc2564_2.14.bts 224 @echo "Creating $@" 225 @$(CONVERSION_SCRIPT) $^ $@ 226 227bluetooth_init_cc2560B_1.2_BT_Spec_4.1.c: bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts 228 @echo "Creating $@" 229 @$(CONVERSION_SCRIPT) $^ $@ 230 231bluetooth_init_cc2564B_1.2_BT_Spec_4.1.c: bluetooth_init_cc2564B_1.2_BT_Spec_4.1.bts BLE_init_cc2564B_1.2.bts 232 @echo "Creating $@" 233 @$(CONVERSION_SCRIPT) $^ $@ 234 235bluetooth_init_cc2560B_1.4_BT_Spec_4.1.c: TIInit_6.7.16_bt_spec_4.1.bts 236 @echo "Creating $@" 237 @$(CONVERSION_SCRIPT) $^ $@ 238 239bluetooth_init_cc2564B_1.4_BT_Spec_4.1.c: TIInit_6.7.16_bt_spec_4.1.bts TIInit_6.7.16_ble_add-on.bts 240 @echo "Creating $@" 241 @$(CONVERSION_SCRIPT) $^ $@ 242 243bluetooth_init_cc2560B_1.5_BT_Spec_4.1.c: cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 244 @echo "Creating $@" 245 @$(CONVERSION_SCRIPT) $^ $@ 246 247bluetooth_init_cc2564B_1.5_BT_Spec_4.1.c: cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_ble_add-on.bts 248 @echo "Creating $@" 249 @$(CONVERSION_SCRIPT) $^ $@ 250 251bluetooth_init_cc2560B_1.6_BT_Spec_4.1.c: cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 252 @echo "Creating $@" 253 @$(CONVERSION_SCRIPT) $^ $@ 254 255bluetooth_init_cc2564B_1.6_BT_Spec_4.1.c: cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_ble_add-on.bts 256 @echo "Creating $@" 257 @$(CONVERSION_SCRIPT) $^ $@ 258 259bluetooth_init_cc2560B_1.8_BT_Spec_4.1.c: cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 260 @echo "Creating $@" 261 @$(CONVERSION_SCRIPT) $^ $@ 262 263bluetooth_init_cc2564B_1.8_BT_Spec_4.1.c: cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_ble_add-on.bts 264 @echo "Creating $@" 265 @$(CONVERSION_SCRIPT) $^ $@ 266 267bluetooth_init_cc2560C_1.0.c: initscripts-TIInit_6.12.26_v1.0.bts 268 @echo "Creating $@" 269 @$(CONVERSION_SCRIPT) $^ $@ 270 271bluetooth_init_cc2564C_1.0.c: initscripts-TIInit_6.12.26_v1.0.bts initscripts-TIInit_6.12.26_ble_add-on_v1.0.bts 272 @echo "Creating $@" 273 @$(CONVERSION_SCRIPT) $^ $@ 274 275bluetooth_init_cc2560C_1.1.c: initscripts-TIInit_6.12.26_v1.1.bts 276 @echo "Creating $@" 277 @$(CONVERSION_SCRIPT) $^ $@ 278 279bluetooth_init_cc2564C_1.1.c: initscripts-TIInit_6.12.26_v1.1.bts initscripts-TIInit_6.12.26_ble_add-on_v1.1.bts 280 @echo "Creating $@" 281 @$(CONVERSION_SCRIPT) $^ $@ 282 283bluetooth_init_cc2560C_1.2.c: initscripts-TIInit_6.12.26_v1.2.bts 284 @echo "Creating $@" 285 @$(CONVERSION_SCRIPT) $^ $@ 286 287bluetooth_init_cc2564C_1.2.c: initscripts-TIInit_6.12.26_v1.2.bts initscripts-TIInit_6.12.26_ble_add-on_v1.2.bts 288 @echo "Creating $@" 289 @$(CONVERSION_SCRIPT) $^ $@ 290 291bluetooth_init_cc2560C_1.3.c: initscripts-TIInit_6.12.26_v1.3.bts 292 @echo "Creating $@" 293 @$(CONVERSION_SCRIPT) $^ $@ 294 295bluetooth_init_cc2564C_1.3.c: initscripts-TIInit_6.12.26_v1.3.bts initscripts-TIInit_6.12.26_ble_add-on_v1.3.bts 296 @echo "Creating $@" 297 @$(CONVERSION_SCRIPT) $^ $@ 298 299bluetooth_init_cc2560C_1.4.c: initscripts-TIInit_6.12.26_v1.4.bts 300 @echo "Creating $@" 301 @$(CONVERSION_SCRIPT) $^ $@ 302 303bluetooth_init_cc2560C_avpr_1.4.c: initscripts-TIInit_6.12.26_v1.4.bts initscripts-TIInit_6.12.26_avpr_add-on_v1.4.bts 304 @echo "Creating $@" 305 @$(CONVERSION_SCRIPT) $^ $@ 306 307bluetooth_init_cc2564C_1.4.c: initscripts-TIInit_6.12.26_v1.4.bts initscripts-TIInit_6.12.26_ble_add-on_v1.4.bts 308 @echo "Creating $@" 309 @$(CONVERSION_SCRIPT) $^ $@ 310 311 312TIInit_11.8.32.c: TIInit_11.8.32.bts 313 @echo "Creating $@" 314 @$(CONVERSION_SCRIPT) $^ $@ 315 316TIInit_12.10.28.c: TIInit_12.10.28.bts 317 @echo "Creating $@" 318 @$(CONVERSION_SCRIPT) $^ $@ 319 320TIInit_12.8.32.c: TIInit_12.8.32.bts 321 @echo "Creating $@" 322 @$(CONVERSION_SCRIPT) $^ $@ 323 324all-scripts: \ 325 bluetooth_init_cc2560_2.44.c \ 326 bluetooth_init_cc2560A_2.14.c \ 327 bluetooth_init_cc2564_2.14.bts \ 328 bluetooth_init_cc2560B_1.8_BT_Spec_4.1.c \ 329 bluetooth_init_cc2564B_1.8_BT_Spec_4.1.c \ 330 bluetooth_init_cc2560C_1.4.c \ 331 bluetooth_init_cc2560C_avpr_1.4.c \ 332 bluetooth_init_cc2564C_1.4.c \ 333 TIInit_11.8.32.c \ 334 TIInit_12.10.28.c \ 335 TIInit_12.8.32.c \ 336 337clean-scripts: 338 rm -fr cc256x*.zip CC256*.zip bluetooth_init_cc256*.c TIInit*.c *.bts BLE_init_cc256*.c 339 340 341