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

C6678 stack

您好:看了很多帖子,都是提示说多核编程stack最好不要共享,一般放到LL2上,我有如下疑问

1. 是把system stack 还是task stack,或者是两者都放到LL2上?

2. 是不是静态创建的task才能指定放在哪个section,动态创建的task其handle和task stack是在system stack上分配内存?

3. 创建多个task,system stack和task stack大小设置有没有要求?

谢谢!

Shine:

1. 都放到私有的LL2上,不同core的system stack及task stack必须不一样。Table 3-1. Comparison of Thread Characteristicshttp://www.ti.com/lit/ug/spruex3q/spruex3q.pdf2.动态的也可以,用taskParams.stack可以指定,通常情况下taskParams.stack的参数是NULL, 告诉SYS/BIOS从Heap里分配。

3. task stack大小可以参考上面的SYS/BIOS user guide文档3.6.3 Task Stacks。另外可以通过ccs tools->RTOS object view (ROV)可以查看每个task stack的使用情况确定size大小。

qq z:

回复 Shine:

您好:

我现在就是为每个核开辟一个私有的heap(heap0–heap7),放在DDR上,我会把task stack放到对应的堆上。Program.sectMap[".stack"]=“”“heap0”,这样只是把system stack放到heap0上,system stack不是只有一个么,怎么把它放到各自的堆上?

谢谢

赞(0)
未经允许不得转载:TI中文支持网 » C6678 stack
分享到: 更多 (0)