OpenEdv-开源电子网

标题: 第一次发帖,ucos下运行多任务出错,是在lwip协议栈sys_arch.c文件中,也就是创建消息出错,什么原因? [打印本页]

作者: daemon    时间: 2015-6-23 17:27
标题: 第一次发帖,ucos下运行多任务出错,是在lwip协议栈sys_arch.c文件中,也就是创建消息出错,什么原因?
[mw_shl_code=c,true]这个是主任务,当程序只运行服务器任务和客户端任务时,没有问题,但是我添加下面四个任 务后,服务器任务就会出错,我用电脑TCP客户端连接板子服务器(端口8888)是,就会报错,报错代码 在lwip中的sys_arch.c中,申请消息队列的那一句,也就是说,申请消息队列失败, 请教大家,是什么原因? 主任务代码 void start_task(void *pdata) { OS_CPU_SR cpu_sr; pdata = pdata ; OSStatInit();   OS_ENTER_CRITICAL();    //服务器任务 while(tcp_server_init()) {  printf("TCP Server failed !\r\n"); delay_ms(500); } printf("TCP server Success !\r\n"); //Assertion "OSQCreate" failed at line 67  in ..\LWIP\arch\sys_arch.c //客户端任务 OSTaskCreate(tcp_client_thread,(void*)0,(OS_STK*)&TCPCLIENT_TASK_STK [TCPCLIENT_STK_SIZE-1],TCPCLIENT_PRIO);         //串口解析任务 OSTaskCreate(decode_usart_task,(void *)0,(OS_STK*)&DECODE_USART_TASK_STK [DECODE_USART_SIZE-1],DECODE_USART_TASK_PRO;        //获取时间任务 OSTaskCreate(get_time_task,(void*)0,(OS_STK*)&GET_TIME_TASK_STK[GET_TIME_SIZE- 1],GET_TIME_TASK_PRO);        //身份识别任务 OSTaskCreate(man_identify_task,(void*)0,(OS_STK*)&MAN_IDENTIFY_TASK_STK [MAN_IDENTIFY_SIZE-1],MAN_IDENTIFY_TASK_PRIO;        //监视U盘,寻卡任务 OSTaskCreate(watch_task,(void *)0,(OS_STK*)&UDISK_TASK_STK[UDISK_STK_SIZE- 1],UDISK_TASK_PRIO); OSTaskSuspend(OS_PRIO_SELF);  OS_EXIT_CRITICAL();  } 运行出错的地方  err_t sys_mbox_new( sys_mbox_t *mbox, int size)  {  (*mbox)=mymalloc(SRAMIN,sizeof(TQ_DESCR));   mymemset((*mbox),0,sizeof(TQ_DESCR));   if(*mbox)  {  if(size>MAX_QUEUE_ENTRIES)size=MAX_QUEUE_ENTRIES;    (*mbox)->pQ=OSQCreate(&((*mbox)->pvQEntries[0]),size);  // 这里返回了NULL?为什么?    LWIP_ASSERT("OSQCreate",(*mbox)->pQ!=NULL);   if((*mbox)->pQ!=NULL)return ERR_OK;    else  {   myfree(SRAMIN,(*mbox));  return ERR_MEM;     }  }else return ERR_MEM;  }     我的主任务代码只创建了一个事件标识组,和一个信号量 OS_EVENT *outputLogFileSem; OS_FLAG_GRP *flag;         等待高手解答,第一次发帖希望大家给予帮助,谢谢各位! [/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code] [mw_shl_code=c,true][/mw_shl_code]

作者: daemon    时间: 2015-6-23 17:46
自己先顶一下
作者: 正点原子    时间: 2015-6-23 19:16
帮顶。。。。。
作者: fuluoce    时间: 2016-10-31 14:22
请问楼主是怎么解决这个问题的,我现在也碰到同样的问题
作者: guokun    时间: 2017-1-20 00:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 笨蛋聪明人    时间: 2017-7-17 10:56
楼主怎么处理的,好了吗?我也遇到了同样的问题
作者: hijkstra    时间: 2019-4-17 11:02
修改一下OS_MAX_QS。版主的OSQCreate运行出错,应该与此宏定义有关。




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4