打印

临时变量到底存放在哪里???在svc stack里面吗

[复制链接]
5360|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ma1986|  楼主 | 2009-11-3 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
code +ro data +rw data + zi data 都是从flash里面来的,然后通过
AREA RamData, DATA, READWRITE
^ (DRAM_END - 0x800)
申请栈空间,那么我们多出来的内存需要做处理吗??

ram中除了code 和全局的变量,另外在末尾分配了一个数据段,除此之外的空间,我们的处理器会用到吗??

另外,在我们末尾分配空间用来作为svc等各个模式的stack,和中断在ram的映射~~~那么,这个stack存放临时变量吗?还是只存放在调用函数返回的地址+传递的参数???

我为我的svc stack分配了8k,还是有时候出现 未定义指令异常、数据终止异常!!!感觉应该是被覆盖了。。
我们的临时变量到底是存放在何处呢,在stack里面吗???

好混乱啊,求各位指条明路吧!!!

相关帖子

沙发
暮然| | 2009-11-4 16:52 | 只看该作者
多出来的,就多出来呗,一口锅,你非得煮满了饭?
临时变量放在栈里。各个模式都应该分配适应的栈空间。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ma1986 + 1
板凳
yuhuihui| | 2009-11-5 08:58 | 只看该作者
支持

使用特权

评论回复
地板
ma1986|  楼主 | 2009-11-5 09:30 | 只看该作者
2# 暮然

就是除了将code映射到ram的空间,还有RO + RW +ZI DATA外,另外我在ram最后面分配的各个模式的堆栈和中断向量外,其他的ram空间都是不用的咯???

但是我总感觉出现未定义指令异常,就是应该是压栈的pc被数据覆盖,然后去取指令执行的时候出现了问题。。。。

我分配的都很足够的。我给svc 16k多,给irq 1k,其他异常都是256B,fiq不用,但是也给了256B,但是为什么还出现这个错误呢???

使用特权

评论回复
5
暮然| | 2009-11-5 21:53 | 只看该作者
??这个还是ram调试模式,我从来都没用过。
不过,lz用的是那个模式,SVC?USR?用哪个模式必然是要将栈设大。
栈的使用超限肯定会出现问题。还有,中断处理函数的申明有没有关键字,没有的话,编译器会将中断处理函数当成普通函数处理,在返回时也会abort。

使用特权

评论回复
6
暮然| | 2009-11-5 22:03 | 只看该作者
不知lz是不是初学者,如果是,建议多研究启动代码和分散加载,其他的和用单片机没什么区别。
如果是老手,就算献丑了:$。

使用特权

评论回复
7
ma1986|  楼主 | 2009-11-6 08:16 | 只看该作者
6# 暮然

我用的svc模式,如果多出来的空间都没人用的话,就算svc异常也不会被任何人使用的啊。。。我在前面加了__irq了~~~异常的返回需要加什么吗???

使用特权

评论回复
8
ma1986|  楼主 | 2009-11-6 08:16 | 只看该作者
6# 暮然
启动文件我看过了。。我使用的是simple,没有用分散加载~~~

使用特权

评论回复
9
1dqmoon| | 2009-11-6 08:42 | 只看该作者
8k空间够大了, 一般的程序是够的, 除非LZ的程序特别大,而且变量比较多
出现 未定义指令异常、数据终止异常 多是程序设计不合理, 建议单步调试跟踪查一下

使用特权

评论回复
10
ma1986|  楼主 | 2009-11-6 09:39 | 只看该作者
9# 1dqmoon

因为他要运行至少几个小时才会出现死机的状况。。所以很难单步调试跟踪,只能在他死的时候,看里面堆栈的内容。

程序设计不合理?比如说什么情况下,会发生呢???

使用特权

评论回复
11
五谷道场| | 2009-11-7 19:07 | 只看该作者
我看,就没有这个必要了吧

使用特权

评论回复
12
暮然| | 2009-11-10 21:56 | 只看该作者
不知lz问题解决没有,你的这个问题,估计论坛里没人能帮你解决了。
不过出了问题总是有原因的,不妨用串口或者显示(有条件的话)把自己设定的某个调试数据打印出来,除此,还可以从外围电路的反应情况获得蛛丝马迹。
个人认为程序员最重要的不是写程序能力多么高超,而是能最快的发现问题,洞察问题,分析并解决。

使用特权

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

本版积分规则

48

主题

101

帖子

1

粉丝