On Monday 28 November 2011 02:56:33 Lars-Peter Clausen wrote:
On 11/25/2011 09:00 PM, Mike Frysinger wrote:
On Friday 25 November 2011 03:55:42 Lars-Peter Clausen wrote:
On 11/24/2011 06:21 PM, Mike Frysinger wrote:
On Thursday 24 November 2011 07:48:21 Lars-Peter Clausen wrote:
The firmware header is not part of the CRC, so skip it. Otherwise the firmware will be rejected due to non-matching CRCs.
that's because you didn't compare to the right value ;). include the CRC -> compare to 0. omit the CRC -> compare to the CRC value.
Does this really work if the CRC is inserted somewhere in the middle of the bytestream?
i don't think the position matters to the CRC algorithm used by sigmadsp. math principle: a ^ b ^ c is the same thing as b ^ a ^ c and c ^ b ^ a.
If CRC algorithms were commutative they would be pretty weak, I guess ;)
that doesn't stop people from implementing them this way ;). the last CRC code i did actually implement and test related to the Blackfin arch did have this property (the bootrom). so i just included the computed CRC value and made sure the end result is 0.
i could be wrong as to the CRC algo used though. simple enough for you to check -- i implemented this firmware code based on a spec i wrote up for the sigmadsp peeps; i never actually had real firmware to test with.
It does not work.
ok, i withdraw my complaints here then :) -mike