Большинство реализованных мной CRC были добавлением вычисленного значения CRC к сообщению (полезной нагрузке) и проверкой нулевого результата в получателе после того, как все байты вкл. Значение CRC было пропущено через регистр CRC. Очевидно, это вполне стандартный подход.
Теперь я хотел бы использовать другой подход:
- Рассчитайте значение из полезной нагрузки.
- Используйте это значение в качестве начального значения для регистра CRC до байтов сообщения (полезной нагрузки), пропущенных через регистр CRC, так что результат после того, как последний байт полезной нагрузки был пропущен, будет равен нулю.
Как лучше всего это сделать? Есть ли у кого-то хорошая идея или какие-то указания, куда копать глубже?
ps: Почему я хочу это сделать? В некоторых приложениях (ПЗУ) я не могу добавлять данные, поскольку данные хранятся в конце адресного пространства ПЗУ. Поэтому я хотел бы либо предварительно загрузить регистр CRC, либо добавить значение к сообщению.