搜索
bottom↓
回复: 2

LPC1768 CM3 移植uCOS开机之后进入HardFault_Handler\

[复制链接]

出0入0汤圆

发表于 2012-11-10 12:16:29 | 显示全部楼层 |阅读模式
贴代码
INT32S main (void)
{
    CPU_INT08U  os_err;
os_err = os_err; /* prevent warning... */
    /* Note:  由于使用UCOS, 在OS运行之前运行,注意别使能任何中断. */
IntDisAll();                     /* Disable all ints until we are ready to accept them.  */
    OSInit();                        /* Initialize "uC/OS-II, The Real-Time Kernel".         */

os_err = OSTaskCreateExt((void (*)(void *)) App_TaskStart,  /* Create the start task.                               */
                             (void          * ) 0,
                             (OS_STK        * )&App_TaskStartStk[APP_TASK_START_STK_SIZE - 1],
                             (INT8U           ) APP_TASK_START_PRIO,
                             (INT16U          ) APP_TASK_START_PRIO,
                             (OS_STK        * )&App_TaskStartStk[0],
                             (INT32U          ) APP_TASK_START_STK_SIZE,
                             (void          * )0,
                             (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));

#if OS_TASK_NAME_EN > 0
    OSTaskNameSet(APP_TASK_START_PRIO, (CPU_INT08U *)"Start Task", &os_err);
#endif
OSStart();                                                  /* Start multitasking (i.e. give control to uC/OS-II).  */
return (0);
}


/*
*********************************************************************************************************
*                                          App_TaskStart()
*
* Description : The startup task.  The uC/OS-II ticker should only be initialize once multitasking starts.
*
* Argument(s) : p_arg       Argument passed to 'App_TaskStart()' by 'OSTaskCreate()'.
*
* Return(s)   : none.
*
* Caller(s)   : This is a task.
*
* Note(s)     : none.
*********************************************************************************************************
*/   
static  void  App_TaskStart (void *p_arg)
{   
(void)p_arg;

/***************  Init hardware ***************/
    OS_CPU_SysTickInit(SystemCoreClock/1000);                 /* Initialize the SysTick.                              */
#if (OS_TASK_STAT_EN > 0)
    OSStatInit();                                            /* Determine CPU capacity.                              */
#endif
    App_TaskCreate();                                        /* Create application tasks.                            */
for(;;)
    {
       OSTimeDlyHMSM(0, 1, 0, 0);        /* Delay One minute */
    }
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static  void  App_TaskCreate (void)
{
#if (OS_VIEW_MODULE == DEF_ENABLED)
App_OSViewTaskCreate();
#endif

App_UCGUI_TaskCreate();
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void  App_UCGUI_TaskCreate (void)
{
    CPU_INT08U  os_err;
os_err = os_err;
os_err = OSTaskCreate((void (*)(void *)) uctsk_UCGUI,   
                          (void          * ) 0,      
                          (OS_STK        * )&App_Task_UCGUI_Stk[APP_TASK_UCGUI_STK_SIZE - 1],  
                          (INT8U           ) APP_TASK_UCGUI_PRIO  );      
#if OS_TASK_NAME_EN > 0
     OSTaskNameSet(APP_TASK_UCGUI_PRIO, "Task UCGUI", &os_err);
#endif
/*   
    os_err = OSTaskCreate((void (*)(void *)) uctsk_TouchPanel,   
                          (void          * ) 0,      
                          (OS_STK        * )&App_Task_TouchPanel_Stk[APP_TASK_TouchPanel_STK_SIZE - 1],  
                          (INT8U           ) APP_TASK_TouchPanel_PRIO  );
#if OS_TASK_NAME_EN > 0
     OSTaskNameSet(APP_TASK_TouchPanel_PRIO, "TASK TouchPanel Messages", &os_err);
#endif
*/
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
static void uctsk_UCGUI (void)
{   
GUI_Init();
// _ExecCalibration();   /* 触摸屏校准   */
    for(;;)
    {  
   MainTask();
    }
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void MainTask(void) {
//  GUI_Init();
  while(1) {
    GUIDEMO_main();
  }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

 楼主| 发表于 2012-11-10 12:16:44 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2012-11-10 12:46:23 | 显示全部楼层
看样子是要沉啊……
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 00:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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