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/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 184 185# Various scripts for WL chipsets 186 187# V4.2 from BlueKitchen website, original: http://www.ti.com/tool/wl18xx-bt-sp 188TIInit_11.8.32.bts: 189 @echo "Downloading $@" 190 @curl -sS -O $(BLUEKITCHEN_URL)/TIInit_11.8.32.bts 191 192TIInit_12.10.28.bts: 193 @echo "Downloading $@" 194 @curl -sS -O $(TI_GIT_REPO_URL)/TIInit_12.10.28.bts 195 196TIInit_12.8.32.bts: 197 @echo "Downloading $@" 198 @curl -sS -O $(TI_GIT_REPO_URL)/TIInit_12.8.32.bts 199 200 201 202# convert to .c files based on main file and option add-on 203 204bluetooth_init_cc2560_2.44.c: bluetooth_init_cc2560_2.44.bts 205 @echo "Creating $@" 206 @$(CONVERSION_SCRIPT) $^ $@ 207 208bluetooth_init_cc2560A_2.14.c: bluetooth_init_cc2560A_2.14.bts 209 @echo "Creating $@" 210 @$(CONVERSION_SCRIPT) $^ $@ 211 212bluetooth_init_cc2567_2.4.c: CC2567_BT_ANT_Service_Pack_2.4.bts 213 @echo "Creating $@" 214 @$(CONVERSION_SCRIPT) $^ $@ 215 216bluetooth_init_cc2567_2.8.c: CC256x_BT_Service_Pack_2.8_ANT_1.16.bts 217 @echo "Creating $@" 218 @$(CONVERSION_SCRIPT) $^ $@ 219 220bluetooth_init_cc2564_2.14.c: bluetooth_init_cc2564_2.14.bts 221 @echo "Creating $@" 222 @$(CONVERSION_SCRIPT) $^ $@ 223 224bluetooth_init_cc2560B_1.2_BT_Spec_4.1.c: bluetooth_init_cc2560B_1.2_BT_Spec_4.1.bts 225 @echo "Creating $@" 226 @$(CONVERSION_SCRIPT) $^ $@ 227 228bluetooth_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 229 @echo "Creating $@" 230 @$(CONVERSION_SCRIPT) $^ $@ 231 232bluetooth_init_cc2560B_1.4_BT_Spec_4.1.c: TIInit_6.7.16_bt_spec_4.1.bts 233 @echo "Creating $@" 234 @$(CONVERSION_SCRIPT) $^ $@ 235 236bluetooth_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 237 @echo "Creating $@" 238 @$(CONVERSION_SCRIPT) $^ $@ 239 240bluetooth_init_cc2560B_1.5_BT_Spec_4.1.c: cc256x_bt_sp_v1.5/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 241 @echo "Creating $@" 242 @$(CONVERSION_SCRIPT) $^ $@ 243 244bluetooth_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 245 @echo "Creating $@" 246 @$(CONVERSION_SCRIPT) $^ $@ 247 248bluetooth_init_cc2560B_1.6_BT_Spec_4.1.c: cc256xb_bt_sp_v1.6/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 249 @echo "Creating $@" 250 @$(CONVERSION_SCRIPT) $^ $@ 251 252bluetooth_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 253 @echo "Creating $@" 254 @$(CONVERSION_SCRIPT) $^ $@ 255 256bluetooth_init_cc2560B_1.8_BT_Spec_4.1.c: cc256xb_bt_sp_v1.8/initscripts-TIInit_6.7.16_bt_spec_4.1.bts 257 @echo "Creating $@" 258 @$(CONVERSION_SCRIPT) $^ $@ 259 260bluetooth_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 261 @echo "Creating $@" 262 @$(CONVERSION_SCRIPT) $^ $@ 263 264bluetooth_init_cc2560C_1.0.c: initscripts-TIInit_6.12.26_v1.0.bts 265 @echo "Creating $@" 266 @$(CONVERSION_SCRIPT) $^ $@ 267 268bluetooth_init_cc2564C_1.0.c: initscripts-TIInit_6.12.26_v1.0.bts initscripts-TIInit_6.12.26_ble_add-on_v1.0.bts 269 @echo "Creating $@" 270 @$(CONVERSION_SCRIPT) $^ $@ 271 272bluetooth_init_cc2560C_1.1.c: initscripts-TIInit_6.12.26_v1.1.bts 273 @echo "Creating $@" 274 @$(CONVERSION_SCRIPT) $^ $@ 275 276bluetooth_init_cc2564C_1.1.c: initscripts-TIInit_6.12.26_v1.1.bts initscripts-TIInit_6.12.26_ble_add-on_v1.1.bts 277 @echo "Creating $@" 278 @$(CONVERSION_SCRIPT) $^ $@ 279 280bluetooth_init_cc2560C_1.2.c: initscripts-TIInit_6.12.26_v1.2.bts 281 @echo "Creating $@" 282 @$(CONVERSION_SCRIPT) $^ $@ 283 284bluetooth_init_cc2564C_1.2.c: initscripts-TIInit_6.12.26_v1.2.bts initscripts-TIInit_6.12.26_ble_add-on_v1.2.bts 285 @echo "Creating $@" 286 @$(CONVERSION_SCRIPT) $^ $@ 287 288bluetooth_init_cc2560C_1.3.c: initscripts-TIInit_6.12.26_v1.3.bts 289 @echo "Creating $@" 290 @$(CONVERSION_SCRIPT) $^ $@ 291 292bluetooth_init_cc2564C_1.3.c: initscripts-TIInit_6.12.26_v1.3.bts initscripts-TIInit_6.12.26_ble_add-on_v1.3.bts 293 @echo "Creating $@" 294 @$(CONVERSION_SCRIPT) $^ $@ 295 296bluetooth_init_cc2560C_1.4.c: initscripts-TIInit_6.12.26_v1.4.bts 297 @echo "Creating $@" 298 @$(CONVERSION_SCRIPT) $^ $@ 299 300bluetooth_init_cc2564C_1.4.c: initscripts-TIInit_6.12.26_v1.4.bts initscripts-TIInit_6.12.26_ble_add-on_v1.4.bts 301 @echo "Creating $@" 302 @$(CONVERSION_SCRIPT) $^ $@ 303 304 305TIInit_11.8.32.c: TIInit_11.8.32.bts 306 @echo "Creating $@" 307 @$(CONVERSION_SCRIPT) $^ $@ 308 309TIInit_12.10.28.c: TIInit_12.10.28.bts 310 @echo "Creating $@" 311 @$(CONVERSION_SCRIPT) $^ $@ 312 313TIInit_12.8.32.c: TIInit_12.8.32.bts 314 @echo "Creating $@" 315 @$(CONVERSION_SCRIPT) $^ $@ 316 317all-scripts: \ 318 bluetooth_init_cc2560_2.44.c \ 319 bluetooth_init_cc2560A_2.14.c \ 320 bluetooth_init_cc2564_2.14.bts \ 321 bluetooth_init_cc2560B_1.4_BT_Spec_4.1.c \ 322 bluetooth_init_cc2564B_1.4_BT_Spec_4.1.c \ 323 bluetooth_init_cc2560B_1.5_BT_Spec_4.1.c \ 324 bluetooth_init_cc2564B_1.5_BT_Spec_4.1.c \ 325 bluetooth_init_cc2564B_1.6_BT_Spec_4.1.c \ 326 bluetooth_init_cc2564B_1.8_BT_Spec_4.1.c \ 327 bluetooth_init_cc2560C_1.0.c \ 328 bluetooth_init_cc2564C_1.0.c \ 329 bluetooth_init_cc2560C_1.1.c \ 330 bluetooth_init_cc2564C_1.1.c \ 331 bluetooth_init_cc2560C_1.2.c \ 332 bluetooth_init_cc2564C_1.2.c \ 333 bluetooth_init_cc2564C_1.3.c \ 334 TIInit_11.8.32.c \ 335 TIInit_12.10.28.c \ 336 TIInit_12.8.32.c \ 337 338clean-scripts: 339 rm -fr cc256x*.zip CC256*.zip bluetooth_init_cc256*.c TIInit*.c *.bts BLE_init_cc256*.c 340 341 342