📄 usrxxxroot.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 + -