打印
[STM8]

关于在IAR中RAM 和FLAH的使用

[复制链接]
14323|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alanvi|  楼主 | 2013-8-19 16:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 alanvi 于 2013-8-19 16:18 编辑

我用的是STM8S103f3   8K Flash  1K RAM 640字节的E2PROM
  编译后报错
  unable to allocate space for sections/blocks with a total estimated minimum size of 0x1fc9 bytes in <[0x008000-0x009fff]> (total uncommitted space 0x1f80).

空间使用如下
  7 323 bytes of readonly  code memory
     936 bytes of readonly  data memory
     577 bytes of readwrite data memory (+ 69 absolute)

根据查到的信息看 应该是程序溢出

我有3个问题想请教下诸位
1.是不是 readonly  code memory  + readonly  data memory = FLASH    readwrite data memory = RAM?   
   所以我的FLASH用了7323 + 936 = 8259字节  >   8 * 1024 = 8192;所以报错
2.请问IAR 里面有没有类似STVD 的优化设置?
   如果有的话请问在哪设置。搜索了下百度 好像没类似功能
3.哪位大神能够指点下 关于程序优化的建议  
   
  恳请诸位帮忙  不胜感谢
沙发
hkcj| | 2013-8-19 19:00 | 只看该作者
不是很了解   楼主   帮你顶一个   看看别人的意见   应该有好的解决方法

使用特权

评论回复
板凳
JasonWangFAE| | 2013-8-20 08:45 | 只看该作者
是不是 readonly  code memory  + readonly  data memory = FLASH    readwrite data memory = RAM?   
   所以我的FLASH用了7323 + 936 = 8259字节  >   8 * 1024 = 8192;所以报错
<--YES

使用特权

评论回复
地板
alanvi|  楼主 | 2013-8-21 09:30 | 只看该作者
..额  多谢解答

使用特权

评论回复
5
outstanding| | 2013-8-21 09:50 | 只看该作者
这么大的代码?

使用特权

评论回复
6
alanvi|  楼主 | 2013-8-21 18:43 | 只看该作者
额 稍微大点
通过程序结构上的优化现在是
  6 318 bytes of readonly  code memory
    961 bytes of readonly  data memory
    573 bytes of readwrite data memory (+ 69 absolute)
不过别人在精简指令集的环境下  用4K 不到就完成了。太厉害了

使用特权

评论回复
7
ZBCC2530| | 2013-8-21 18:53 | 只看该作者
本帖最后由 ZBCC2530 于 2013-8-21 18:54 编辑

优化设置:

Image0882.JPG (26.72 KB )

Image0882.JPG

使用特权

评论回复
8
zjxcml| | 2013-8-21 23:36 | 只看该作者
呵呵,不太懂

使用特权

评论回复
9
食肉狼| | 2013-8-29 16:20 | 只看该作者
值得学习,顶一下优化设置的大神

使用特权

评论回复
10
d865841995| | 2015-5-10 14:41 | 只看该作者
0x1FC9=8137>7323+936这是为什么?

使用特权

评论回复
11
ccitlad| | 2016-1-4 13:54 | 只看该作者
JasonWangFAE 发表于 2013-8-20 08:45
是不是 readonly  code memory  + readonly  data memory = FLASH    readwrite data memory = RAM?   
   ...

错误的吧  FLASH应该是readwrite data memory  + (另外一个我不确定)

只是readwrite data memory  是占用flash的 !

使用特权

评论回复
12
木子不二| | 2017-1-22 14:32 | 只看该作者


   IAR ELF Linker V1.40.1.50106 for STM8
   Copyright 2010-2013 IAR Systems AB.
Error[Lp011]: section placement failed
          unable to allocate space for sections/blocks with a total estimated minimum size of 0x4a0 bytes in <[0x000000-0x0003ff]> (total uncommitted space 0x2f0).
          Uncommitted:
            [0x000000-0x0000ff]:  0xf0
            [0x000100-0x0003ff]: 0x200

  1 565 bytes of readonly  code memory
  3 413 bytes of readonly  data memory
  1 456 bytes of readwrite data memory (+ 20 absolute)


我的空间才占6434,怎么也报错

使用特权

评论回复
13
mugua521| | 2017-8-4 08:29 | 只看该作者

按照这位大神的方法完美解决。但是比较好奇的是,这样的优化对程序执行是否有影响?

使用特权

评论回复
14
henglin| | 2017-9-30 13:05 | 只看该作者
up

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

28

帖子

0

粉丝