diff options
Diffstat (limited to 'firmware/test/fat/main.c')
-rw-r--r-- | firmware/test/fat/main.c | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/firmware/test/fat/main.c b/firmware/test/fat/main.c index 1b9fd22183..91e7444999 100644 --- a/firmware/test/fat/main.c +++ b/firmware/test/fat/main.c | |||
@@ -19,6 +19,7 @@ void panicf( char *fmt, ...) | |||
19 | { | 19 | { |
20 | va_list ap; | 20 | va_list ap; |
21 | va_start( ap, fmt ); | 21 | va_start( ap, fmt ); |
22 | printf("***PANIC*** "); | ||
22 | vprintf( fmt, ap ); | 23 | vprintf( fmt, ap ); |
23 | va_end( ap ); | 24 | va_end( ap ); |
24 | exit(0); | 25 | exit(0); |
@@ -82,17 +83,20 @@ void dbg_dir(char* currdir) | |||
82 | } | 83 | } |
83 | } | 84 | } |
84 | 85 | ||
85 | void dbg_mkfile(char* name) | 86 | void dbg_mkfile(char* name, int num) |
86 | { | 87 | { |
87 | char* text = "Detta är en dummy-text\n"; | 88 | char text[800]; |
88 | int i; | 89 | int i; |
89 | int fd = open(name,O_WRONLY); | 90 | int fd = open(name,O_WRONLY); |
90 | if (fd<0) { | 91 | if (fd<0) { |
91 | DEBUGF("Failed creating file\n"); | 92 | DEBUGF("Failed creating file\n"); |
92 | return; | 93 | return; |
93 | } | 94 | } |
94 | for (i=0;i<200;i++) | 95 | for (i=0; i<sizeof(text)/4; i++ ) |
95 | if (write(fd, text, strlen(text)) < 0) | 96 | sprintf(text+i*4,"%03x,",i); |
97 | |||
98 | for (i=0;i<num;i++) | ||
99 | if (write(fd, text, sizeof(text)) < 0) | ||
96 | DEBUGF("Failed writing data\n"); | 100 | DEBUGF("Failed writing data\n"); |
97 | 101 | ||
98 | close(fd); | 102 | close(fd); |
@@ -137,27 +141,7 @@ void dbg_tail(char* name) | |||
137 | return; | 141 | return; |
138 | DEBUGF("Got file descriptor %d\n",fd); | 142 | DEBUGF("Got file descriptor %d\n",fd); |
139 | 143 | ||
140 | rc = lseek(fd,512,SEEK_SET); | 144 | rc = lseek(fd,-512,SEEK_END); |
141 | if ( rc >= 0 ) { | ||
142 | rc = read(fd, buf, SECTOR_SIZE); | ||
143 | if( rc > 0 ) | ||
144 | { | ||
145 | buf[rc]=0; | ||
146 | printf("%d: %s\n", strlen(buf), buf); | ||
147 | } | ||
148 | else if ( rc == 0 ) { | ||
149 | DEBUGF("EOF\n"); | ||
150 | } | ||
151 | else | ||
152 | { | ||
153 | DEBUGF("Failed reading file: %d\n",rc); | ||
154 | } | ||
155 | } | ||
156 | else { | ||
157 | perror("lseek"); | ||
158 | } | ||
159 | |||
160 | rc = lseek(fd,-100,SEEK_CUR); | ||
161 | if ( rc >= 0 ) { | 145 | if ( rc >= 0 ) { |
162 | rc = read(fd, buf, SECTOR_SIZE); | 146 | rc = read(fd, buf, SECTOR_SIZE); |
163 | if( rc > 0 ) | 147 | if( rc > 0 ) |
@@ -284,6 +268,8 @@ void dbg_console(void) | |||
284 | } | 268 | } |
285 | } | 269 | } |
286 | 270 | ||
271 | extern void ata_exit(void); | ||
272 | |||
287 | int main(int argc, char *argv[]) | 273 | int main(int argc, char *argv[]) |
288 | { | 274 | { |
289 | int rc,i; | 275 | int rc,i; |
@@ -325,12 +311,14 @@ int main(int argc, char *argv[]) | |||
325 | //dbg_console(); | 311 | //dbg_console(); |
326 | //dbg_dir("/"); | 312 | //dbg_dir("/"); |
327 | #if 1 | 313 | #if 1 |
328 | dbg_head("/bepa.txt"); | 314 | dbg_tail("/depa.txt"); |
329 | #else | 315 | #else |
330 | dbg_mkfile("/bepa.txt"); | 316 | dbg_mkfile("/depa.txt", 10); |
331 | #endif | 317 | #endif |
332 | dbg_dir("/"); | 318 | dbg_dir("/"); |
333 | 319 | ||
320 | ata_exit(); | ||
321 | |||
334 | return 0; | 322 | return 0; |
335 | } | 323 | } |
336 | 324 | ||