[STM8] STM8 IAR 生成HEX疑问

[复制链接]
3618|18
 楼主| buzhichi 发表于 2014-11-30 20:38 | 显示全部楼层 |阅读模式
小白请教个问题,我用IAR的,生成HEX的时候,看HEX内容,怎么有一些没用的东西,我截图如下:

生成的HEX文件

生成的HEX文件

里面包含了项目坐在的目录等一大堆东西,怎么会生成这个,那么这样是不是我换一次目录生成的HEX就会不同呢?
这里还占用了空间,可去掉吗?
谢谢~
FAQ 发表于 2014-11-30 23:27 | 显示全部楼层
我之前也遇到过这个情况。也有这个疑问。
 楼主| buzhichi 发表于 2014-12-1 10:24 | 显示全部楼层
经过试验,换一个地方编译,代码大小没有变,代码校验和没有变。   那么就是这里占用了空间,能去掉吗?
大侠解答啊
 楼主| buzhichi 发表于 2016-7-31 19:14 | 显示全部楼层
顶,这个问题我还是没解决,哈哈哈
 楼主| buzhichi 发表于 2016-7-31 19:15 | 显示全部楼层
我用的编译器是IAR STM8,程序吃紧啊。
frognidie 发表于 2016-8-1 12:16 | 显示全部楼层
看下 map文件里面怎么分布的
zchong 发表于 2016-8-2 07:51 来自手机 | 显示全部楼层
hex不是bin,有什么关系呢
 楼主| buzhichi 发表于 2016-8-4 07:19 | 显示全部楼层
是不是可以通过编译器禁止的,这个放进去倒是有好处,可以知道是哪里的程序,但是有时候不行啊。这个应该是编译器当做好功能自己干的吧,怎么取消他,大家有注意过自己的IAR STM8生成的hex吗,有没有啊
 楼主| buzhichi 发表于 2016-8-4 07:21 | 显示全部楼层
zchong 发表于 2016-8-2 07:51
hex不是bin,有什么关系呢

那个截图是烧录器调入hex时候在烧录器里面的,就是说是确定了是占用了程序空间的。并不是给出一个信息,然后烧录的时候没有。是真实的占用了flash
 楼主| buzhichi 发表于 2016-8-4 07:37 | 显示全部楼层
frognidie 发表于 2016-8-1 12:16
看下 map文件里面怎么分布的

看了,我截个图。大侠教我怎么取消他。
我把map截图发到下面吧,貌似回复插不了截图呢
 楼主| buzhichi 发表于 2016-8-4 07:39 | 显示全部楼层
这个就是map的截图,放在了0x8100开始处,我不想要怎么取消
222.png
frognidie 发表于 2016-8-4 08:31 | 显示全部楼层
在选项中把链接库关闭呢?或者提高优化策略试试呢
 楼主| buzhichi 发表于 2016-8-4 15:11 | 显示全部楼层
frognidie 发表于 2016-8-4 08:31
在选项中把链接库关闭呢?或者提高优化策略试试呢

优化策略都是最高级别了。程序吃紧。
关闭连接库是哪里,你的IARSTM8工程里有这些信息吗
 楼主| buzhichi 发表于 2016-8-4 17:35 | 显示全部楼层
 楼主| buzhichi 发表于 2016-8-5 09:43 | 显示全部楼层
顶,顶,解决了。简直没有技术含量,但的确是解决了大问题,省下来一两百字节。
2584063385 发表于 2016-8-15 15:52 | 显示全部楼层
buzhichi 发表于 2016-8-5 09:43
顶,顶,解决了。简直没有技术含量,但的确是解决了大问题,省下来一两百字节。 ...

请教下楼主是怎么解决的?我也遇到这个问题了,谢谢
foxpro2005 发表于 2020-8-11 16:08 | 显示全部楼层
本帖最后由 foxpro2005 于 2020-8-11 16:15 编辑
buzhichi 发表于 2016-8-5 09:43
顶,顶,解决了。简直没有技术含量,但的确是解决了大问题,省下来一两百字节。 ...

你好请教下怎么解决的,刚用STM8不熟也碰到这个问题?

找到原因了: 把stm8_conf.h文件中的断言功能宏注释掉即可,这样就不会在HEX文件中添加库文件路径信息了(具体原因:可能是某些库文件中的某些函数参数检查有问题,才在生成的HEX文件中添加了相应的文件路径信息)。
//#define USE_FULL_ASSERT    (1)



您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

65

帖子

1

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