I just found Peter Miller's srecord installed probably during WinAVR installation.
I'm planning to add CRC to program memory (flash). For one Mega8 intel hex-file I tested this: srec_cat test.hex -intel -Big_Endian_CRC16 0x1FFA -o test2.hex -intel and it seems to provide reasonable output file. I guess it is OK to use some fixed address like here (MAX-6)... Better solutions (automated, when amount of flash changes) are welcome.
srecord doc says that CRC is "industry standard" Is it compatible with WinAVR/avr/include/avr/crc16.h found from WinAVR package. /* Copyright (c) 2002, Marek Michalkiewicz All rights reserved. /* $Id: crc16.h,v 1.2 2002/12/12 11:41:01 joerg_wunsch Exp $ */ /* avr/crc16.h - optimized CRC-16 Polynomial: x^16 + x^15 + x^2 + 1 (0xa001) Initial value: 0xffff */
Another question: What about the blank adresses in hex. Should they be filled? srecord manual says "Holes in the input data are ignored."
Yes, I know it shouldn't take too much time to figur out these by myself...but I'm feeling a bit lazy at the moment.
Pygmi