📄 bsp.h
字号:
#define DRV_BOOT_GET_OUTER_MAC_STATE 0x0128
#define DRV_BOOT_SET_INNER_IP_STATE 0x0129
#define DRV_BOOT_GET_INNER_IP_STATE 0x012A
#define DRV_BOOT_SET_INNER_MAC_STATE 0x012B
#define DRV_BOOT_GET_INNER_MAC_STATE 0x012C
#define DRV_BOOT_SET_HOSTIP_STATE 0x012D
#define DRV_BOOT_GET_HOSTIP_STATE 0x012E
#define DRV_BOOT_SET_BOOTDIRC_STATE 0x012F
#define DRV_BOOT_GET_BOOTDIRC_STATE 0x0130
#define DRV_BOOT_SET_BOOTFILE_STATE 0x0131
#define DRV_BOOT_GET_BOOTFILE_STATE 0x0132
#define DRV_BOOT_SET_WORKMODE_STATE 0x0133
#define DRV_BOOT_GET_WORKMODE_STATE 0x0134
#define DRV_QMC_RESET_DRIVER 0x0201
#define DRV_QMC_DIS_CHANNEL 0x0202
#define DRV_QMC_EN_CHANNEL 0x0203
#define DRV_QMC_ASSIGN_TIMESLOT 0x0204
#define DRV_QMC_EN_LOOPBACK 0x0205
#define DRV_QMC_DIS_LOOPBACK 0x0206
#define DRV_QMC_EN_LOOPBACK_TS 0x0207
#define DRV_QMC_DIS_LOOPBACK_TS 0x0208
#define DRV_QMC_RESET_RXBD 0x0209
#define DRV_QMC_RESET_TXBD 0x020A
#define DRV_QMC_RESET_ALLBD 0x020B
#define DRV_QMC_GET_BD_STATUS 0x020C
#define DRV_QMC_GET_REG_STATUS 0x020D
#define DRV_QMC_RESET_STATIC 0x020E
#define DRV_QMC_GET_STATIC 0x020F
#define DRV_QMC_GET_RXTX_BYTE 0x0210
#define DRV_QMC_GET_RXTX_FRAME 0x0211
#define DRV_SERIAL_SETBAUT 0x0301
#define DRV_SERIAL_GETBAUT 0x0302
#define DRV_SERIAL_REG_STATUS 0x0303
#define DRV_SERIAL_PUT_CHAR 0x0304
#define DRV_SERIAL_SEND_ENABLE 0x0305
#define DRV_SERIAL_RECEIVE_ENABLE 0x0306
#define DRV_SERIAL_SEND_DISABLE 0x0307
#define DRV_SERIAL_RECEIVE_DISABLE 0x0308
#define DRV_SERIAL_INIT 0x0309
#define DRV_SERIAL_SEND_TEST 0x030A
#define DRV_SERIAL_SEND_CC_CHAR 0x030B
#define DRV_SERIAL_RECEIVE_TEST 0x030C
#define DRV_SERIAL_GET_PARA 0x030D
#define DRV_SPI_GET_STATICS 0x0401
#define DRV_SPI_RESET_STATICS 0x0402
#define DRV_SPI_GET_REG_STATUS 0x0403
#define DRV_SPI_SET_LOOPBACK 0x0404
#define DRV_SPI_SET_UNLOOPBACK 0x0405
enum CPM_Type
{
CPM_SCC1,
CPM_SCC2,
CPM_SCC3,
CPM_SCC4,
CPM_SMC1,
CPM_SMC2,
};
enum tag_DrvRegDest_E
{
PROTOCAL = 1,
APP
};
typedef struct tag_DrvStruc_S
{
char DrvName[MAX_DRV_NAME_SIZE];
_U32 CPMType;
_U32 RBDBase;
_U32 RBDSize;
_U32 TBDBase;
_U32 TBDSize;
_U32 CurRBDPoint;
_U32 CurTBDPoint;
char LinkAddr[MAX_DRV_ADDR_SIZE];
char * (*MemAlloc) (_U32);
void (*MemFree) (void *);
_U32 (*DrvCreate) (_U8,_U32);
_U32 (*DrvSelect) (_U8,_U32, _U32);
_U32 (*DrvSend) (_U8,_U32, char*, char*, _U16);
_U32 (*DrvReceive) (_U8,_U32, char**, char**, _U16*);
_U32 (*DrvScan) (_U8,_U32);
_U32 (*DrvIOctrl) (_U8,_U32, _U16, _U32);
void *pDrvPrivateStruct;
}DrvStruc_S;
typedef struct tag_DrvList_S
{
int DrvRegDest;
int DrvType;
DrvStruc_S *pDrvInfo;
}DrvList_S;
/*Cpu网口统计的数据结构netstat interface*/
typedef struct DrvEthStat
{
_U32 ulUsedFlag;
_U32 ulTxErr;
_U32 ulTxPkt;
_U32 ulTxByte;
_U32 ulRxBusy;
_U32 ulRxPkt;
_U32 ulRxByte;
_U32 ulRxLoss;
}DRV_ETH_STAT;
extern DrvStruc_S Enet_DrvInfo[MAX_ENET_DRIVER_NUM];
extern DrvStruc_S Serial_DrvInfo[MAX_SERIAL_DRIVER_NUM];
extern _U32 LoadCtrl_BootInfoIOCtrl(_U16 u16Cmd, _U32 pData);
/*****************************************************************************
ETHERNET(SCC1)
*****************************************************************************/
/*SCC1网口驱动统计结构*/
typedef struct _Enet_SCCState
{
/*receive status*/
_U32 RX_LG;
_U32 RX_NO;
_U32 RX_SH;
_U32 RX_CR;
_U32 RX_OV;
_U32 RX_CL;
_U32 RX_MallocFailCount;
_U32 RX_FramLostCount;
_U32 RX_MultiBdCount;
_U32 RX_PackCount;
_U32 RX_TotalBufLen;
_U32 RX_TestDataErrCount;
_U32 RX_InitBDCount;
_U32 RX_MallocCount;
_U32 RX_FreeCount;
_U32 RX_Send2MACExt;
_U32 RX_Send2MACIn;
_U32 RX_SendNoDistribute;
_U32 RX_DropBroadCaseSelfMAC;
_U32 TX_DEF;
_U32 TX_HB;
_U32 TX_LC;
_U32 TX_RL;
_U32 TX_RC;
_U32 TX_UN;
_U32 TX_CSL;
_U32 TX_SendFailCount;
_U32 TX_SendOKCount;
_U32 TX_TotalFailBufLen;
_U32 TX_TotalOKBufLen;
_U32 TX_TestFormPacketCount;
_U32 TX_InitBDCount;
_U32 TX_Call;
_U32 TX_CallAddHead;
_U32 TX_CallNoAddHead;
_U32 TX_CallNoDistribute;
_U32 TX_AddHeadMalloc;
_U32 TX_AddPadMalloc;
_U32 TX_AddHeadFree;
_U32 TX_AddPadFree;
_U32 TX_BigPackFree;
_U32 TX_BDFree;
}Enet_SCCState;
#define UP_MAC_HEAD_TYPE 0x9056
typedef struct _UP_MACHeadStr
{
char DestMAC[MAC_ADDR_SIZE];
char SourceMAC[MAC_ADDR_SIZE];
_U16 MACType;
}UP_MACHeadStr;
typedef struct _Enet_PMStatics
{
_U32 Rx_Package;
_U32 Rx_Length;
_U32 Rx_StaticsDec;
_U32 Rx_StaticsTicks;
_U32 Rx_PackagePSec;
_U32 Rx_bps;
_U32 Output_TxBufCount;
_U32 Output_TxBufLen;
_U32 Output_RxBufCount;
_U32 Output_RxBufLen;
}Enet_PMStatics;
typedef struct tag_ST_TEST_RESULT
{
_U32 ulErrCount;
_U32 ulErrStartType; /*标识是哪种类型错误,针对不便统计的错误*/
_U32 ulStartAdd;
_U32 ulStartWrite;
_U32 ulStartRead;
_U32 ulErrEndType;
_U32 ulEndAdd;
_U32 ulEndWrite;
_U32 ulEndRead;
}ST_TEST_RESULT, ST_TEST_RAM_RESULT;
typedef struct tag_ST_TEST_RESULT_TO_FLASH
{
_U32 ulTestState;
_U32 ulTestCount;
_U32 ulCurrentResult;
ST_TEST_RAM_RESULT stTestErrResult;
_U8 aucTestAllResult[ EQUIP_TEST_RESULT_LEN ];
}ST_TEST_RESULT_TO_FLASH;
typedef enum
{
EN_EQUIP_TEST_STATE_NULL,
EN_EQUIP_TEST_STATE_START,
EN_EQUIP_TEST_STATE_RUN,
EN_EQUIP_TEST_STATE_END,
EN_EQUIP_TEST_STATE_BUTT
}EN_EQUIP_TEST_STATE;
typedef enum
{
EN_EQUIP_TEST_ITEM_RAM,
EN_EQUIP_TEST_ITEM_FLASH,
/*AG上专用*/
EN_EQUIP_TEST_ITEM_AUDIO_FLASH,/*与FLASH保留一致*/
EN_EQUIP_TEST_ITEM_FPGA,
EN_EQUIP_TEST_ITEM_LSW,
EN_EQUIP_TEST_ITEM_DSP,
/*TG上专用*/
EN_EQUIP_TEST_ITEM_DSP_RAM,
EN_EQUIP_TEST_ITEM_DSP_SERVER,
EN_EQUIP_TEST_ITEM_E1,
EN_EQUIP_TEST_ITEM_NET,
EN_EQUIP_TEST_ITEM_QMC,
EN_EQUIP_TEST_ITEM_RTC,
/*AG上专用*/
EN_EQUIP_TEST_ITEM_POTS,
EN_EQUIP_TEST_ITEM_BUTT
}EN_EQUIP_TEST_ITEM;
extern _VOID Equip_TestErrLog( _U32 ulErrType, _U32 ulAddr, _U32 ulWrite, _U32 ulRead, ST_TEST_RESULT *pstTestErr );
extern _U32 Drv_EnetCreate (_U8 ,_U32 );
extern _U32 Drv_EnetSend(_U8 ,_U32 , char *, char *, _U16 );
extern _U32 Drv_EnetReceive(_U32 , char **, char **, _U16 *);
extern _U32 Drv_EnetIOctrl(_U8 ,_U32 , _U16 , void *);
extern _U32 Drv_EnetIOctrlSelf(_U8 , _U32 , _U16 , _U32 );
extern _U32 Drv_SmcIOctrlSelf(_U8 u8Type, _U32 u32Channel , _U16 u16Cmd, _U32 pData);
extern _U32 Drv_EnetSelect(_U8 ,_U32 , _U32 );
extern void Drv_EnetRcvTask();
/*****************************************************************************
SERIAL(SMC)
*****************************************************************************/
/*****************************************
串口宏定义
*****************************************/
#define SMCBAUT9600 (0x0144 << 1)
#define SMCBAUT19200 (0x00a0 << 1)
#define SMCBAUT38400 (0x0050 << 1)
#define SMCBAUT57600 (0x0034 << 1)
#define SMCBAUTMASK 0x0000100e
extern _U32 Drv_SmcPutChar(_U8 ,_U32 , unsigned char );
extern _U32 Drv_SmcGetChar(_U8 ,_U32 , unsigned char *);
extern _U32 Drv_SmcCreate(_U8 ,_U32 );
extern _U32 Drv_Print(const char *pStr, ...);
extern _U32 Drv_SerialIOctrl(_U16 u16Cmd, _U32 pData);
extern _U32 Drv_SmcIOctrl(_U8 u8Type,_U32 u32Channel, _U16 u16Cmd, _U32 pData);
extern _U32 Bsp_Receive(char *ucData);
/*****************************************************************************
LED
*****************************************************************************/
#define RUN_LAMP 0x00000001
#define ALARM_LAMP 0x00000002
extern void Drv_LedFlash (_U32 LedNum,_U32 ulLightTime,_U32 ulBlackTime);
/*****************************************************************************
OTHERS
*****************************************************************************/
extern int gScc4RcvTid;
#if 0
extern _U32 UNZip(_U32 SourceAddr, _U32 DestAddr, _U32 ZipLength);
extern _U32 Load_xModemDownLoad ( _U32 startaddr,_U32 *pdwLength);
#endif
extern _U32 Drv_ErrGetLog(char *pData);
extern int taskDelay (int ticks);
extern int taskDelete (int tid);
extern void BSP_GetCallersPC( _U32 *pulAddrArray, _U32 ulArrayNum );
extern void BSP_GetTimeDetail(_U32 *ulTick, _U32 *ulUsec);
extern _U32 BSP_GetSP(void);
extern _U32 BSP_GetICacheState(void);
extern _U32 BSP_GetDCacheState(void);
extern _U32 BSP_GetDERState(void);
extern _U32 BSP_GetICRState(void);
extern _U32 BSP_GetICTRLState(void);
extern _U32 BSP_GetIMMRState(void);
extern _U32 BSP_GetMSRState(void);
#define MAX_BSP_OUT_STRING_LENGTH 0x10000
/*调用举例:
BSP_ResetDSP(CHIP_DSP1|CHIP_DSP2|CHIP_DSP3|CHIP_DSP4)
BSP_UnResetDSP(CHIP_DSP1|CHIP_DSP2|CHIP_DSP3|CHIP_DSP4)
*/
#define WATCHDOG_TIME_3S 0x03
#define WATCHDOG_TIME_60S 0x02
extern void BSP_SetWatchDogTime(_U8 WatchDogTime);
extern _U32 BSP_GetBiosVer(void);
extern _S8 *BSP_GetBspVer(void);
extern void BSP_ReBoot(void);
extern void sysFeedWatchDog(void);
extern void sysMsDelay(_U32 delay);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -