blob: cfc06901b826fcc82d6fff1bd809ce3c6ab33dbc [file] [log] [blame]
shijie.xiongdc3773a2022-06-28 13:55:19 +08001#Object files and dependency definitions
shijie.xiong1584d902023-07-03 16:07:59 +08002B_PRJDIR := $(RTOS_BUILD_DIR)
3kernel_B_BUILD_DIR := $(B_PRJDIR)/output/$(ARCH)-$(BOARD)-$(PRODUCT)/$(KERNEL)
4RTOS_ELF = $(kernel_B_BUILD_DIR)/${KERNEL}.elf
5RTOSDemo_a = $(kernel_B_BUILD_DIR)/${KERNEL}_a.bin
6RTOSDemo_b = $(kernel_B_BUILD_DIR)/${KERNEL}_b.bin
7RTOSDemo = $(kernel_B_BUILD_DIR)/${KERNEL}.bin
shijie.xiongdc3773a2022-06-28 13:55:19 +08008
9#toolchain
10NM:=$(TOOLCHAIN_KEYWORD)-nm
11OBJCOPY:=$(TOOLCHAIN_KEYWORD)-objcopy
12CC:=$(TOOLCHAIN_KEYWORD)-$(COMPILER)
13
14#Specify link segment
15_membdatalist+=.mem_text .data .bss .stack .heap
16
17#Generate the specified bin file
18RTOSDemo_bin=${OBJCOPY} -O binary $(addprefix -R ,$(_membdatalist)) ${RTOS_ELF} ${RTOSDemo_b};
19RTOSDemo_bin+=${OBJCOPY} -O binary $(addprefix -j ,$(_membdatalist)) ${RTOS_ELF} ${RTOSDemo_a};
20RTOSDemo_bin+=cat ${RTOSDemo_a} > ${RTOSDemo};
21RTOSDemo_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;
22
23
24.PHONY: xip
25xip:
26 @$(RTOSDemo_bin)