|
发表于 2012-7-3 22:08:40
|
显示全部楼层
本帖最后由 hpdell 于 2012-7-3 22:21 编辑
xjbh001 发表于 2012-7-3 21:45
我的堆栈设置是这样的:
可以参考一下
你好,我现在吧DATA减到1.5k左右了,那个警告还是会出现,设置按照你的改了也没有效果,不知道是何故,
还有一个问题就是,我刚开始搞了三个简单的灯的任务让他泡泡,居然跑了36小时也没有死机,但是我把任务的类容加大了,现在只执行第1个任务,2、3的任务他就不执行了,请问是这么回事啊,不过灯的三个任务都是可以执行的,三个灯的任务我使用了这个“
OSTaskCreateExt(AppTaskStart,
(void *)0,
(OS_STK *)&AppTaskStartStk[OSTaskStkSize - 1],
OS_TASK_START_PRIO,
OS_TASK_START_PRIO,
(OS_STK *)&AppTaskStartStk[OSTaskStkSizeHard],
OSTaskStkSize - OSTaskStkSizeHard,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
”函数,任务的内容加大后,没有使用了,直接使用了
BSP_Init(); /* Initialize the BSP */
AppTaskCreate(); 这两个函数,因为使用上面的那个函数系统会重启,请指教指教!!!!!!!!!!!??????????
static void AppTaskStart (void *p_arg)
{
(void)p_arg; /* Prevent compiler warnings */
BSP_Init(); /* Initialize the BSP */
AppTaskCreate();
}
static void AppTaskCreate (void) //三个任务都做里面
{
#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
INT8U err;
#endif
/*---- Task initialization code goes HERE! --------------------------------------------------------*/
OSTaskStkSize = OS_TASK_1_STK_SIZE; /* Setup the default stack size */
OSTaskStkSizeHard = OS_TASK_STK_SIZE_HARD; /* Setup the default hardware stack size */
OSTaskCreateExt(AppTask1,
(void *)0,
(OS_STK *)&AppTask1Stk[OSTaskStkSize - 1],
OS_TASK_1_PRIO,
OS_TASK_1_PRIO,
(OS_STK *)&AppTask1Stk[OSTaskStkSizeHard],
OSTaskStkSize - OSTaskStkSizeHard,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
OSTaskNameSet(OS_TASK_1_PRIO, "Task 1", &err);
#endif
/*---- Task initialization code goes HERE! --------------------------------------------------------*/
OSTaskStkSize = OS_TASK_2_STK_SIZE; /* Setup the default stack size */
OSTaskStkSizeHard = OS_TASK_STK_SIZE_HARD; /* Setup the default hardware stack size */
OSTaskCreateExt(AppTask2,
(void *)0,
(OS_STK *)&AppTask2Stk[OSTaskStkSize - 1],
OS_TASK_2_PRIO,
OS_TASK_2_PRIO,
(OS_STK *)&AppTask2Stk[OSTaskStkSizeHard],
OSTaskStkSize - OSTaskStkSizeHard,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
OSTaskNameSet(OS_TASK_2_PRIO, "Task 2", &err);
#endif
/*---- Task initialization code goes HERE! --------------------------------------------------------*/
OSTaskStkSize = OS_TASK_3_STK_SIZE; // Setup the default stack size
OSTaskStkSizeHard = OS_TASK_STK_SIZE_HARD; // Setup the default hardware stack size
OSTaskCreateExt(AppTask3,
(void *)0,
(OS_STK *)&AppTask3Stk[OSTaskStkSize - 1],
OS_TASK_3_PRIO,
OS_TASK_3_PRIO,
(OS_STK *)&AppTask3Stk[OSTaskStkSizeHard],
OSTaskStkSize - OSTaskStkSizeHard,
(void *)0,
OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
#if (OS_TASK_NAME_SIZE > 14) && (OS_TASK_STAT_EN > 0)
OSTaskNameSet(OS_TASK_3_PRIO, "Task 3", &err);
#endif
} |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|