#Default: DS-5 is added in Patch CC = armcc.exe LINK = armlink.exe FROMELF = fromelf.exe AR = armar.exe TARGET_ = updater obj_dir = obj common_dir = ../../common common_tool_dir = $(common_dir)/tool cflag := dep_files := objs := feedback = feedback.txt cflag += --cpu Cortex-R5 --no_unaligned_access -g -O2 --apcs /inter --gnu --feedback $(feedback) # set the target type ------------------------------------------- lcd_type := #1. NO_LCD ifneq (,$(findstring NO_LCD,${LCD_TYPE})) # lcd_type = _no_lcd endif ifneq (,$(findstring NOUPDT,${FOTA_TYPE})) lcd_type :=${lcd_type}_NoPartition endif ifneq (,$(findstring SECFOTA,${FOTA_TYPE})) lcd_type :=${lcd_type}_sec endif ifneq (,$(findstring FBF,${FOTA_TYPE})) lcd_type :=${lcd_type}_fbf endif ifneq (,$(findstring SPINOR_SUPPORT,${FOTA_TYPE})) lcd_type :=${lcd_type}_exflash endif ifneq (,$(findstring SPINAND_SUPPORT,${FOTA_TYPE})) lcd_type :=${lcd_type}_exnand endif TARGET = ${TARGET_}${lcd_type} # --------------------------------------------------------------- # chose libraries and makefile ---------------------------------- lib_dir = ..\lib LIB = ${lib_dir}/ql_updater$(lcd_type).lib include ${lib_dir}/ql_updater$(lcd_type).mk # --------------------------------------------------------------- # sctript chose ------------------------------------------------- scatter_dir = .. ifneq (,$(findstring CRANEL,${FOTA_TYPE})) scatter_file_name = scatter_craneL else ifneq (,$(findstring CRANEM_SINGLESIM,${FOTA_TYPE})) scatter_file_name = scatter_craneL else scatter_file_name = scatter endif # --------------------------------------------------------------- # set the source files ------------------------------------------ src_common_dir = ../../common/src inc_common_dir = ../../common/inc srcs_common = \ $(src_common_dir)/plat_api.c \ $(src_common_dir)/asr_property.c \ $(src_common_dir)/bsp_tavor.c \ $(src_common_dir)/utilities.c \ $(src_common_dir)/pmic.c \ $(src_common_dir)/ningbo.c \ $(src_common_dir)/guilin.c \ $(src_common_dir)/guilin_lite.c \ $(src_common_dir)/guilin_lite2.c \ $(src_common_dir)/guilin_lite3.c \ $(src_common_dir)/FreqChange.c \ $(src_common_dir)/uart.c \ $(src_common_dir)/sdcard.c \ $(src_common_dir)/diskio.c \ $(src_common_dir)/ff.c \ $(src_common_dir)/ff_dump_mem.c \ $(src_common_dir)/ffsystem.c \ $(src_common_dir)/ffunicode.c \ $(src_common_dir)/qspi_core.c \ $(src_common_dir)/qspi_dma.c \ $(src_common_dir)/qspi_host.c \ $(src_common_dir)/qspi_nor.c \ $(src_common_dir)/system.c \ $(src_common_dir)/loadtable.c \ $(src_common_dir)/ptable.c \ $(src_common_dir)/LzmaDec.c \ $(src_common_dir)/LzmaEnc.c \ $(src_common_dir)/LzFind.c \ $(src_common_dir)/LzmaLib.c \ $(src_common_dir)/tinyalloc.c \ $(src_common_dir)/updater_table.c \ $(src_common_dir)/asr_lzma.c \ $(src_common_dir)/logo_table.c \ $(src_common_dir)/qspi_nor_bp.c \ $(src_common_dir)/quec_startup_gpio.c \ $(src_common_dir)/gpio.c ifneq (,$(findstring SPINOR_SUPPORT,${FOTA_TYPE})) srcs_common += $(src_common_dir)/SPI.c srcs_common += \ $(src_common_dir)/quec_spi_nor.c \ $(src_common_dir)/quec_spi.c \ $(src_common_dir)/SPI.c endif ifneq (,$(findstring USE_LCD,${LCD_TYPE})) srcs_common += \ $(src_common_dir)/quec_lcd_application.c \ $(src_common_dir)/quec_spi_drv.c \ $(src_common_dir)/quec_ssp_lcd.c endif objs_common += $(patsubst %.c, ${obj_dir}/%.o, ${notdir ${srcs_common}}) cflag += -I$(inc_common_dir) dep_files += $(wildcard $(inc_common_dir)/*.h) VPATH += $(src_common_dir) # --------------------------------------------------------------- # set updater source files -------------------------------------- src_updater_dir = ../src inc_common_dir = ../inc cflag += -I$(inc_common_dir) dep_files += $(wildcard $(inc_common_dir)/*.h) VPATH += $(src_updater_dir) # --------------------------------------------------------------- # set quectel source files -------------------------------------- src_quectel_dir = ../quectel/src inc_quectel_dir = ../quectel/inc srcs_quectel = $(src_quectel_dir)/src/ql_updater_usr_func.c ifneq (,$(findstring SPINAND_SUPPORT,${FOTA_TYPE})) srcs_quectel += \ $(src_quectel_dir)/src/dosilicon.c \ $(src_quectel_dir)/src/gigadevice.c \ $(src_quectel_dir)/src/spinand_dev.c \ $(src_quectel_dir)/src/winbond.c \ $(src_quectel_dir)/src/fudaiwei.c endif objs_quectel += $(patsubst %.c, ${obj_dir}/%.o, ${notdir ${srcs_quectel}}) cflag += -I$(inc_quectel_dir) dep_files += $(wildcard $(inc_quectel_dir)/*.h) VPATH += $(src_quectel_dir) # --------------------------------------------------------------- objs_sum += $(objs_common) $(objs_quectel) ${TARGET}.axf:$(objs_sum) if not exist ${feedback} @echo "ERROR : make feedback firstly" && exit 1 $(LINK) $(LIB) $(objs_sum) --scatter $(scatter_dir)/$(scatter_file_name).scat --output $@ --map --symbols --info sizes,totals --list ${TARGET}.map --keep version_block.o(IMGVERBLOCK) $(FROMELF) --output ${TARGET}.bin --bin ${TARGET}.axf ifneq (,$(findstring CRANEL,${FOTA_TYPE})) #1. UPD_SIZE = {updater.bin} size perl $(common_tool_dir)/external_ext_bin_size_update.pl ${TARGET}.bin UPD_SIZE ifneq (,$(findstring y,$(CONFIG_APPEND_DSP_ADC))) #2. append dsp_adc.bin into {updater.bin}. ( note: need provide front.bin size --- UPD_SIZE) perl $(common_tool_dir)/external_ext_bin_append.pl APPEND ${TARGET}.bin UPD_SIZE $(common_lib_dir)/dsp_adc_lzma.bin ADC_SIZE endif #3. EXT_SIZE = {updater.bin + dsp_adc.bin} size perl $(common_tool_dir)/external_ext_bin_size_update.pl ${TARGET}.bin EXT_SIZE #4. append "internal crc res" into end of image. perl $(common_tool_dir)/external_append_pad_crc.pl ${TARGET}.bin endif #common start ${obj_dir}/%.o: %.c $(dep_files) if not exist $(obj_dir) mkdir $(obj_dir) $(CC) $(cflag) --thumb -c $< -o $@ #common end feedback:$(objs_sum) $(LINK) ${LIB} $(objs_sum) --scatter $(scatter_dir)/scatter.scat --output feedback.axf --keep version_block.o(IMGVERBLOCK) --feedback=${feedback} rd /s /q $(obj_dir) del feedback.axf clean: del updater*.bin del updater*.map del updater*.axf rd /s /q $(obj_dir)