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

TMS320C6678: 6678 多核问题咨询

Part Number:TMS320C6678Other Parts Discussed in Thread:SYSBIOS

在6678上运行sysbios出现异常问题:

首先创建一个基本的RTSC工程,将工程平台设置为:

 

将其中的cfg文件配置为:

BIOS.heapSize = 0x8000;

var Task = xdc.useModule('ti.sysbios.knl.Task');

var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');

var tsk0 = Task.create('&tsk0_func');

tsk0.instance.name = "tsk0";

tsk0.stackSize = 0x8000;

在程序的main函数中调用:BIOS_start();

此时如果是单核运行程序,则不会出现任何问题,如果用3个核运行程序,相当于每个核都在main函数中调用BIOS_start()启动一个tsk0,则有时会有一个核运行崩溃,提示“E_stackOverflow”错误;将堆栈扩大设置为tsk0.stackSize = 0x10000,不能解决问题;将heap扩大,BIOS.heapSize = 0x10000也不能解决问题。而就机理分析,因为把heap和stack都放在了L2SRAM,而各核L2SRAM都是独立的,所以应该单核和多核运行没有区别才对,出错原因不明确。

 

问题2:

在程序中调用Hwi_create创建一个硬中断;同样也遇到上述问题类似情况,如果多核都调用了Hwi_create则会有一个核运行崩溃,提示“E_stackOverflow”错误;此时将heap扩大,BIOS.heapSize = 0x10000,可以暂时解决问题,运行似乎正常了。但如上所述因为把heap和放在了L2SRAM,而各核L2SRAM都是独立的,所以应该单核和多核运行没有区别才对,出错原因不明确。于此同时还存在另一个问题,可能跟运行时序有关,有时一个核仍然会在调用Hwi_create时偶尔崩溃,但并不是提示stackOverflow错误而是类似于地址访问异常错误:“A_align:Request align is not a power of 2” 出错原因不明确。

 

望解答以上两个问题,非常感谢!!

Nancy Wang:

我这边试了一下task例程,没有出现崩溃的现象,再对比看一下配置,内存分配部分应该是没有问题的。

5086.task_TMS320C6678.zip

,

user6549373:

感谢回复,应该是分配的任务空间不足导致内存溢出。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 6678 多核问题咨询
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1