Calculating CRC initial value instead of appending the CRC to payload <p>Most of the CRCs I've implemented were <strong>appending</strong> the calculated CRC value to the message (payload) and checking for a zero result at the receiver after all bytes incl. CRC value were fed through the CRC register. Obviously this is a quite standard approach.</p> <p>Now I would like to use a different approach:</p> <ol> <li>Calculate a value from the payload.</li> <li>Use that value as initial value for the CRC register <strong>before</strong> the message bytes (payload) are fed through the CRC register such that the result after the last byte of the payload was fed through will be zero.</li> </ol> <p>What is the best approach to do this? Does one have a good idea or some pointers where to dig deeper?</p> <p>ps: Why I want to do this? In some applications (ROM) I cannot append data as the data is stored at the end of address space of a ROM. So I'd like to either preload the CRC register or prepend the value to the message.</p>