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