📄 bsplib.c
字号:
/* bspLib.c - ... */
/* Copyright 2007 ZTE Corporation */
/*
modification histroy
--------------------
01a,11jan07,lyf written.
*/
/*
DESCRIPTION
This module ...
...
INCLUDE FILES: bspLib.h
*/
/* includes */
#include "vxWorks.h"
#include "stdio.h"
#include "intLib.h"
#include "string.h"
#include "logLib.h"
#include "time.h"
#include "config.h"
#include "bspLib.h"
#include "mecLib.h"
#include "drv/parallel/m8260IOPort.h"
/* defines */
/* typedefs */
typedef volatile INT32 VINT32;
/* imports */
/* 先外部变量,空格,后外部函数声明 */
IMPORT UINT32 vxImmrGet (void);
/* globals */
/* locals */
/* forword declarations */
/*##############################################################################
# 单板信息 #
##############################################################################*/
/*******************************************************************************
* bspPcbVerNo
*
*/
int bspPcbVerNo (void)
{
UINT8 RegData;
RegData = (BCSR_REG(0x4) & 0xE0) >> 5;
return RegData;
}
/*******************************************************************************
* bspFpgaVerNo
*
*/
int bspFpgaVerNo (void)
{
return (BSP_NOT_SUPPORT);
}
/*******************************************************************************
* bspCpldVerNo
*
*/
int bspCpldVerNo (void)
{
UINT8 RegData;
RegData = mecRegRead(0x08);
return RegData;
}
char *bsp_GetHardVer(void)
{
UINT8 val = 0;
static char hardver[3]= {0};
val = BCSR_REG(0x04)>>5;
sprintf(hardver,"V%d",val);
return hardver;
}
/******************************************************************************/
/* 本板状态与控制 */
/******************************************************************************/
/*******************************************************************************
* bspPhysSlotId
*/
int bspPhysSlotId (void)
{
return (physSlotNumber());
}
/*##############################################################################
# 灯控制 #
##############################################################################*/
/*******************************************************************************
* bspRunLedOn
*
*/
int bspRunLedOn(void)
{
UINT32 immrVal = vxImmrGet();
* M8260_IOP_PCDIR(immrVal) |= PC10;
* M8260_IOP_PCDAT(immrVal) |= PC10;
return OK;
}
/*******************************************************************************
* bspRunLedOff
*
*/
int bspRunLedOff(void)
{
UINT32 immrVal = vxImmrGet();
* M8260_IOP_PCDIR(immrVal) |= PC10;
* M8260_IOP_PCDAT(immrVal) &= ~PC10;
return OK;
}
/*******************************************************************************
* bspAlarmLedOn
*
*/
int bspAlarmLedOn (void)
{
UINT32 immrVal = vxImmrGet();
* M8260_IOP_PCDIR(immrVal) |= PC9;
* M8260_IOP_PCDAT(immrVal) |= PC9;
return OK;
}
/*******************************************************************************
* bspAlarmLedOff
*
*/
int bspAlarmLedOff (void)
{
UINT32 immrVal = vxImmrGet();
* M8260_IOP_PCDIR(immrVal) |= PC9;
* M8260_IOP_PCDAT(immrVal) &= ~PC9;
return OK;
}
/*##############################################################################
# FPGA接口 #
##############################################################################*/
/*******************************************************************************
* bspFpgaReset
*
*/
int bspFpgaReset (void)
{
reset_fpga();
return OK;
}
/*待添加*/
void reset_fpga (void)
{
return;
}
/*##############################################################################
# 项目共有BSP代码 #
##############################################################################*/
#include "bspPrjLib.c"
/*##############################################################################
# 私有 #
##############################################################################*/
/*
#include "bspLibExtra.c"
*/
#ifndef __BOOTROM__
IMPORT int ipAttach (int unit, char * pDevice);
IMPORT void ifShow (char * ifName);
IMPORT STATUS usrNetIfConfig (char *devName, int unitNum, char *inetAdrs,
char *inetName, int netmask);
void netEndDevStart
(
char * pDevName, /* Device name */
int unitNum, /* unit number */
char * pTgtName, /* Host Name */
char * pAddrString, /* enet address */
int netmask /* netmask */
)
{
END_OBJ * pEnd;
if (pDevName == NULL)
return;
/* Find the END_OBJ associated with the device. */
pEnd = endFindByName (pDevName, unitNum);
if (pEnd == NULL)
{
/* printf ("Could not find %s%d\n", pDevName, unitNum); */
return;
}
#ifndef _WRS_VXWORKS_5_X
M2_INTERFACETBL endM2Tbl;
if (muxIoctl(pEnd, EIOCGMIB2, (caddr_t) &endM2Tbl) == ERROR)
{
printf ("Cannot perform EIOCMIB2 ioctl.\n");
return;
}
#endif
if (ipAttach(unitNum, pDevName) != OK)
{
printf ("Failed to attach to device %s", pDevName);
return;
}
if (usrNetIfConfig (pDevName, unitNum, pAddrString, pTgtName, netmask) != OK)
{
printf ("Failed to configure %s%d for IP.\n", pDevName, unitNum);
return;
}
/*
printf ("Attached TCP/IP interface to %s unit %d\n", pDevName, unitNum);
*/
return;
}
void bbcNetTest1()
{
char buf[48];
struct in_addr inetAddr;
inetAddr.s_addr = bspBbIpAddr();
inet_ntoa_b(inetAddr, buf);
netEndDevStart (BBC_DEV, BBC_DEV_UNIT, "", buf, (int)BBC_INET_MASK);
ifShow (BBC_NET_DEV);
}
#if 0
void dogTest()
{
int i;
bsp_WatchDogEnable();
for(i=0;i<10;i++)
{
bsp_FeedWatchDog();
taskDelay(60);
}
printf("\ndogTest end! reset...\n");
}
#endif
#endif /* __BOOTROM__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -