[开发工具] STM8 stvd编译如何生成可编程的bin文件或者hex文件

[复制链接]
 楼主| leewen 发表于 2009-7-21 11:11 | 显示全部楼层 |阅读模式
急,请知者告知。谢谢先
汉之云 发表于 2009-7-21 14:43 | 显示全部楼层

生成hex文件

Project->settings->PostBuild,
commands栏内加入
chex –fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8

再重新编译链接
 楼主| leewen 发表于 2009-7-21 14:49 | 显示全部楼层

RE

我在Project Setting->post-Build 里的commands加了一句
chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
可以在release文件夹里生成.hex文件,但这个文件有66K,而在debug文件的.map里编译的代码没这么大吧

start 00008080 end 000085b1 length  1329 segment .const
start 0000872b end 0000ecfa length 26063 segment .text
start 00004000 end 00004000 length     0 segment .eeprom
start 00000000 end 00000000 length     0 segment .bsct
start 00000000 end 00000006 length     6 segment .ubsct
start 00000006 end 00000006 length     0 segment .bit
start 00000006 end 00000006 length     0 segment .share
start 00000100 end 00000272 length   370 segment .data, initialized
start 000085b9 end 0000872b length   370 segment .data, from
start 00000272 end 000007c2 length  1360 segment .bss
start 00000000 end 0000bca3 length 48291 segment .debug
start 00008000 end 00008080 length   128 segment .const
start 000085b1 end 000085b9 length     8 segment .init

应该才26K的吧,为什么呢???
 楼主| leewen 发表于 2009-7-21 14:53 | 显示全部楼层

RE

谢谢楼上的。我也刚刚琢磨出来了。
如果要生成.bin文件,就把.hex改为.bin是吧。但大小怎么会那么大啊?
汉之云 发表于 2009-7-21 15:13 | 显示全部楼层

chex 工具不能生成bin文件

决定生成格式的是 -f*
* = i 表示intel格式
* = m 表示motorola格式
 楼主| leewen 发表于 2009-7-21 15:42 | 显示全部楼层

re

谢谢汉之云,那么它生成的大小也就是那么大的咯,跟我debug时生成的.map文件的说明的代码大小差那么大啊!岂不是不能烧录到32K的MCU
 楼主| leewen 发表于 2009-7-21 16:43 | 显示全部楼层

re

我知道了。把它转成bin文件就是实际下载到mcu的空间大小
tothen 发表于 2010-12-23 15:48 | 显示全部楼层
chex –fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8
这个生成出来的,怎么和S19的数据一模一样!
tothen 发表于 2010-12-23 15:49 | 显示全部楼层
错了,数据不一样,但用 HEX 转BIN 的工具,提示说  HEX文件格式出错!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

102

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

45

主题

102

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部