[U-Boot-Users] Verify CRC on environment?
Steven Scholz
steven.scholz at imc-berlin.de
Wed May 25 11:14:18 CEST 2005
Wolfgang Denk wrote:
> In message <42943EDA.7020404 at imc-berlin.de> you wrote:
>
>>(how) can I verify the CRC of the environment using the crc32 command?
>
>
> => help crc
>
>
>>I am using CFG_ENV_ADDR_REDUND, so I guess I have to skip 5 bytes of header.
>
>
> Right.
>
>
>>Do the two last 0x00 count?
>
>
> Yes. As does all the rest of the configured CFG_ENV_SIZE
>
>
>>My environment is at 10030000:
>>
>>10030000: 4c 16 71 5f 00 62 6f 6f 74 64 65 6c 61 79 3d 30
>>10030010: 00 62 61 75 64 72 61 74 65 3d 31 31 35 32 30 30
>>10030020: 00 73 65 72 69 61 6c 23 3d 31 32 38 33 30 30 00
>>10030030: 73 74 64 69 6e 3d 73 65 72 69 61 6c 00 73 74 64
>>10030040: 6f 75 74 3d 73 65 72 69 61 6c 00 73 74 64 65 72
>>10030050: 72 3d 73 65 72 69 61 6c 00 00 3d 73 65 72 69 61
>>10030060: 6c 00 00 64 65 72 72 3d 73 65 72 69 61 6c 00 00
>>10030070: 74 64 65 72 72 3d 73 65 72 69 61 6c 00 00
>>
>>That 0x7D, so 125+1 = 126 bytes
>>
>>So I thought I have to calculate the crc over 126 - 5 = 0x79 bytes
>>
>>crc32 10030005 0x79
>>CRC32 for 10030005 ... 1003007d ==> 8889f3af
>>
>>But this is obviously wrong... :-(
>
>
> Yes, this is wrong. You must use "CFG_ENV_SIZE - 5" as length for the
> crc command.
Hmm. But after the two last 0x00 there's "garbage" in the flash, i.e. old,
overwritten and erased values.
So the count as well?
--
Steven
More information about the U-Boot
mailing list