因此,我试图找出一种srec_cat在将代码放在微控制器上之前计算 CRC 的方法。现在,我的构建后脚本使用ielftoolfrom IAR 进行计算并将其插入到 hex 文件中的正确位置。
我想知道如何srec_cat使用相同的十六进制文件生成相同的 CRC。
这是产生我要复制的 CRC32 的 ielftool 命令:
--checksum APP_SYS_ApplicationCrc:4,crc32:1mi,0xffffffff;0x08060000-0x081fffff
APP_SYS_ApplactionCrc是将存储校验和并添加 4 字节偏移量的符号crc32是算法1指定补码m反转输入字节和最终校验和i用起始值初始化校验和值0xffffffff是起始值- 最后,
0x08060000-0x081fffff是计算校验和的内存范围
我已经尝试了很多东西,但是我认为这是迄今为止我最接近同一命令的srec_cat:
-crop 0x08060000 0x081ffffc -Bit_Reverse -crc32_b_e 0x081ffffc -CCITT -Bit_Reverse
-crop 0x08060000 0x081ffffc以某种方式指定将计算 CRC 的内存范围-Bit_Reversem当放置在正确的位置时,应该做与 ielftool相同的事情-crc32_b_e是算法。(我还不确定我需要大端_b_e还是小端_l_e)0x081ffffc是内存中放置 CRC 的位置-CCITT初始种子( 中的起始值ielftool)都是一位(这是默认值,但我想我会把它扔在那里)
有没有人知道如何复制 ielftool 的 CRC?还是我只是徒劳无功?
我是 CRC 的新手,除了基础知识外,我知道的不多。如果我有完全相同的算法,这是否重要?当我将代码放在板上时,CRC 是否仍然有效?
注意:我目前正在使用ielftool 10.8.3.1326和srec_cat 1.63