⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvb_appinit.c

📁 DVB软件,基于CT216软件的开发源程序.
💻 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 + -