?? 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 + -