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

      

  • 相关阅读:
    Zookeeper 入门第一篇
    jmap命令
    Java中的原子操作类
    Fel表达式实践
    Fel表达式使用过程中需要注意的问题
    【luoguP1196】 [NOI2002]银河英雄传说--边带权并查集 ,
    【luoguP1955 】[NOI2015]程序自动分析--普通并查集
    【csp模拟赛2】 序列操作
    【csp模拟赛2】 爆搜 方格加数
    HZWER
  • 原文地址:https://www.cnblogs.com/hexia7935/p/15406548.html
Copyright © 2011-2022 走看看