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文件