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