TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS570LS0914如何增加STACK的大小,并如何验证有效性?

测试芯片:TMS570LS0914

目前自测方法:定义一个很大的局部变量(数组),在测试时,当把数组定义为 uint8 temp[4080]时(大约4KB),执行程序的时候会进入_dabort,所以此时应该是发生了STACK溢出。(首先想确定这个方法是否有效?)

在上述测试方法前提下,我又将cmd中的STACK改大到10kb(0x2800如下图),并且map文件中也显示stack为10kb(0x2800),但是测试时还是进入了_dabort,所以是该CMD没用吗?(希望有人解释这个问题)

MAP文件:

最后上网查了还可以用如下图方法去改变STACK的大小(也是0x2800,10kb),但是最终测试还是会进入_dabort(这为什么还是不行?)

所以,TMS570LS0914如何增加STACK的大小,并如何验证有效性?

 

 

user5792549:

回复 Susan Yang:

你好:Susan Yang

userSp .word 0x08000000 + 0x00001000 svcSp .word 0x08000000 + 0x00001000 + 0x00000100 fiqSp .word 0x08000000 + 0x00001000 + 0x00000100 + 0x00000100 irqSp .word 0x08000000 + 0x00001000 + 0x00000100 + 0x00000100 + 0x00000100 abortSp .word 0x08000000 + 0x00001000 + 0x00000100 + 0x00000100 + 0x00000100 + 0x00000100undefSp .word 0x08000000 + 0x00001000 + 0x00000100 + 0x00000100 + 0x00000100 + 0x00000100 + 0x00000100

关于上述6种stack的大小,应该怎么设置,举个例子,比如说对于我们用户来说,是不是只要设置userSp的大小就可以了,另外几个设置的大小是根据什么来定的,

关于为什么问这个问题是目前我们程序中经常进入_dabort,所以能否有相关资料介绍这个stack应该根据什么来设置大小?

Susan Yang:

回复 user5792549:

这个并没有相关的具体资料来介绍stack应该根据什么来设置大小,一般是用户自己设定大一点的值,而后慢慢来减少数值,进而选择的。

赞(0)
未经允许不得转载:TI中文支持网 » TMS570LS0914如何增加STACK的大小,并如何验证有效性?
分享到: 更多 (0)