diff helpers/mk-flash-script.c @ 257:d4d07c751e56

helpers: mk-flash-script helper program written
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 04 Aug 2017 06:54:12 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helpers/mk-flash-script.c	Fri Aug 04 06:54:12 2017 +0000
@@ -0,0 +1,39 @@
+/*
+ * 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);
+}