Part Number:TMS320C6748Other Parts Discussed in Thread:SYSBIOS
DEBUG模式下,在网络连接成功后,动态生成一个LED闪烁的任务,报错提示如下:
xdc.runtime.Core: line 87: assertion failure: A_initializedParams: uninitialized Params struct
xdc.runtime.Error.raise: terminating execution
LED任务如下:
taskParams.priority = 7;
taskParams.stackSize = 1024;
taskLedHandle = Task_create(AppTask_LED &taskParams, &eb);
void AppTask_LED(UArg a0, UArg a1)
{
unsigned int cnt;
while(1)
{
Task_sleep(1000);
if(GPIOPinRead(SOC_GPIO_0_REGS , LED2 ) == GPIO_PIN_HIGH )
{
GPIOPinWrite(SOC_GPIO_0_REGS , LED2 , GPIO_PIN_LOW);
}
else
{
GPIOPinWrite(SOC_GPIO_0_REGS , LED2 , GPIO_PIN_HIGH);
}
}
}
关闭LED任务后,重新编译可以成功运行。
请问下,大概什么原因导致的,谢谢。
Shine:
单独跑LED任务可以么?
,
Titan S:
分开独立跑都是可以的。
为了实现在一个优先级为10的任务中动态创建一个LED任务。当判断网络连接成功后LED任务创建并执行,网络断开销毁LED任务。这样的情况,出现该错误。
,
Shine:
请问执行到哪一句出现上面的错误信息?程序是否跑飞?
,
Titan S:
操作步骤连接网络成功,收发都是正常的,LED任务正常;断开连接,重新连接出现错误。
销毁任务使用的是:Task_delete(&taskLedHandle );
定位错误的语句是taskLedHandle = Task_create(AppTask_LED &taskParams, &eb);
1.console界面提示
00039.600 TCP: Retransmit Timeout
2.debug界面显示
在任务中创建任务出错了。
,
Shine:
Titan S 说:LED任务正常;断开连接,重新连接出现错误。
如果没有LED任务,网络程序本身能断开->重新连接么?
,
Titan S:
可以的,都是正常的。
网络那块采用CFG配置的。
,
Shine:
请问如果网络不断开连接,执行销毁任务:Task_delete(&taskLedHandle );后再重新create task可以么?
,
Titan S:
不断开网络执行销毁任务是可以的,但是在创建任务时还是报错了:
xdc.runtime.Core: line 87: assertion failure: A_initializedParams: uninitialized Params structxdc.runtime.Error.raise: terminating execution
查看了任务内容,仅剩下LED操作而已,没有其它操作。
,
Shine:
00039.600 TCP: Retransmit Timeout
这个网络的错误还有么?
,
Titan S:
没有了。网络是一直连接着的。
,
Shine:
那是不是这样理解您的问题?
LED工程单独是可以Task_create->Task_delete->Task_create,但是和网络工程合并后,网络程序没问题,LED再Task_create就会报什么错的是么?网络工程是NDK是吗?
,
Titan S:
谢谢回复。
目前定位到是LED任务Task_create->Task_delete是OK的,再次Task_create就报错了。
网络程序是没有问题的。
,
Shine:
请用ROV工具看一下堆栈有没有溢出?https://software-dl.ti.com/ccs/esd/documents/rov_guide/html/src/rov.htmlhttps://training.ti.com/how-use-runtime-object-view
,
Titan S:
用ROV查看没有溢出,请问有动态创建、销毁的样例没,参考下。
,
Shine:
我把您的问题升级到英文e2e论坛,请关注下面帖子的回复。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1160381/tms320c6748-failed-to-recreate-task-dynamically
,
Titan S:
好的,谢谢。
,
Shine:
抱歉,e2e工程师回复说目前不支持c6748基于sys/bios的软件问题了。Sorry, but TI has stopped supporting TI-RTOS (SYSBIOS) based SW development for C6748. Please refer to this announcement and find consolidated resources there.
,
Titan S:
好的,谢谢。
那目前6748上用哪个来替换sys/bios.
,
Shine:
没有其他操作系统替换sys/bios。sys/bios还是可以在c6748芯片上用的,只是对于c6748 RTOS SDK软件包的技术问题不支持了。
,
Titan S:
好的,谢谢