打印

关于xcl文件中段定义的问题

[复制链接]
1997|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shishan|  楼主 | 2007-6-21 15:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想在xcl文件中增加对SVC的栈的定义,如下:
//*************************************************************************
// Stack and heap segments.
//*************************************************************************
-D_CSTACK_SIZE=(100*4)
-D_IRQ_STACK_SIZE=(3*8*4)
-D_SVC_STACK_SIZE=800

-Z(DATA)CSTACK+_CSTACK_SIZE=0020339F-0020379F
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=00203FA1-00204000
-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=002037A0-00203FA0
请大家看看有没有问题。我定义的RAM范围是200000到204000。另外我对段的作用还有些问题:
1  定义了svc_stack之后的这些数据区是不是保证能不被除栈操作以外的操作所访问?
2  对于栈操作,有没有什么寄存器来限制栈的深度?也就是说,如果访问到了栈底,那么会不会回到栈顶操作?
3  如果我不在xcl文件中设定svc模式时栈的大小,但是初始化了svc的R13(栈指针),那么在使用svc栈时有没有可能出问题,比如说别的操作能修改栈的内容?

相关帖子

沙发
wlq_9| | 2007-6-22 10:54 | 只看该作者

re

1:只要你的程序不跑飞,是不会的.
2:只有你的栈太小的时候才会出现,这种情况,说明你的栈空间分配得太小了!调试的时候可以把栈检查的插件打开,默认超过90%会报警.
3:有可能.所以要在XCL中分配这部分空间,链接器就会保留这段空间不作他用.

使用特权

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

本版积分规则

3

主题

3

帖子

0

粉丝