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

📄 task_ini.c

📁 基于vxworks操作系统的电话语音平台系统
💻 C
字号:
#include "RTOS\NUCLEUS\TASK\TASK_NUC.H"
#include "PUB\PUB_INCL.H"
#include "PUB\PUB__MSG.H"


NU_MEMORY_POOL  System_Memory;

/* Define prototypes for function references.  */
extern VOID PeriodicTask(UNSIGNED argc, VOID *argv);
extern VOID tcpServerTask(UNSIGNED argc, VOID *argv);
extern VOID tcpClientTask(UNSIGNED argc, VOID *argv);

extern VOID SystemTask(UNSIGNED argc, VOID *argv);
extern VOID LapvTask(UNSIGNED argc, VOID *argv);
extern VOID CommNetCtrlTask(UNSIGNED argc, VOID *argv);
extern VOID DbmsManagerTask(UNSIGNED argc, VOID *argv);
extern VOID LeaSysTask(UNSIGNED argc, VOID *argv);
extern VOID CcSysTask(UNSIGNED argc, VOID *argv);




#ifdef TEST_DRVIVER_DEVS
extern VOID TestDrvDevsTask(UNSIGNED argc, VOID *argv);
#endif

/* Define the Application_Initialize routine that determines the initial
   Nucleus PLUS application environment.  */
void   Application_Initialize(void *first_available_memory)
{
	VOID           *pointer;
	STATUS         status;
	UC             i;

	/* Create a system memory pool that will be used to allocate task stacks,
	   queue areas, etc.  */
	status=NU_Create_Memory_Pool(&System_Memory, "SYSMEM",
						first_available_memory, 10*1024*1024, 50, NU_FIFO);

	/************************************************************************/
	/*                                                                      */
	/* 						Create each task in the system.  				*/
	/*                                                                      */
	/************************************************************************/

	/* Create task 3.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 100*2048, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_NetServer, "Task 31", tcpServerTask, 0, NU_NULL, pointer, 100*2048, 1, 6,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 02.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 16*4096, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_System, "TK-APP02", SystemTask, 0, NU_NULL, pointer, 16*4096, 8, 10,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 03.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 4096*2, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_Lapv, "TK-APP03", LapvTask, 0, NU_NULL, pointer, 4096*2, 8, 10,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 04.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 4096*2, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_CommNetCtrl, "TK-APP04", CommNetCtrlTask, 0, NU_NULL, pointer, 4096*2, 8, 10,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 05.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 1024*4, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_DbmsManager, "TK-APP05", DbmsManagerTask, 0, NU_NULL, pointer, 1024*4, 8, 10,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 06.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 10*2048, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_LeaSys, "TK-APP06", LeaSysTask, 0, NU_NULL, pointer, 10*2048, 8, 10,NU_PREEMPT, NU_START);

	/* Create task TASK APPLICATION 07.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 32*4096, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_CcSys, "TK-APP07", CcSysTask, 0, NU_NULL, pointer, 32*4096, 8, 10,NU_PREEMPT, NU_START);

#ifdef TEST_DRVIVER_DEVS
	/* Create task 3.  */
//	status=NU_Allocate_Memory(&System_Memory, &pointer, 2048, NU_NO_SUSPEND);
//	status=NU_Create_Task(&Task_TestDrvDevs, "Task 3", TestDrvDevsTask, 0, NU_NULL, pointer, 2048, 8, 2,NU_PREEMPT, NU_START);
#endif

	/* Create task 0.  */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 4096*16, NU_NO_SUSPEND);
	status=NU_Create_Task(&Task_Periodic, "Task 0", PeriodicTask, 0, NU_NULL, pointer, 4096*16, 8, 10, NU_PREEMPT, NU_START);

	/************************************************************************/
	/*                                                                      */
	/* 							Create each Pipe in the system.  			*/
	/*																		*/
	/************************************************************************/

	/* PIPE 1 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 2048*10,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_SysManager, "PIPE 1", pointer, 2048*10, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 2 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 2048*10,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_NetManagerCenter, "PIPE 2", pointer, 2048*10, NU_VARIABLE_SIZE,MAX_MSG_LEN,NU_FIFO);

	/* PIPE 3 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 10*2048,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_Lapv, "PIPE 3", pointer, 10*2048, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 4 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 1024*4, NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_DbmsManager, "PIPE 4", pointer, 1024*4, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 5 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 2048*2,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_DlcSys, "PIPE 5", pointer, 2048*2, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 6 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 32*2048,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_CcSys, "PIPE 6", pointer, 32*2048, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 7 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 8*2048,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_CCAs, "PIPE 7", pointer, 8*2048, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 8 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 8*2048,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_CommNetCtrl, "PIPE 8", pointer, 8*2048, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/* PIPE 0 */
	status=NU_Allocate_Memory(&System_Memory, &pointer, 2048*10,NU_NO_SUSPEND);
	status=NU_Create_Pipe(&Pipe_Periodic, "PIPE 0", pointer, 2048*10, NU_VARIABLE_SIZE, MAX_MSG_LEN,NU_FIFO);

	/************************************************************************/
	/*                                                                      */
	/* 					Create each Semaphore in the system.  				*/
	/*																		*/
	/************************************************************************/
	status=NU_Create_Semaphore(&Semaphore_EthernetSend, "Ethernet", 1, NU_FIFO);
	status=NU_Create_Semaphore(&Semaphore_QMCHdlcSend, "QmcSend", 1, NU_FIFO);
	status=NU_Create_Semaphore(&Semaphore_EthernetInit, "QmcSend", 1, NU_FIFO);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -