lyl1070 发表于 4 小时前

请教KEIL ARM 中如何提取生成的hex文件的CRC32值并显示?

请教:KEIL ARM 的IDE环境下,在编译后如何提取生成的hex文件的CRC32值并显示?

即是在User中,After Build/Rebuild里,运行的参数,或者是bat批处理文件。
我想在编译完成后,在Build Output窗口中显示生成的hex文件的CRC32,并且复制并加上CRC32值,重命名生成的文件。

现在只能查看MD5,不能生成CRC32。


Program Size: Code=35592 RO-data=8112 RW-data=108 ZI-data=3792
FromELF: creating hex file...
After Build - User command #2: .\rename.bat
2024-08-26-周一
18:24:35.05
Format: Intel Hexadecimal (MCS-86)
Execution Start Address: 080000C1
Data:   08000000 - 0800AB23
MD5 的 ./Project.hex 哈希:
fe5963e9c77806bee123f2615bba7363
CertUtil: -hashfile 命令成功完成。
已复制         1 个文件。
找不到 E:\Work\荣威_SPA\荣威26季\电源板\SC32F10\Project\Output\*V*.bin
系统找不到指定的文件。
找不到 E:\Work\荣威_SPA\荣威26季\电源板\SC32F10\Project\Output\Project.bin
".\Output\Project.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:00:00:04


@echo off

echo %date%
echo %time%
cd /d %~dp0
cd Output
srec_info.exeProject.hex -intel
CertUtil -hashfile "./Project.hex" MD5

del *.lnp
del *.lst
del *.__i
del *.o
del *.d
del *.i
del *.crf
del *.txt
del *V*.hex
set a=./Project.hex
set yy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set hh=%time:~0,2%
set mn=%time:~3,2%
set ss=%time:~6,2%
set value=%yy%%mm%%dd%V%hh%%mn%%ss%
copy "%a%" "%value%.hex"
del *V*.bin
set a=./Project.bin
copy "%a%" "%value%.bin"
del Project.bin

albert_w 发表于 4 小时前

可以在afterbuild里面加载外部命令来计算crc吧。不过按说应该是bin文件的crc,hex的crc有点不合适,这玩意同一个bin出来的hex有不同的格式(每行长度)

刘志勇 发表于 3 小时前

印象中“CRC32”存在多种不同的,建议搞清要哪种,然后去搞工具,加到“CertUtil”那儿。

AppTurtle 发表于 3 小时前

IAR 自带工具ielftool 可以生成crc32,可以生成hex,bin格式的文件。
而且是带源码的哦,可以自己修改一下加一些特殊功能

astankvai 发表于 2 小时前

CRC32可以对应不同的多项式。 我们一般用和以及网CRC32的同一个多项式生成。
页: [1]
查看完整版本: 请教KEIL ARM 中如何提取生成的hex文件的CRC32值并显示?