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

CCSTUDIO-C2000: CCS中项目属性中的basic option 中的大小根据什么设置,下面是堆栈如何解决?

Part Number:CCSTUDIO-C2000

Cpputest+CCS7.4(移植了CCS5.5的软件仿真功能),我调用了生成的cpputest静态库去测试了下面代码(代码如图二)。图一用来和图三做对比:

继续运行之后得出了下面的结果:

使用28335_RAM_lnk.cmd 文件(分配程序数据的存储字段的大小,因为cpputest.lib较大,我对.cmd文件进行了部分修改),函数会仅仅执行两个正确的测试的时候有CIO输出(我不知道这是不是巧合,还是需要对哪里进行设置)。但是当执行一个正确测试或者一个正确、一个错误测试的情况时。函数执行后并不显示结果,并且会一直在下面的while中循环,如下图所示。

我不知道这是为什么,恳请大家帮助我。

Green Deng:

额,很抱歉这边的同事都没有Cpputest的使用经验,你的问题可能要发布到英文E2E论坛,那边可能会有工程师对Cpputest有所了解的。

e2e.ti.com/…/c2000-microcontrollers-forum

,

guanghui zhang:

你好,感谢。我可能说的复杂了,我cpputest我只是将它作为一个静态库来引用,编译工程中,我把需要的字段都分配了,但是在Project->Properties->Build->C200 Linker->Basic Options下设置的堆栈是什么含义,我今天瞎输入0x8000设置堆heap,程序仿真成功,打印出测试结果了(类似于打印 “helloworld ”字符),我不明白,我cmd文件各个字段的分配到了足够空间后(如下),

但是为什么设置heap后就可以了,生成的.map文件也没有显示需要.heap字段,希望你能帮我想要搞明白这里。

,

Green Deng:

会不会是heap空间不足导致的。你可以用CCS的view – Stack Usage看一下具体的heap空间使用量是多少。

,

guanghui zhang:

感谢。应该是对的,是Stack Usage打开后显示了Exclusive Size和Inclusize Size 那么heap的大小是其中哪一个加起来,还时说两个所有的和加起来。heap 和stack 具体为什么部分分配空间,cmd文件不应该直接分配好了嘛(我这块不太明白),麻烦大佬了。

,

Green Deng:

这个我有印象好像是说,cmd文件中分配的空间和CCS中分配的空间的关系是cmd > CCS,也就是说CCS中并没有全部使用cmd中分配的空间,CCS中是固定的分配这么多,并不是跟着每个工程走的。如果要全部使用的话要在CCS中需要修改一下

赞(0)
未经允许不得转载:TI中文支持网 » CCSTUDIO-C2000: CCS中项目属性中的basic option 中的大小根据什么设置,下面是堆栈如何解决?
分享到: 更多 (0)