Lines Matching refs:data
3 * Parser/loader for IHEX formatted data.
29 struct ihex_binrec *next; /* not part of the real data structure */
32 uint8_t data[];
46 static uint8_t hex(const uint8_t *data, uint8_t *crc)
48 uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
53 static int process_ihex(uint8_t *data, ssize_t size);
76 uint8_t *data;
111 data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
112 if (data == MAP_FAILED) {
126 if (process_ihex(data, st.st_size))
132 static int process_ihex(uint8_t *data, ssize_t size)
147 if (data[i] == '\n') line++;
148 if (data[i++] == ':') break;
157 len = hex(data + i, &crc); i += 2;
160 len += hex(data + i, &crc); i += 2;
171 /* now check if we have enough data to read everything */
173 fprintf(stderr, "Not enough data to read complete record at line %d\n",
178 record->addr = hex(data + i, &crc) << 8; i += 2;
179 record->addr |= hex(data + i, &crc); i += 2;
180 type = hex(data + i, &crc); i += 2;
183 record->data[j] = hex(data + i, &crc);
186 crcbyte = hex(data + i, &crc); i += 2;
222 offset = record->data[0] << 8 | record->data[1];
234 memcpy(&data32, &record->data[0], sizeof(data32));
236 memcpy(&record->data[0], &data32, sizeof(data32));