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

📄 usrxxxroot.c

📁 VxWorks网络tNetTask任务演示源代码
💻 C
字号:
/**********************************************************************
 chengjy@felab, copyright 2002-2004
 usrXXXRoot.c
 采集板的统一入口程序
 函数:
		void usrXXXRoot();
		void usrDefaultParamLoad();
		void usrParamShow();
 调用:
 	netSvr.c
		extern void netInit();
 被调用:
 	BSP usrConfig.c
		void usrRoot(char* pMemPoolStart, unsigned memPoolSize);
 	netTask.c
 **********************************************************************/
#include "vxWorks.h"
#include "taskLib.h"
#include "logLib.h"
#include "sysLib.h"
#include "stdLib.h"
#include "stdio.h"
#include "string.h"

#include "board.h"

extern void netInit();

void usrXXXRoot();
void usrDefaultParamLoad();
void usrParamShow();

struct BoardIndex	boardIndex;
struct BoardWorkEnv	boardWorkEnv;

/**********************************************************************
 void usrXXXRoot()
 函数说明:	用户程序入口函数,给灵活配置参数全局变量
 				赋初值,并发起网络初始化任务,等待控制端
 				连接。
 参数:		无
 返回:		无
 调用:
			void usrDefaultParamLoad();
			void usrParamShow();
	 	netSvr.c
			extern void netInit();
 被调用:	
 		BSP usrConfig.c
			void usrRoot(char* pMemPoolStart, unsigned memPoolSize);
 **********************************************************************/
void usrXXXRoot()
{
	usrDefaultParamLoad();
	usrParamShow();
	boardWorkEnv.autoBootFlag = 1;
	taskSpawn(TNAME_NETINIT,TPRI_NETINIT,0,USER_STACK_SIZE,
				(FUNCPTR)netInit,0,0,0,0,0,0,0,0,0,0);
}

/**********************************************************************
 void usrDefaultParamLoad()
 函数描述:	全局变量参数初始化
 参数:		无
 返回:		无
 调用:		无
 被调用:	
			void usrXXXRoot()
 **********************************************************************/
void usrDefaultParamLoad()
{
 	BOOT_PARAMS bootParam;

	/*初始化软件版本号和说明*/
	boardIndex.swVersion		= 1;
	sprintf(boardIndex.swDiscri,"chengjy: tornado2.0,vxWorks5.4, copyright 2002-2004\n");	
	
	/*从bootline获得IP*/
	bootStringToStruct(BOOT_LINE_ADRS,&bootParam);
	/*填写从bootline中获得的IP*/
	boardIndex.localIP[0]		= '\0';
	strcpy(boardIndex.localIP, bootParam.ead);
	boardIndex.remoteIP[0] = '\0';
	strcpy(boardIndex.remoteIP, bootParam.had);
	/*通讯端口号*/
	boardIndex.localPort = LOCAL_PORT_CMD;

	/*硬件工作环境初始化*/
	if(boardWorkEnv.autoBootFlag!=0)
		boardWorkEnv.dmaAutoFlag = USR_DMA_AUTO;
	else
		boardWorkEnv.dmaAutoFlag = DFT_DMA_AUTO;

	/*软件参数初始化完毕*/
	boardWorkEnv.boardInit = boardWorkEnv.boardInit | BOARD_SOFTPRAM_INITED;
}


/**********************************************************************
 void usrParamShow()
 函数描述:打印本 板的信息
 参数:		无
 返回:		无
 调用:		无
 被调用:	
			void usrXXXRoot()
			网络命令控制改变全局变量的命令对应函数
 **********************************************************************/
void usrParamShow()
{
	/*如果本板还没有初始化,则直接退出*/
	if(!(boardWorkEnv.boardInit & BOARD_SOFTPRAM_INITED))
	{
		printf("usrParamShow: warning: board is not initialized yet\n");
		return;
	}

	/*打印本板信息*/
	printf("usrParamShow:\n");
	printf("**************board XXX ************\n");
	printf("	software version: %d\n",boardIndex.swVersion);
	printf("	local IP:%s, local port %d\n",boardIndex.localIP,boardIndex.localPort);
	printf("	remote IP should be:%s\n",boardIndex.remoteIP);
	printf("	%s\n",boardIndex.swDiscri);
	
	if(boardWorkEnv.boardInit & BOARD_NET_INITED)
		printf("	*net is initialized\n");
	else
		printf("	net is not intialized\n");
	if(boardWorkEnv.boardInit & BOARD_F9656_INITED)
		printf("	*9656 is initialized\n");
	else
		printf("	9656 is not initialzed\n");
	if(boardWorkEnv.boardInit & BOARD_GENET_INITED)
		printf("	*geNet is initialized\n");
	else
		printf("	geNet is not intialized\n");
	if(boardWorkEnv.boardInit & BOARD_FLASH_INITED)
		printf("	*flash is initialized\n");
	else
		printf("	flash is not intialized\n");
	printf("\n");
	printf("	dma: ");
	if(boardWorkEnv.dmaAutoFlag == DMA_AUTO_DISABLE)
		printf("not auto, controled by software\n");
	else
		printf("auto, controlled by hardware\n");
	printf("\n");
}




⌨️ 快捷键说明

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