blob: cfc06901b826fcc82d6fff1bd809ce3c6ab33dbc [file] [log] [blame] [edit]
#Object files and dependency definitions
B_PRJDIR := $(RTOS_BUILD_DIR)
kernel_B_BUILD_DIR := $(B_PRJDIR)/output/$(ARCH)-$(BOARD)-$(PRODUCT)/$(KERNEL)
RTOS_ELF = $(kernel_B_BUILD_DIR)/${KERNEL}.elf
RTOSDemo_a = $(kernel_B_BUILD_DIR)/${KERNEL}_a.bin
RTOSDemo_b = $(kernel_B_BUILD_DIR)/${KERNEL}_b.bin
RTOSDemo = $(kernel_B_BUILD_DIR)/${KERNEL}.bin
#toolchain
NM:=$(TOOLCHAIN_KEYWORD)-nm
OBJCOPY:=$(TOOLCHAIN_KEYWORD)-objcopy
CC:=$(TOOLCHAIN_KEYWORD)-$(COMPILER)
#Specify link segment
_membdatalist+=.mem_text .data .bss .stack .heap
#Generate the specified bin file
RTOSDemo_bin=${OBJCOPY} -O binary $(addprefix -R ,$(_membdatalist)) ${RTOS_ELF} ${RTOSDemo_b};
RTOSDemo_bin+=${OBJCOPY} -O binary $(addprefix -j ,$(_membdatalist)) ${RTOS_ELF} ${RTOSDemo_a};
RTOSDemo_bin+=cat ${RTOSDemo_a} > ${RTOSDemo};
RTOSDemo_bin+=printf '%08X' $$(stat -c "%s" ${RTOSDemo})|tac -brs ..|cut -b-8|xxd -r -p|dd of=${RTOSDemo} bs=1 seek=4 count=4 conv=notrunc;
.PHONY: xip
xip:
@$(RTOSDemo_bin)