打印

求教2812dsp将.ebss段放入FLASH而陷入循环出不来的问题

[复制链接]
5893|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
angelguard|  楼主 | 2009-8-19 20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟用2812编写的程序中,由于.ebss段过大(约为0x3000多,无法放入大小为8K的RAM中),因此将FLASH开辟一部分放入数据存储区,然后将.ebss段放入此FLASH中,小弟并没有改变过看门狗的设置,可是运行时,2818在进入第一个for循环时就出不来了,请问各位高手,以前有没有遇见过2812陷入for循环出不来的情况?有些什么原因会导致这种情况

相关帖子

沙发
mr.king| | 2009-8-19 21:02 | 只看该作者
2812在FLASH中调试跑就不会困于RAM不够了

使用特权

评论回复
板凳
angelguard|  楼主 | 2009-8-20 14:00 | 只看该作者
本帖最后由 angelguard 于 2009-8-20 14:03 编辑

今天上午我查了一下资料,终于弄懂了问题出在哪里,下面将原因阐述一下:
.ebss不能放入FLASH和ROM,因为.ebss段为未定义段,是要在程序执行时随时更改的段,而FLASH和ROM是在程序执行时已经定好而不能更改的存储空间,因此,如果把.ebss段放入FLASH而非RAM,则.ebss段不能随时更新,而由于for循环里的变量也是在.ebbs(.bss)段,则变量不能更新,因此陷入循环无法出来。
希望这个情况能对大家有所启发。

使用特权

评论回复
地板
angelguard|  楼主 | 2009-8-20 14:02 | 只看该作者
小弟是菜鸟,在dsp的实际应用中遇到了很多奇怪的问题,希望各位高手能可怜小弟这个菜鸟多给予些指导,小弟感激不尽。我也会把我知道的东西尽可能的告诉大家,共同进步

使用特权

评论回复
5
gx02026058| | 2013-12-13 10:30 | 只看该作者
angelguard 发表于 2009-8-20 14:02
小弟是菜鸟,在dsp的实际应用中遇到了很多奇怪的问题,希望各位高手能可怜小弟这个菜鸟多给予些指导,小弟 ...

写的不错 我也了解了一些

使用特权

评论回复
6
tom11| | 2015-1-10 14:43 | 只看该作者
:)

使用特权

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

本版积分规则

13

主题

88

帖子

0

粉丝