OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7397|回复: 6

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

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-6-23
在线时间
3 小时
发表于 2015-6-23 17:27:26 | 显示全部楼层 |阅读模式
5金钱
[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]

main.c

9.86 KB, 下载次数: 304

main.h

1.39 KB, 下载次数: 344

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2015-6-23
在线时间
3 小时
 楼主| 发表于 2015-6-23 17:46:59 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2015-6-23 19:16:36 | 显示全部楼层
帮顶。。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-10-15
在线时间
8 小时
发表于 2016-10-31 14:22:01 | 显示全部楼层
请问楼主是怎么解决这个问题的,我现在也碰到同样的问题
回复

使用道具 举报

guokun 该用户已被删除
发表于 2017-1-20 00:29:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

11

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2017-2-27
在线时间
15 小时
发表于 2017-7-17 10:56:36 | 显示全部楼层
楼主怎么处理的,好了吗?我也遇到了同样的问题
回复

使用道具 举报

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
发表于 2019-4-17 11:02:17 | 显示全部楼层
修改一下OS_MAX_QS。版主的OSQCreate运行出错,应该与此宏定义有关。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 18:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表