1include version 2 3# 4# Change cfe/kernel size if necessary 5# 6 7CFE_SIZE = 0x200000 8KERNEL_SIZE = 0x1E00000 9 10#----------------------------------------------- 11 12# 13# CFE Image Information 14# 15CFE_DIR = ../cfe 16CFE_IMAGE = cfe_rt-ac56u.bin 17 18# 19# Linux Firmware Image Information 20# 21KERNEL_DIR = ../image 22 23# 24# Single Image Information 25# 26PACKED_DIR = . 27PACKED_IMAGE = single_image.bin 28 29# 30# bit_errors Information 31# 32TOOL_DIR = . 33TOOL_NAME = bit_errors 34 35all: check_img 36 37 @echo "" 38 @echo "Flash layout:" 39 @echo " +--------------------+--------+-----------------------------+" 40 @echo " | CFE | NVRAM | Linux Firmware Image |" 41 @echo " +--------------------+--------+-----------------------------+" 42 @echo " |<----------$(CFE_SIZE)---------->|<-------$(KERNEL_SIZE)------------>|" 43 44 @echo -e "\n-Original CFE Image Size" 45 @wc -c $(CFE_DIR)/$(CFE_IMAGE) 46 47 @echo -e "\n-Original Firmware Image Size" 48 @wc -c $(KERNEL_DIR)/$(KERNEL_IMAGE) 49 50# Copy CFE 51 @cp $(CFE_DIR)/$(CFE_IMAGE) $(PACKED_DIR)/$(PACKED_IMAGE) 52 53# Finish CFE Padding 54 @SIZE=`wc -c $(CFE_DIR)/$(CFE_IMAGE) | awk '{ print $$1 }'` ; \ 55 CFE_PART_SIZE=`printf "%d" $(CFE_SIZE)` ; \ 56 PAD=`expr $$CFE_PART_SIZE - $$SIZE` ; \ 57 dd if=/dev/zero count=1 bs=$$PAD 2> /dev/null | \ 58 tr \\000 \\377 >> $(PACKED_DIR)/$(PACKED_IMAGE) 59 60# Copy Kernel 61 @cat $(KERNEL_DIR)/$(KERNEL_IMAGE) >> $(PACKED_DIR)/$(PACKED_IMAGE) 62 63# Finish Kernel Padding 64 @SIZE=`wc -c $(KERNEL_DIR)/$(KERNEL_IMAGE) | awk '{ print $$1 }'` ; \ 65 KERNEL_PART_SIZE=`printf "%d" $(KERNEL_SIZE)` ; \ 66 PAD=`expr $$KERNEL_PART_SIZE - $$SIZE` ; \ 67 dd if=/dev/zero count=1 bs=$$PAD 2> /dev/null | \ 68 tr \\000 \\377 >> $(PACKED_DIR)/$(PACKED_IMAGE) 69 70# Packed Image Size 71 @echo -e "\n-Packed Image Size" 72 @wc -c $(PACKED_DIR)/$(PACKED_IMAGE) 73 $(TOOL_DIR)/$(TOOL_NAME) -i $(PACKED_DIR)/$(PACKED_IMAGE) -b 8 -m 14 74 @mv $(PACKED_DIR)/.out $(PACKED_DIR)/single_image.out 75 @mv $(PACKED_DIR)/.inj $(PACKED_DIR)/single_image.inj 76 77clean: 78 rm -f $(PACKED_DIR)/$(PACKED_IMAGE) 79 rm -f $(PACKED_DIR)/*.out 80 rm -f $(PACKED_DIR)/*.inj 81 @rm -f $(PACKED_DIR)/.out 82 @rm -f $(PACKED_DIR)/.inj 83 84check_img: 85 @if [ ! -f $(CFE_DIR)/$(CFE_IMAGE) ]; then \ 86 echo "" ; \ 87 echo "Please copy \"$(CFE_IMAGE)\" to current directory"; \ 88 echo "" ; \ 89 exit 1; \ 90 fi 91 92 @if [ ! -f $(KERNEL_DIR)/$(KERNEL_IMAGE) ]; then \ 93 echo "" ; \ 94 echo "Please copy \"$(KERNEL_IMAGE)\" to current directory"; \ 95 echo "" ; \ 96 exit 1; \ 97 fi 98