This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
尊敬的 TI:
我使用的是 PSDK Linux v08.04。 我想在 U-Boot 环境中实施 CRC 校验、以检查加载的 Linux 内核是否有效(我将 Linux 根文件系统(包括引导/映像中的 Linux 内核)加载到 eMMC 分区2)。 为此、我使用以下命令:
=> setenv get_kern_mmc 'load mmc 0:2 ${loadaddr} ${bootdir}/Image' => run get_kern_mmc 19411456 bytes read in 112 ms (165.3 MiB/s) => crc32 ${loadaddr} ${filesize} 0 crc32 for 82000000 ... 832831ff ==> e49b6f46 => md 0 1 00000000: 466f9be4 ..oF =>
在下一步中、我想将计算出的校验和与一些预定义的校验和进行比较、如果它们匹配(在 U-Boot 中使用 itest 命令)、我很乐意引导。 但是、您可以看到、在使用 MD 命令读取实际值时会混合字节序。
您能否提供任何修复或解决方法来解决此问题?
感谢您的帮助和致以最诚挚的问候、
Felix
您好、Felix、
https://patchwork.ozlabs.org/project/uboot/patch/1365203470-9099-1-git-send-email-sjg@chromium.org/
这主要与 CRC32应用程序有关、一般与 U-Boot 无关。
简单证明:
MW 0x80000000 0xFFFFFF0000 1.
MD.b 0x8000000
8000000000:00 ff 2e bf 74 ff 19 f1 5F 36 47 f5 3e 64… T.._6G.>d
因此最低有效字节存储在最低地址。
它是小端字节序。
此致、
基尔西