Go to the source code of this file.
| Defines | |
| #define | ERR_CRC 1 | 
| #define | ERR_ADDR 2 | 
| #define | ERR_FMT 3 | 
| #define | NO_ERR 0 | 
| Functions | |
| int | read_hex_file (FILE *fp, int crc, unsigned char *buf, unsigned buf_size, unsigned *low_addr, unsigned *high_addr) | 
| int read_hex_file | ( | FILE * | fp, | 
| int | crc, | ||
| unsigned char * | buf, | ||
| unsigned | buf_size, | ||
| unsigned * | low_addr, | ||
| unsigned * | high_addr | ||
| ) | 
Definition at line 74 of file hexfile.c.
{
    int res, lcount, err;
    char line[1000];
    lcount = 0;
    err = 0;
    while (!feof(fp) && !ferror(fp))
    {
        fgets(line, 1000, fp);
        lcount++;
        if ((res = read_hex_line(line, buf, buf_size, low_addr, high_addr)) != NO_ERR)
        {
            switch(res)
            {
                case ERR_CRC:
                    if (crc == 1)
                    {
                        fprintf(stderr, "ERROR: Checksum error on line %d\n", lcount);
                        err = res;;
                    }
                    break;
                case ERR_ADDR:
                    fprintf(stderr, "ERROR: Hex file contents does not fit into flash\n");
                    return res;
                case ERR_FMT:
                    fprintf(stderr, "ERROR: Invalid Intel hex format on line %d\n", lcount);
                    return res;
            }
        }
    }
    return err;
}
 1.7.2
 1.7.2