/
pvvx
/
TLB2Z
Обзор
Документация
Войти
/
pvvx
/
TLB2Z
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/makefile
245 строк
6 KB
Victor
PA (CB2401 control) fix for BLE (FW: Zigbee Repeater HOBEIAN)
25 фев 2026, 02:06
25 фев 2026, 02:06
0e2eae4
Код
Авторство
О чём код?
PROJECT_NAME ?= tb3f_b2z VERSION_BIN ?= ZNAME?="B2Z device" TEL_CHIP := $(POJECT_DEF) -DMCU_CORE_8258=1 -DEND_DEVICE=1 -DMCU_STARTUP_8258=1 -DBLE_CONCURRENT_MODE=1 -DBOOT_LOADER_MODE=0 #-D__PROJECT_TL_SWITCH__=1 LIBS := -lble_8258 -ldrivers_8258 -lzb_ed PGM_PORT?=COM6 PGM_PORT_BAUD?=1500000 PROJECT_PATH ?= . SRC_DIR ?= /src SRC_PATH ?= $(PROJECT_PATH)$(SRC_DIR) # TEL_PATH: Telink SDK - tc32/bin/ TEL_PATH ?= . # SDK_PATH: X:/Telink/tl_zigbee_sdk SDK_PATH ?= ./SDK SDK_FLAGS := $(SDK_PATH)/stack # MAKE_PATH: project all make MAKE_PATH ?= ./make LS_FLAGS := $(SRC_PATH)/boot_bz.link OUT_PATH ?=./build BIN_PATH ?=./bin PYTHON ?= python3 OBJ_SRCS := S_SRCS := ASM_SRCS := C_SRCS := S_UPPER_SRCS := O_SRCS := FLASH_IMAGE := ELFS := OBJS := LST := SIZEDUMMY := OUT_DIR := COMPILEOS = $(shell uname -o) LINUX_OS = GNU/Linux ifeq ($(COMPILEOS),$(LINUX_OS)) CUR_OS := linux TOOLS_PATH := $(TEL_PATH)/tools/linux else CUR_OS := windows TOOLS_PATH := $(TEL_PATH)/tools/windows endif TC32_PATH := $(TOOLS_PATH)/tc32/bin/ #LNK_FLAG := -Wl,-nostartfiles -Wl,-nostdlib -Wl,--gc-sections -Wl,-uss_apsmeSwitchKeyReq -fshort-enums -nostartfiles -fno-rtti -fno-exceptions -fno-use-cxa-atexit -fno-threadsafe-statics LNK_FLAGS := --gc-sections -nostartfiles GCC_FLAGS := \ -O2 \ -ffunction-sections \ -fdata-sections \ -Wall \ -fpack-struct \ -fshort-enums \ -finline-small-functions \ -std=gnu99 \ -funsigned-char \ -fshort-wchar \ -fms-extensions \ -nostartfiles \ -nostdlib ASM_FLAGS := \ -fomit-frame-pointer \ -fshort-enums \ -Wall \ -Wpacked \ -Wcast-align \ -fdata-sections \ -ffunction-sections \ -fno-use-cxa-atexit \ -fno-rtti \ -fno-threadsafe-statics INCLUDE_PATHS := -I$(SRC_PATH) -I$(SRC_PATH)/includes -I$(SRC_PATH)/common -I$(SRC_PATH)/custom_zcl\ -I$(SDK_PATH) \ -I$(SDK_PATH)/proj \ -I$(SDK_PATH)/proj/common \ -I$(SDK_PATH)/platform \ -I$(SDK_PATH)/platform/chip_8258 \ -I$(SDK_PATH)/stack/ble \ -I$(SDK_PATH)/stack/zigbee/af \ -I$(SDK_PATH)/stack/zigbee/include \ -I$(SDK_PATH)/stack/zigbee/bdb/includes \ -I$(SDK_PATH)/stack/zigbee/common/includes \ -I$(SDK_PATH)/stack/zigbee/ota \ -I$(SDK_PATH)/stack/zigbee/zbapi \ -I$(SDK_PATH)/stack/zigbee/zcl \ -I$(SDK_PATH)/stack/zigbee/zdo \ -I$(SDK_PATH)/zbhci \ -I$(SDK_PATH)/stack/ble \ -I$(SDK_PATH)/stack/ble/ble_8258 GCC_FLAGS += $(TEL_CHIP) LS_INCLUDE := -L$(SDK_PATH)/platform/lib -L$(SDK_PATH)/stack/zigbee/lib/tc32 -L$(SDK_PATH)/stack/ble/lib -L$(OUT_PATH) #include Project makefile -include $(MAKE_PATH)/src.mk #include SDK makefile -include $(MAKE_PATH)/platform.mk -include $(MAKE_PATH)/proj.mk -include $(MAKE_PATH)/zigbee.mk -include $(MAKE_PATH)/ble.mk #-include $(MAKE_PATH)/zbhci.mk # Add inputs and outputs from these tool invocations to the build variables LST_FILE := $(OUT_PATH)/$(PROJECT_NAME).lst BIN_FILE := $(BIN_PATH)/$(PROJECT_NAME)$(VERSION_BIN).bin OTA_FILE := $(BIN_PATH)/$(PROJECT_NAME).zigbee ELF_FILE := $(OUT_PATH)/$(PROJECT_NAME).elf SIZEDUMMY := sizedummy # All Target all: pre-build main-build # Main-build Target main-build: $(ELF_FILE) secondary-outputs OBJ_LIST := $(USER_OBJS) $(OBJS) # Tool invocations $(ELF_FILE): $(OBJ_LIST) @echo 'Building Standard target: $@' @$(TC32_PATH)tc32-elf-ld $(LNK_FLAGS) $(LS_INCLUDE) -T$(LS_FLAGS) -o $(ELF_FILE) $(OBJ_LIST) $(LIBS) @echo 'Finished building target: $@' @echo ' ' $(LST_FILE): $(ELF_FILE) @echo 'Invoking: TC32 Create Extended Listing' @$(TC32_PATH)tc32-elf-objdump -x -D -l -S $(ELF_FILE) > $(LST_FILE) @echo 'Finished building: $@' @echo ' ' $(BIN_FILE): $(ELF_FILE) @echo 'Create Flash image (binary format)' @echo ' ' @$(TC32_PATH)tc32-elf-objcopy -v -O binary $(ELF_FILE) $(BIN_FILE) @echo ' ' @$(PYTHON) $(MAKE_PATH)/tl_check_fw.py $(BIN_FILE) @echo 'Finished building: $@' @echo ' ' $(OTA_FILE): $(BIN_FILE) @echo 'Create OTA image' @echo ' ' @$(PYTHON) $(MAKE_PATH)/zigbee_ota.py $(BIN_FILE) -p $(BIN_PATH) -n $(PROJECT_NAME) -s $(ZNAME) @echo ' ' sizedummy: $(ELF_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrMemInfo.py -t $(TC32_PATH)tc32-elf-nm $(ELF_FILE) @echo ' ' clean: @$(RM) $(FLASH_IMAGE) $(ELFS) $(OBJS) $(LST) $(SIZEDUMMY) $(ELF_FILE) $(BIN_FILE) $(LST_FILE) @echo 'Clean ...' @echo ' ' pre-build: ifneq ($(SDK_FLAGS), $(wildcard $(SDK_FLAGS))) $(error "Please check SDK_Path") endif @mkdir -p $(foreach s,$(OUT_DIR),$(OUT_PATH)$(s)) @mkdir -p $(BIN_PATH) @echo ' ' secondary-outputs: $(BIN_FILE) $(OTA_FILE) $(LST_FILE) $(SIZEDUMMY) flash: $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -a-50 -s we 0 $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -m i # test start from OTA BLE flash_ble: $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -a-50 -s i @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) es 0 1 @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) we 0x20000 $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -m i # test start from Tuya boot_loader flash_tuya: $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -a-50 -s i @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) we 0 tuya_boot.bin @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) we 0x8000 $(BIN_FILE) @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -m i reset: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -m -w i erase: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -s ea info: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 i stop: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z15 -s i go: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -m TADDR?=0x00848494 TLEN?=256 test_damp: @$(PYTHON) $(MAKE_PATH)/TlsrPgm.py -p$(PGM_PORT) -b$(PGM_PORT_BAUD) -z10 ds $(TADDR) $(TLEN) install: $(TC32_PATH) @echo "TC32 installed." @echo "Use: make clean" @echo " make all" $(TC32_PATH): $(TOOLS_PATH) ifneq ($(TC32_PATH),$(wildcard $(TC32_PATH))) ifeq (linux,$(CUR_OS)) #@wget -P $(TOOLS_PATH) http://shyboy.oss-cn-shenzhen.aliyuncs.com/readonly/tc32_gcc_v2.0.tar.bz2 @tar -xvjf $(TOOLS_PATH)/tc32_gcc_v2.0.tar.bz2 -C $(TOOLS_PATH) else @unzip -o $(TOOLS_PATH)/tc32.zip -d $(TOOLS_PATH) @echo Use "Telink IoT Studio"! - http://wiki.telink-semi.cn/wiki/IDE-and-Tools/Telink_IoT_Studio/ endif endif $(TOOLS_PATH): mkdir -p $(TOOLS_PATH) .PHONY: all clean .SECONDARY: main-build