OpenCores
URL https://opencores.org/ocsvn/altor32/altor32/trunk

Subversion Repositories altor32

[/] [altor32/] [trunk/] [rtl/] [sim_icarus/] [readmem.c] - Blame information for rev 37

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 37 ultra_embe
#include <stdio.h>
2
#include <string.h>
3
#include <stdlib.h>
4
#include <assert.h>
5
 
6
#include <unistd.h>
7
 
8
//-----------------------------------------------------------------
9
// main:
10
//-----------------------------------------------------------------
11
int main(int argc, char *argv[])
12
{
13
    int c;
14
    FILE *f;
15
    char filename[256];
16
    int help = 0;
17
    int offset = 0;
18
 
19
    filename[0] = 0;
20
 
21
    while ((c = getopt(argc, argv, "hf:o:")) != EOF)
22
    {
23
        switch (c)
24
        {
25
            case 'h':
26
                help = 1;
27
                break;
28
            case 'o':
29
                offset = strtoul(optarg, NULL, 0);
30
            case 'f':
31
                strcpy(filename, optarg);
32
                break;
33
        }
34
    }
35
 
36
    if (filename[0] == '\0' || help)
37
    {
38
        fprintf(stderr, "Options:\n");
39
        fprintf(stderr, " -f inputFile\n");
40
        fprintf(stderr, " -o offset\n");
41
        return help ? 0 : 1;
42
    }
43
 
44
    f = fopen(filename, "rb");
45
    if (f)
46
    {
47
        int i,w,s;
48
        unsigned int size;
49
        unsigned int words;
50
        unsigned char buf;
51
        unsigned char data;
52
 
53
        // Get size
54
        fseek(f, 0, SEEK_END);
55
        size = ftell(f);
56
        rewind(f);
57
 
58
        fseek(f, offset, SEEK_SET);
59
 
60
        for (i=0;i<size + 1;i+=4)
61
        {
62
            fread(&buf, 1, 1, f);
63
            data = buf;
64
 
65
            printf("%x\n", data);
66
 
67
            // Skip N bytes of
68
            fread(&buf, 1, 1, f);
69
            fread(&buf, 1, 1, f);
70
            fread(&buf, 1, 1, f);
71
        }
72
 
73
        fclose(f);
74
        return 0;
75
    }
76
    else
77
    {
78
        fprintf(stderr, "Could not open file %s\n", filename);
79
        return 1;
80
    }
81
}
82
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.