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

[复制链接]
2717|1
 楼主| shishan 发表于 2007-6-21 15:53 | 显示全部楼层 |阅读模式
我想在xcl文件中增加对SVC的栈的定义,如下:<br />//*************************************************************************<br />//&nbsp;Stack&nbsp;and&nbsp;heap&nbsp;segments.<br />//*************************************************************************<br />-D_CSTACK_SIZE=(100*4)<br />-D_IRQ_STACK_SIZE=(3*8*4)<br />-D_SVC_STACK_SIZE=800<br /><br />-Z(DATA)CSTACK+_CSTACK_SIZE=0020339F-0020379F<br />-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=00203FA1-00204000<br />-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=002037A0-00203FA0<br />请大家看看有没有问题。我定义的RAM范围是200000到204000。另外我对段的作用还有些问题:<br />1&nbsp;&nbsp;定义了svc_stack之后的这些数据区是不是保证能不被除栈操作以外的操作所访问?<br />2&nbsp;&nbsp;对于栈操作,有没有什么寄存器来限制栈的深度?也就是说,如果访问到了栈底,那么会不会回到栈顶操作?<br />3&nbsp;&nbsp;如果我不在xcl文件中设定svc模式时栈的大小,但是初始化了svc的R13(栈指针),那么在使用svc栈时有没有可能出问题,比如说别的操作能修改栈的内容?<br />
wlq_9 发表于 2007-6-22 10:54 | 显示全部楼层

re

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

本版积分规则

3

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部