FreeCalypso > hg > freecalypso-tools
view target-utils/libcommon/hexstrings.c @ 973:7c18eac91457
loadtools: round out support for Intel flash families
The three Intel flash families encountered so far in Calypso GSM devices
are C3, W30 and W18, sizes from 2 to 8 MiB. Let's support all Intel
flash chips from these 3 families across this range of sizes.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Tue, 28 Nov 2023 18:56:40 +0000 |
| parents | 0da2cf5a999c |
| children |
line wrap: on
line source
/* * The decode_hex_digits() function contained in this module * will be used by the XRAM and flash loading commands * which take SREC-like long hex string arguments. */ #include <ctype.h> #include "types.h" decode_hex_digits(str, ndigits, valp) char *str; int ndigits; u32 *valp; { u32 accum; int i, c; accum = 0; for (i = 0; i < ndigits; i++) { c = *str++; if (!isxdigit(c)) return(-1); accum <<= 4; if (isdigit(c)) accum += c - '0'; else if (islower(c)) accum += c - 'a' + 10; else accum += c - 'A' + 10; } *valp = accum; return(0); }
