📄 dvb_appinit.c
字号:
/*
* dvb_appinit.c
*
* Copyright (C) 2005 Cheertek Inc, K300 all right reserved.
*
* Nov 28, 2005 file created by K300 (Mark Lu).
*
* DVB Application Initialized Function (for Nucleus).
*/
#include "ct_type.h"
#include "ct_os.h"
#include "ct_uart.h"
#include "task_cfg.h"
#include "ct_config.h"
/************************************************************************
* Module global.
************************************************************************/
#ifdef CTOS_NUCLEUS
extern void main(u32 u32Argc, void* pArgv);
#endif
#ifdef CTOS_ECOS
extern void maintask(u32 u32Argc, void* pArgv);
#endif
/************************************************************************
* Module local.
************************************************************************/
static bool8 b8DvbAppInit = FALSE;
static bool8 DVB_AppInit(void);
static u8 au8MainStack[MAIN_TASK_STACK_SIZE];
static CTOS_TASK Main_Task;
/************************************************************************
* Nucleus's application entry function.
************************************************************************/
void Application_Initialize(void *first_available_memory)
{
DVB_AppInit();
} /* end Application_Initialize */
/************************************************************************
* DVB API initialised function.
************************************************************************/
static bool8 DVB_AppInit(void)
{
EN_CTOS_STATUS enStatus;
if (b8DvbAppInit == TRUE)
{
return (TRUE);
}
if (EN_CTOS_SUCCESS != CT_OS_Initial(CTOS_DRAM_SIZE))
{
return (FALSE);
}
#ifdef CTOS_NUCLEUS
enStatus = CT_OS_CreateTask(&Main_Task, "DVBMAIN", main, &au8MainStack[0], MAIN_TASK_STACK_SIZE, MAIN_TASK_PRIORITY, MAIN_TASK_SLICE);
#endif
#ifdef CTOS_ECOS
enStatus = CT_OS_CreateTask(&Main_Task, "DVBMAIN", maintask, &au8MainStack[0], MAIN_TASK_STACK_SIZE, MAIN_TASK_PRIORITY, MAIN_TASK_SLICE);
#endif
if (enStatus != EN_CTOS_SUCCESS)
{
return (FALSE);
}
if (EN_CTOS_SUCCESS != CT_OS_ResumeTask(&Main_Task))
{
return (FALSE);
}
b8DvbAppInit = TRUE;
return (TRUE);
} /* end DVB_TestAppInit */
void DVB_MainTask_Change_Priority(EN_CTOS_TASK_PRIORITY enPriority)
{
CT_OS_Change_Priority(&Main_Task,enPriority);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -