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

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [orp/] [orp_soc/] [sw/] [utils/] [bin2srec.c] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 750 lampret
#include <stdio.h>
2 1289 partain
#include <stdlib.h>
3 750 lampret
 
4
#define SMARK "S214"
5
#define SADDR 0x000000
6 1268 lampret
#define INIT_ADDR 0x100100
7 750 lampret
#define SCHKSUM 0xff
8
 
9
int main(int argc, char **argv)
10
{
11
 
12
        FILE  *fd;
13 1289 partain
        int c, j;
14 750 lampret
        unsigned long addr = INIT_ADDR;
15
        unsigned char chksum;
16
 
17 1289 partain
        if(argc < 2) {
18
                fprintf(stderr,"no input file specified\n");
19
                exit(1);
20
        }
21
        if(argc > 2) {
22
                fprintf(stderr,"too many input files (more than one) specified\n");
23
                exit(1);
24
        }
25 750 lampret
 
26
        fd = fopen( argv[1], "r" );
27 1289 partain
        if (fd == NULL) {
28
                fprintf(stderr,"failed to open input file: %s\n",argv[1]);
29
                exit(1);
30
        }
31 750 lampret
 
32
        while (!feof(fd)) {
33
                j = 0;
34
                chksum = SCHKSUM;
35
                printf("%s%.6lx", SMARK, addr);
36
                while (j < 16) {
37
                        c = fgetc(fd);
38
                        if (c == EOF) {
39
                                c = 0;
40
                        }
41 1289 partain
                        printf("%.2x", c);
42 750 lampret
                        chksum -= c;
43
                        j++;
44
                }
45
 
46
                chksum -= addr & 0xff;
47
                chksum -= (addr >> 8) & 0xff;
48
                chksum -= (addr >> 16) & 0xff;
49
                chksum -= 0x14;
50 1289 partain
                printf("%.2x\r\n", chksum);
51 750 lampret
                addr += 16;
52
        }
53
        return 0;
54
}

powered by: WebSVN 2.1.0

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