keil 生成bin文件自动在文件末尾加入crc32校验
新建一个txt文件,复制如下内容,保存并更改文件名后缀为.bat
::bin文件名
@set src_filename=USB
::需要命名成的文件名
@set dest_filename=update
::.bin文件所在目录
@set src_path=..\
::命名后的文件放置的目标路径
@set dest_path=.\binary
@copy %src_path%\%src_filename%.bin %dest_path%\%dest_filename%.bin
@echo generated: %dest_filename%.bin
::文件末尾加入crc32校验
call add_crc32 %dest_path%\%dest_filename%.bin
@echo %dest_filename%.bin has been add crc32.
Options ->User配置
-
将如上代码命名为tool.bat放到如图目录
-
下载add_crc32.exe也放到该目录
-
将keil中user配置成上图红框
-
点击编译即可自动完成命名和加入crc检验
不放心的话可以去验证一波~
还可以知道该CRC校验使用的是哪一个参数模型~
在线计算工具:www.ip33.com/crc.html
附带一个计算公式:
//参数可以自己修改哈
uint32_t crc32_mpeg_2(uint8_t data[], uint32_t crc, uint16_t length)
{
uint8_t i;
uint32_t count = 0;
//uint32_t crc = 0xffffffff; // Initial value
while(length--)
{
crc ^= (uint32_t)(data[count++]) << 24;// crc ^=(uint32_t)(*data)<<24; data++;
for (i = 0; i < 8; ++i)
{
if ( crc & 0x80000000 )
crc = (crc << 1) ^ 0x04C11DB7;
else
crc <<= 1;
}
}
return crc;
}
参考链接:https://blog.csdn.net/weixin_35714547/article/details/131509292