diff loadtools/flutil.c @ 62:6fb41cfa773d

fc-loadtool: flash erase implemented, compiles
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Thu, 27 Jun 2013 04:56:17 +0000
parents a10491da8c3a
children a7da6648a7f8
line wrap: on
line diff
--- a/loadtools/flutil.c	Mon Jun 24 17:46:15 2013 +0000
+++ b/loadtools/flutil.c	Thu Jun 27 04:56:17 2013 +0000
@@ -99,3 +99,33 @@
 		printf("%08lX  %lx\n", (u_long) sp->start, (u_long) sp->size);
 	return(0);
 }
+
+get_flash_sector_range(bi, useroff, userlen, startp, endp)
+	struct flash_bank_info *bi;
+	u_long useroff, userlen;
+	struct sector_info **startp, **endp;
+{
+	struct sector_info *sp;
+	uint32_t remlen;
+
+	for (sp = bi->sectors; sp->size; sp++)
+		if (sp->start == useroff)
+			break;
+	if (!sp->size) {
+		fprintf(stderr,
+	"error: specified offset not aligned to a flash sector boundary\n");
+		return(-1);
+	}
+	*startp = sp;
+	for (remlen = userlen; remlen; ) {
+		if (remlen < sp->size) {
+			fprintf(stderr,
+	"error: specified length not aligned to a flash sector boundary\n");
+			return(-1);
+		}
+		remlen -= sp->size;
+		sp++;
+	}
+	*endp = sp;
+	return(0);
+}