[ZLG-ARM] ucos 堆栈问题

[复制链接]
2896|6
 楼主| thinksw03 发表于 2007-6-1 00:33 | 显示全部楼层 |阅读模式
这个问题已经困扰我了好久,请各位高手指教<br /><br />我的系统建立三个以下任务,运行非常良好<br /><br />只要一开4个任务,任务的堆栈大小必须设为512以上(4个必须同时设为512以上)<br /><br />只要有一个小于512,系统就跑飞<br /><br />恳请各位高手多多指点<br /><br />小弟,谢过了
pengdeyou 发表于 2007-6-1 08:47 | 显示全部楼层
 楼主| thinksw03 发表于 2007-6-1 13:19 | 显示全部楼层

大家帮帮忙

帮小弟分析一下<br />程序代码<br />#define&nbsp;&nbsp;TASK_STK_SIZE_Start&nbsp;512<br />#define&nbsp;&nbsp;TASK_STK_SIZE_Task1&nbsp;512<br />#define&nbsp;&nbsp;TASK_STK_SIZE_Task2&nbsp;512&nbsp;&nbsp;&nbsp;&nbsp;<br />#define&nbsp;&nbsp;TASK_STK_SIZE_Task3&nbsp;512<br />OS_STK&nbsp;&nbsp;&nbsp;TaskStartStk[TASK_STK_SIZE_Start];<br />OS_STK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task1Stk[TASK_STK_SIZE_Task1];<br />OS_STK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task2Stk[TASK_STK_SIZE_Task2];<br />OS_STK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Task3Stk[TASK_STK_SIZE_Task3];<br />void&nbsp;&nbsp;TaskStart(void&nbsp;*data);<br />void&nbsp;&nbsp;Task1(void&nbsp;*data);<br />void&nbsp;&nbsp;Task2(void&nbsp;*data);<br />void&nbsp;&nbsp;Task3(void&nbsp;*data);<br /><br />int&nbsp;main&nbsp;(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;InitPort();&nbsp;&nbsp;&nbsp;&nbsp;//应在TargetInit()之前调用<br />&nbsp;&nbsp;&nbsp;&nbsp;OSInit();<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate(TaskStart,&nbsp;(void&nbsp;*)0,&nbsp;&TaskStartStk[TASK_STK_SIZE_Start&nbsp;-&nbsp;1],&nbsp;4);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;OSStart();<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;<br />}<br /><br />void&nbsp;TaskStart(void&nbsp;*pdata)<br />{<br />OSTaskCreate(Task1,(void&nbsp;*)0,&Task1Stk[TASK_STK_SIZE_Task1-1],1);<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate(Task2,(void&nbsp;*)0,&Task2Stk[TASK_STK_SIZE_Task2-1],2);<br />&nbsp;&nbsp;&nbsp;&nbsp;OSTaskCreate(Task3,(void&nbsp;*)0,&Task3Stk[TASK_STK_SIZE_Task3-1],3);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(::)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(OS_TICKS_PER_SEC);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />void&nbsp;Task1(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(OS_TICKS_PER_SEC);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />void&nbsp;Task2(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(OS_TICKS_PER_SEC);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />void&nbsp;Task3(void&nbsp;*pdata)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(;;)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OSTimeDly(OS_TICKS_PER_SEC);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />&nbsp;<br />
 楼主| thinksw03 发表于 2007-6-1 15:15 | 显示全部楼层

问题已解决

  
fpga2006 发表于 2007-6-1 16:16 | 显示全部楼层

什么原因呢?

  
keer_zu 发表于 2007-6-2 10:45 | 显示全部楼层

什么原因?

  
fujianhui 发表于 2007-10-8 10:06 | 显示全部楼层

说也不说

晕,..什么原因哦..说一下呀,&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部