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

📄 task_ini.c

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

MSG_Q_ID DBMS_Q_ID;
MSG_Q_ID Lapm_Q_ID;
MSG_Q_ID NetManCenter_Q_ID;
/*MSG_Q_ID QmcSend_Q_ID;*/

MSG_Q_ID Lapv_Q_ID;
MSG_Q_ID V52_Q_ID;
MSG_Q_ID V5L1_Q_ID;
MSG_Q_ID V52LinkCtrlBuf_Q_ID;
MSG_Q_ID V52PortCtrlBuf_Q_ID;
MSG_Q_ID V52CommCtrlBuf_Q_ID;
MSG_Q_ID ServiceCtr_Q_ID;
MSG_Q_ID ROUTE_Q_ID;

MSG_Q_ID MPUE1_SYS_Q_ID;
MSG_Q_ID MPUE1_FSM_Q_ID;

#ifdef MPU_INCLUDE_QSIG
MSG_Q_ID QSIG_Q_ID;
#endif

#ifdef MINI_TAIZHAN
MSG_Q_ID MPUPTT_SYS_Q_ID;
MSG_Q_ID MPUEM_SYS_Q_ID;
MSG_Q_ID MPUUART_SYS_Q_ID;
MSG_Q_ID MPUPSTN_SYS_Q_ID;
MSG_Q_ID MINIE1_SYS_Q_ID;
#endif

int TNetServerId;
int TNetServerSendId;
int TNetServerRecvId;

int TDbmsId;
int TLapmRxID;
int TLapmTxID;
int TWorkLedId;
int TestDrvDevsTaskId;
int TQmcSendTaskId;
int TV52Id;
int TLapvId;
int TV5L1Id;

int TCheckMemId;

int TSendMsgToV5TaskId;

int TServiceAppTaskID;
int TRouteTaskID;

int TMpuE1SYSTaskID;
int TMpuE1FSMTaskID;
int TDspId;

#ifdef MPU_INCLUDE_QSIG
int TQsigTaskId;
#endif

#ifdef MINI_TAIZHAN
int TMpuPttSYSTaskID;
int TMpuEmSYSTaskID;
int TMpuUartSYSTaskID;
int TMpuUartRXTaskID;
int TMpuPstnSYSTaskID;
int TMiniE1SYSTaskID;
#endif

/*#define TEST_FANGHUA*/

#ifdef TEST_FANGHUA
int TTestFangHuaID;
#endif

int THTBTimerID;

int TTestMemID;

int TTestCODE;

SEM_ID SemEthernetSend_ID;
SEM_ID SemQMCHdlcSend_ID[64];
SEM_ID SemEthernetInit_ID;

extern VOID Drv860Task(VOID);
extern VOID tcpServerTask(VOID);
extern VOID TcpServerSendTask(VOID);
extern VOID TcpServerRecvTask(VOID);

extern VOID DbmsTask(VOID);

extern VOID CommNetCtrlTask(VOID);
extern VOID SystemTask(VOID);
extern VOID DbmsManagerTask(VOID);
extern VOID LeaSysTask(VOID);
extern VOID CcSysTask(VOID);
extern VOID LapmRxTask(VOID);
extern VOID LapmTxTask(VOID);
extern VOID WorkLedTask(VOID);
extern VOID DspTask(VOID);
extern VOID TQmcSendTask(VOID);

extern VOID V52Task(VOID);
extern VOID LapvTask(VOID);
extern VOID V5L1Task(VOID);

extern VOID TestSS7Task(VOID);
extern VOID SendMsgToV5Task(VOID);
extern VOID ServiceAppTask(VOID);
extern VOID RouteTask(VOID);

extern VOID TestE1Task(VOID);
extern VOID CheckMemTask(VOID);


#ifdef MPU_INCLUDE_QSIG
extern VOID QsigTask(VOID);
#endif

#ifdef MPU_INCLUDE_E1
extern VOID MPUE1SysTask(VOID);
extern VOID MPUE1FsmTask(VOID);
#endif

#ifdef MINI_TAIZHAN
VOID MPUPTTSysTask(VOID);
VOID MPUEMSysTask(VOID);
VOID MPUUARTSysTask(VOID);
VOID MPUUARTRXTask(VOID);
VOID MPUPSTNSysTask(VOID);
VOID MiniE1SysTask(VOID);
#endif

#ifdef TEST_FANGHUA
extern void FangHuaTask(void);
#endif

extern void TTestTask(void);

extern VOID HTBfastTrigTimerTask( VOID );

VOID msgQhandlesInit( VOID )
{
	int  i;

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

	ServiceCtr_Q_ID		= msgQCreate( SERVICE_TASK_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	ROUTE_Q_ID		    = msgQCreate( ROUTE_TASK_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	DBMS_Q_ID			= msgQCreate( DMBS_TASK_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	Lapm_Q_ID			= msgQCreate( LAPM_TASK_QUE_LEN,		MAX_MSG_LEN, MSG_Q_PRIORITY );
	NetManCenter_Q_ID	= msgQCreate( TCPSEND_TASK_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );

#ifdef MPU_INCLUDE_E1
	MPUE1_SYS_Q_ID	    = msgQCreate( MPU_E1_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	MPUE1_FSM_Q_ID		= msgQCreate( MPU_E1_FSM_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
#endif

#ifdef MINI_TAIZHAN
	MPUPTT_SYS_Q_ID		= msgQCreate( MPU_PTT_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	MPUEM_SYS_Q_ID		= msgQCreate( MPU_EM_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	MPUUART_SYS_Q_ID		= msgQCreate( MPU_UART_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	MPUPSTN_SYS_Q_ID		= msgQCreate( MPU_PSTN_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
	MINIE1_SYS_Q_ID	    = msgQCreate( MINI_E1_SYS_QUE_LEN,		MAX_MSG_LEN, MSG_Q_FIFO );
#endif

#ifdef MPU_INCLUDE_QSIG
	QSIG_Q_ID				= msgQCreate( QSIG_SYS_QUE_LEN,			MAX_MSG_LEN, MSG_Q_FIFO );
#endif

#ifdef GUANGQIAN_JIERU
	Lapv_Q_ID				= msgQCreate( V5_LAPV_TASK_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
	V52_Q_ID				= msgQCreate( V52_MAINTASK_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
	V52LinkCtrlBuf_Q_ID		= msgQCreate( V52_LINK_CTL_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
	V52PortCtrlBuf_Q_ID		= msgQCreate( V52_PORT_CTL_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
	V52CommCtrlBuf_Q_ID		= msgQCreate( V52_COMM_CTL_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
	V5L1_Q_ID				= msgQCreate( V52_L1_TASK_QUE_LEN, MAX_MSG_LEN, MSG_Q_FIFO );
#endif

	SemEthernetSend_ID 	= semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);
	for( i=0; i<64; i++ )
		SemQMCHdlcSend_ID[i] 	= semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);
	SemEthernetInit_ID  = semMCreate (SEM_Q_FIFO|SEM_DELETE_SAFE);
}

VOID Application_Initialize(VOID)
{
	/************************************************************************/
	/*                                                                      */
	/*	 					Create each Task in the system.  			    */
	/*																		*/
	/************************************************************************/
	TNetServerId		= taskSpawn( "tNetServer", NETSERVER_PRI, VX_SUPERVISOR_MODE, 4096*2, (FUNCPTR)tcpServerTask,		0,0,0,0,0,0,0,0,0,0);
	TNetServerSendId	= taskSpawn( "tNetSend", TCPTx_PRI, VX_SUPERVISOR_MODE, 4096*10, (FUNCPTR)TcpServerSendTask,		0,0,0,0,0,0,0,0,0,0);

	TServiceAppTaskID = taskSpawn( "tServiceApp", SYSTEM_PRI, VX_SUPERVISOR_MODE, (4096*60), (FUNCPTR)ServiceAppTask, 	0,0,0,0,0,0,0,0,0,0);
	TRouteTaskID      = taskSpawn( "tAutoRoute",  ROUTE_PRI, VX_SUPERVISOR_MODE,  (4096*20), (FUNCPTR)RouteTask, 	0,0,0,0,0,0,0,0,0,0);

	TLapmRxID		= taskSpawn( "tLapmRX",  LAPMRX_PRI,  VX_SUPERVISOR_MODE, (4096*8), (FUNCPTR)LapmRxTask,		0,0,0,0,0,0,0,0,0,0);
	TLapmTxID		= taskSpawn( "tLapmTX",  LAPMTX_PRI,  VX_SUPERVISOR_MODE, (4096*8), (FUNCPTR)LapmTxTask,		0,0,0,0,0,0,0,0,0,0);
	TWorkLedId		= taskSpawn( "tWorkLed", WORK_PRI,	 VX_SUPERVISOR_MODE, (2048*4), (FUNCPTR)WorkLedTask,		0,0,0,0,0,0,0,0,0,0);


	TDbmsId			= taskSpawn( "tDbmsProc", DBMS_PRI, VX_SUPERVISOR_MODE, (4096*4), (FUNCPTR)DbmsTask, 	0,0,0,0,0,0,0,0,0,0);

#ifdef MPU_INCLUDE_E1
	TMpuE1SYSTaskID	= taskSpawn( "tMPUE1SYS", MPUE1_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)MPUE1SysTask, 	0,0,0,0,0,0,0,0,0,0);
	TMpuE1FSMTaskID	= taskSpawn( "tMPUE1FSM", MPUE1PHY_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)MPUE1FsmTask, 	0,0,0,0,0,0,0,0,0,0);
#endif

#ifdef GUANGQIAN_JIERU
	TV52Id			= taskSpawn( "tV52",	   V52_PRI,		  VX_SUPERVISOR_MODE, (4096*16), (FUNCPTR)V52Task,		0,0,0,0,0,0,0,0,0,0);
	TLapvId			= taskSpawn( "tLapv",	   LAPV_PRI,	  VX_SUPERVISOR_MODE, (4096*8), (FUNCPTR)LapvTask,		0,0,0,0,0,0,0,0,0,0);
	TV5L1Id			= taskSpawn( "tV5L1",	   V5L1_PRI,	  VX_SUPERVISOR_MODE, (2048*8), (FUNCPTR)V5L1Task,		0,0,0,0,0,0,0,0,0,0);
#endif

#ifdef MPU_INCLUDE_QSIG
	TQsigTaskId		= taskSpawn( "tQsig",	   QSIG_PRI,	  VX_SUPERVISOR_MODE, (4096*8), (FUNCPTR)QsigTask,		0,0,0,0,0,0,0,0,0,0);
#endif

#ifdef MINI_TAIZHAN
	TMpuPttSYSTaskID    = taskSpawn( "tMPUPTT", MPUPTT_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)MPUPTTSysTask, 	0,0,0,0,0,0,0,0,0,0);
	TMpuEmSYSTaskID     = taskSpawn( "tMPUEM",  MPUEM_PRI,  VX_SUPERVISOR_MODE, (4096*10),  (FUNCPTR)MPUEMSysTask,  	0,0,0,0,0,0,0,0,0,0);
	TMpuUartSYSTaskID   = taskSpawn( "tMPUUART", MPUUART_PRI, VX_SUPERVISOR_MODE, (4096*20), (FUNCPTR)MPUUARTSysTask,	0,0,0,0,0,0,0,0,0,0);
	TMpuUartRXTaskID    = taskSpawn( "tUARTRX", MPUUART_PRI, VX_SUPERVISOR_MODE, (4096*20), (FUNCPTR)MPUUARTRXTask,	0,0,0,0,0,0,0,0,0,0);
	TMpuPstnSYSTaskID   = taskSpawn( "tMPUPSTN", MPUPSTN_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)MPUPSTNSysTask,	0,0,0,0,0,0,0,0,0,0);
	TMiniE1SYSTaskID    = taskSpawn( "tMINIE1", MINIE1_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)MiniE1SysTask,	0,0,0,0,0,0,0,0,0,0);
#endif

#ifdef TEST_FANGHUA
	TTestFangHuaID  = taskSpawn( "tFANGHUA", MINIE1_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)FangHuaTask,	0,0,0,0,0,0,0,0,0,0);
#endif

/*	TTestMemID = taskSpawn( "tTESTMEM", MINIE1_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)CheckMemTask,	0,0,0,0,0,0,0,0,0,0);
*/

#ifdef TEST_PSTN
	TTestCODE  = taskSpawn( "tTESTCODE", MINIE1_PRI, VX_SUPERVISOR_MODE, (4096*10), (FUNCPTR)TTestTask,	0,0,0,0,0,0,0,0,0,0);
#endif

	/*创建热备份定时器任务*/
	THTBTimerID		= taskSpawn( "THTBTimer", WORK_PRI,	 VX_SUPERVISOR_MODE, (4096*8), (FUNCPTR)HTBfastTrigTimerTask,		0,0,0,0,0,0,0,0,0,0);	

}

⌨️ 快捷键说明

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