make ARCH=arm CROSS_COMPILE="$CCACHE $CROSS_COMPILER" $JOBS $*
}
+make_evt1_image()
+{
+ cat onenand_ipl/onenand-ipl-16k-1.bin u-boot.bin > u-boot-onenand1.bin
+}
+
check_ccache
check_users
build_uboot $*
+make_evt1_image
+
size=`ls -al u-boot-onenand.bin | awk -F' ' '{printf $5}'`
if [ "$size" -ge "262144" ]; then
echo "u-boot-onenand.bin execced the 256KiB 262144 -> $size"
TEXT_BASE2K = 0xD0034800
TEXT_BASE4K = 0xD0035000
TEXT_BASE16K = 0xD0038000
+TEXT_BASE16K1= 0xD0037ff0
LDSCRIPT= $(TOPDIR)/onenand_ipl/board/$(BOARDDIR)/u-boot-onenand.lds
LDFLAGS = -Bstatic -T $(LDSCRIPT) -Ttext $(TEXT_BASE) $(PLATFORM_LDFLAGS)
all: $(obj).depend $(ALL)
$(onenandobj)onenand-ipl-16k.bin: $(onenandobj)onenand-ipl checksum
+ $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(TEXT_BASE16K1) -O binary $< $@
+ $(onenandobj)/board/$(BOARDDIR)/checksum $(onenandobj)onenand-ipl-16k.bin 1
+ cat $(onenandobj)/board/$(BOARDDIR)/header.bin $(onenandobj)onenand-ipl-16k.bin > $(onenandobj)onenand-ipl-16k-1.bin
$(OBJCOPY) ${OBJCFLAGS} --pad-to=$(TEXT_BASE16K) -O binary $< $@
- $(onenandobj)/board/$(BOARDDIR)/checksum $(onenandobj)onenand-ipl-16k.bin
+ $(onenandobj)/board/$(BOARDDIR)/checksum $(onenandobj)onenand-ipl-16k.bin 0
$(onenandobj)onenand-ipl.bin: $(onenandobj)onenand-ipl
$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
int i, j;
char buf;
int fd;
+ int fd0;
unsigned int sum = 0;
struct stat stat;
off_t size;
+ unsigned int header[4];
+ int evt;
+
+ if (argc != 3)
+ evt = 0;
+ else
+ evt = atoi(argv[2]);
fd = open(argv[1], O_RDWR);
#endif
}
- ret = write(fd, &sum, 4);
+ if (evt == 0)
+ ret = write(fd, &sum, 4);
if (ret < 0)
printf("read err: %s\n", ret);
printf("checksum = %x\n", sum);
+ if (evt == 1) {
+ fd0 = open("header.bin", O_RDWR | O_CREAT | O_TRUNC,
+ S_IRUSR | S_IWUSR);
+
+ if (fd0 < 0) {
+ printf("open err: header.bin\n");
+ return 1;
+ }
+
+ if (size == CHECKSUM_16K)
+ header[0] = 0x10000;
+ else
+ header[0] = 0x1000;
+ header[1] = 0;
+ header[2] = sum;
+ header[3] = 0;
+
+ ret = write(fd0, header, 16);
+ close(fd0);
+ }
+
return 0;
}