view helpers/mk-flash-script.c @ 107:b882091ebb68

gprscomp.c: DMEM_PARTITION_1_SIZE bumped from 1600 to 1700 for gcc These large DMEM partitions are used for T_CCD_Globs structure allocations by the GRLC and GRR entities, and this structure contains a jmp_buf for setjmp/longjmp. Our gcc/newlib version of jmp_buf is bigger than TI's TMS470, and the whole structure is now 1636 bytes instead of 1584.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 23 Jul 2018 19:45:50 +0000
parents b493d3857f4e
children
line wrap: on
line source

/*
 * This helper program generates the fc-loadtool command script
 * for flashing the just-built firmware image.
 */

#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

main(argc, argv)
	char **argv;
{
	struct stat st;
	u_long image_size, sector_size;

	if (argc != 4) {
		fprintf(stderr,
			"usage: %s fwimage.bin flash-base flash-sector-size\n",
			argv[0]);
		exit(1);
	}
	if (stat(argv[1], &st) < 0) {
		perror(argv[1]);
		exit(1);
	}
	if (!S_ISREG(st.st_mode)) {
		fprintf(stderr, "error: %s is not a regular file\n", argv[1]);
		exit(1);
	}
	image_size = st.st_size;
	sector_size = strtoul(argv[3], 0, 16);
	image_size += sector_size - 1;
	image_size &= ~(sector_size - 1);
	printf("flash erase %s 0x%lx\n", argv[2], image_size);
	printf("flash program-bin %s %s\n", argv[2], argv[1]);
	exit(0);
}