From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steven Scholz Date: Wed, 25 May 2005 11:14:18 +0200 Subject: [U-Boot-Users] Verify CRC on environment? In-Reply-To: <20050525091247.D1165C1512@atlas.denx.de> References: <20050525091247.D1165C1512@atlas.denx.de> Message-ID: <429441EA.60203@imc-berlin.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <42943EDA.7020404@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