【SW4STM32生成 hex文件的设置方法】

  SW4STM32生成 hex文件的设置方法

开发环境:WIN7_64 + SW4STM32 

联系方式:yexiaopeng1992@126.com

修改:

  2018年1月21日

    在这周,有一个热心的网友向我发了邮件,讲述了生成hex的相关方法,并提供了pdf文档,经过验证是可以的。既然知识来源于网络,也应该通过网路回馈给大家。

         pdf文档地址:点我下载

     在pdf文档中有如图说明:

    

  所以,可以在图示位置,将原来的

  arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin";

  替换为

  arm-none-eabi-objcopy -O ihex "${BuildArtifactFileBaseName}.elf"  "${BuildArtifactFileBaseName}.hex"

即可。

修改:

  2017年10月26日

         原先提到的方法生成的hex文件自带的地址是0x00000000,使用另外的下载工具,如ST-LINK UNITY或者是J-FLASH的时候,自动识别了hex文件的地址,此地址无法修改。而STM32的hex文件应该下载到0x08000000,所有该方法生成的hex文件是无法使用的。

    暂时未找到指定地址的配置参数,特此说明。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        使用SW4STM32默认生成的是*.elf文件和*.bin文件,但有时我们需要hex文件,这时候就需要SW4STM32生成hex文件。

 因为SW4STM32使用的是arm-none-eabi-工具,其链接生成文件的设置地方为Project->setting->Build Step

图中框内命令是修改后的,其修改前为:

arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"; arm-none-eabi-size "${BuildArtifactFileName}"

修改后未:

arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin"; arm-none-eabi-objcopy -I binary -O ihex "${BuildArtifactFileBaseName}.bin"  "${BuildArtifactFileBaseName}.hex";arm-none-eabi-size "${BuildArtifactFileName}"

标红部分为:arm-none-eabi-objcopy -I binary -O ihex "${BuildArtifactFileBaseName}.bin"  "${BuildArtifactFileBaseName}.hex";

命令格式为: arm-none-eabi-objcopy -I binary -O ihex a.bin b.hex;//表示将a.bin文件转换为b.hex文件

原文地址:https://www.cnblogs.com/yexiaopeng/p/7725565.html