请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320C6670 Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
您好!
我将使用基本 NDK 示例。 我决定添加一个新任务。
我的网络增强:
void NetOpenHook ()
{
platform_write (" ok");
Error_init (&EB);
Task_Params_init (&taskParams);
taskParams.STACKSIZE = 2048;
taskParams.priority = 4; //OS_TASKPRINORM;//OS_TASKPRINORM;
ETH_Task_hndl = Task_create ((Task_FuncPtr) Task2Func、&taskParams、&EB);
if (ETH_Task_hndl = NULL){
printf ("任务创建失败");
}
hello = DemonNew (sock_DGRAM、0、12288、dtask_udp_hello、OS_TASKPRINORM、OS_TASKSTKNORM、0、1);
}
我的任务:
void Task2Func (void)
{
printf ("这里没有 sock 或 NDK");
static int i=0;
int lichi;
int tmp1;
while (1)
{
printf ("这里没有 sock 或 NDK");
xx=xx+0.01;
yy= sin (xx);
res[iter]=yy;
ITER++;
如果(ITER=800)
ITER=0;
}
}
一切都运行良好。 守护程序(服务器) 不 会中断我的任务,而它(任务)在没有中断的情况下工作。
但是、当我将 taskParams.priority 设置为1时。 服务器正常工作 、 我的 PC 应用程序从服务器接收答案。
但服务器 工作时间不长。 在3-4轮询后 、我 在 调试模式下的控制台中接收到错误消息。
错误:
TI.SYSBIOS.堆.HeapMem:第294行:内存不足:handle=0x138e88d8、size=4096
xdc.runtime.Error.raise:终止执行
我有两个问题:
1.为什么只有 当 taskParams.priority = 1时服务器中断任务?
2.导致此错误的原因和方法?
谢谢。