ESP8266 Developer Zone The Official ESP8266 Forum 2016-03-02T12:23:55+08:00 https://bbs.espressif.com:443/feed.php?f=65&t=1792 2016-03-02T12:23:55+08:00 2016-03-02T12:23:55+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1792&p=5902#p5902 <![CDATA[Re: 关于iram1_0_seg的大小]]> Statistics: Posted by harryhu — Wed Mar 02, 2016 12:23 pm


]]>
2016-03-02T11:08:51+08:00 2016-03-02T11:08:51+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1792&p=5900#p5900 <![CDATA[Re: 关于iram1_0_seg的大小]]>
iram 的大小目前已经是最大值,无法再增加。

添加 ICACHE_FLASH_ATTR 宏后报的错误表示可能您的程序中非四字节对齐读写 ram 数据了。
或者您可以提供您的这部分代码,我们将协助您进行分析。

感谢您对 ESP8266 的关注!

Statistics: Posted by ESP_Faye — Wed Mar 02, 2016 11:08 am


]]>
2016-02-22T20:00:50+08:00 2016-02-22T20:00:50+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1792&p=5798#p5798 <![CDATA[Re: 关于iram1_0_seg的大小]]> Statistics: Posted by harryhu — Mon Feb 22, 2016 8:00 pm


]]>
2016-02-21T17:34:15+08:00 2016-02-21T17:34:15+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1792&p=5789#p5789 <![CDATA[Re: 关于iram1_0_seg的大小]]>

Statistics: Posted by mengzawj — Sun Feb 21, 2016 5:34 pm


]]>
2016-02-20T16:53:29+08:00 2016-02-20T16:53:29+08:00 https://bbs.espressif.com:443/viewtopic.php?t=1792&p=5787#p5787 <![CDATA[关于iram1_0_seg的大小]]>
由于我们的程序比较大,有些经常用的函数比较大,放在iram1_0_seg,超出了iram1_0_seg的大小,从资料上看eagle.flash.bin是放在iram1_0_seg,eagle.flash.bin在FLASH中最大可以到64KB,我们就把iram1_0_seg的大小修改成64KB,如下:
MEMORY
{
dport0_0_seg : org = 0x3FF00000, len = 0x10
dram0_0_seg : org = 0x3FFE8000, len = 0x14000
iram1_0_seg : org = 0x40100000, len = 0x10000
irom0_0_seg : org = 0x40240000, len = 0x38000
}
但是程序运行一直是打印乱码,修改成48KB大小也一样,请问应该怎样增加iram1_0_seg的大小?



如果把函数全部加ICACHE_FLASH_ATTR属性,iram1_0_seg大小不需要修改,但是会报如下错误:
Goto init led_card_start
Fatal exception 9(LoadStoreAlignmentCause):
epc1=0x4010070a, epc2=0x00000000, epc3=0x40100f28, excvaddr=0x00000003, depc=0x00000000

我们没有使用中断函数,也没有中断处理函数加了ICACHE_FLASH_ATTR(定时器回调函数加了ICACHE_FLASH_ATTR)

请问这是什么原因?



期待您的回复!

THS

Statistics: Posted by harryhu — Sat Feb 20, 2016 4:53 pm


]]>