zoukankan      html  css  js  c++  java
  • stm32生成bin文件并添加CRC校验到文件末尾

    做STM32的IAP升级需要用到BIN文件,为了确保BIN文件正确,于是在BIN文件的末尾增加了CRC校验。

    校验值是自动生成的并添加的。

    首先是准备工作:

    1.下载校验值生成工具

    下载后里面的exe文件解压到keil任意的文件下,这里我是放在D:Keil_v5ARMARMCC文件夹内。这个路径 后续需要用到。

    2.在你项目的启动文件所在的文件夹内,增加一个bat文件

      方法:新建txt文件,然后将下面的内容拷贝进去,最后修改后缀名

    内容如下:

    @echo off
    ECHO Add CRC32  At the end of the document
    ECHO -------------------------------------
    
    SET SREC_PATH=D:Keil_v5ARMARMCC        //这里的SET SREC_PATH是你安装工具的位置(这句话记得删除)
    
    for /f %%i in ('dir /b .
    aw.bin') do (
    set indexdx=%%~zi
    )
    
    ECHO %indexdx%
    
    ECHO %SREC_PATH%srec_cat.exe raw.bin -Binary -crop 0 %indexdx%  -crc32-b-e %indexdx%  -o gps_bass.bin -Binary
    %SREC_PATH%srec_cat.exe raw.bin -Binary -crop 0 %indexdx%  -crc32-l-e %indexdx%  -o gps_bass.bin -Binary

    3.打开你的项目,点击魔术棒,打开user选项卡,在After Build栏,勾选RUN1,RUN2。

    在RUN1 栏添加“D:Keil5ARMARMCCinfromelf.exe --bin --output=raw.bin !L”  //安装路径不一定相同,找到你安装keil的文件夹,选中ARMARMCCinfromelf.exe,后面照抄

    在RUN2栏,选中刚刚增加的BAT文件

    最后直接编译就会得到两个bin文件,一个raw.bin  一个gps_bass.bin

    想要BIN文件的命名不一样?

    1.在RUN1  output=raw.bin这里修改成 output=xxxx.bin

    2.在BAT文件内,把所有raw改成xxxx,

    把gps_bass.bin改成你想要的aaa.bin

    参考连接:https://blog.csdn.net/wandersky0822/article/details/104015110

    https://blog.csdn.net/Simon223/article/details/105724950/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242

      

  • 相关阅读:
    漫谈五种IO模型
    jvm调优-命令大全(jps jstat jmap jhat jstack jinfo)
    Intellij IDEA 插件开发秘籍
    二进制
    java程序员必知的 8大排序
    Redis常见问题
    BitMap位图
    编程思想
    Final修饰的字段是否可以通过反射设置值
    ORACLE 11g ORA-20000: Unable to analyze TABLE "AA"."CMP3$87651", insufficient privileges or does not exist
  • 原文地址:https://www.cnblogs.com/hexia7935/p/15406548.html
Copyright © 2011-2022 走看看