FreeCalypso > hg > freecalypso-sw
comparison 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 |
comparison
equal
deleted
inserted
replaced
61:a10491da8c3a | 62:6fb41cfa773d |
---|---|
97 printf("Offset Size\n"); | 97 printf("Offset Size\n"); |
98 for (sp = bi->sectors; sp->size; sp++) | 98 for (sp = bi->sectors; sp->size; sp++) |
99 printf("%08lX %lx\n", (u_long) sp->start, (u_long) sp->size); | 99 printf("%08lX %lx\n", (u_long) sp->start, (u_long) sp->size); |
100 return(0); | 100 return(0); |
101 } | 101 } |
102 | |
103 get_flash_sector_range(bi, useroff, userlen, startp, endp) | |
104 struct flash_bank_info *bi; | |
105 u_long useroff, userlen; | |
106 struct sector_info **startp, **endp; | |
107 { | |
108 struct sector_info *sp; | |
109 uint32_t remlen; | |
110 | |
111 for (sp = bi->sectors; sp->size; sp++) | |
112 if (sp->start == useroff) | |
113 break; | |
114 if (!sp->size) { | |
115 fprintf(stderr, | |
116 "error: specified offset not aligned to a flash sector boundary\n"); | |
117 return(-1); | |
118 } | |
119 *startp = sp; | |
120 for (remlen = userlen; remlen; ) { | |
121 if (remlen < sp->size) { | |
122 fprintf(stderr, | |
123 "error: specified length not aligned to a flash sector boundary\n"); | |
124 return(-1); | |
125 } | |
126 remlen -= sp->size; | |
127 sp++; | |
128 } | |
129 *endp = sp; | |
130 return(0); | |
131 } |