📄 bosnmisc.c
字号:
#include <psos.h>
#include "board.h"
#include "sdev.h"
#include "bspspec.h"
#include "bosnmisc.h"
static void BosnMiscInit(void *pDataBuf, BosnMiscCfgStruct *cfg )
{
BosnMiscCfgStruct* pCfg =(BosnMiscCfgStruct *)(pDataBuf);
memmove(pCfg,cfg,sizeof(*cfg));
}
static int BosnMiscCntrl(void *pDataBuf, int cmd, void *pParam, int maxlen)
{
int i,len; /* del ret,index,by maold */
PDA *pda= (PDA *)(GetIMMR() & IO_MAP_MASK);
BosnMiscCfgStruct* pCfg =(BosnMiscCfgStruct *)(pDataBuf);
switch(cmd)
{
case SDC_REINIT:
BosnMiscInit(pDataBuf,pCfg);
break;
case SDC_GET_ALARMS:
i=0; len=maxlen/4;
if( (pda->pip_pbdat & (1<<(31-16)))==0 ){
if(i>=len)return SDE_SHORTER_BUF;
((ULONG*)pParam)[i++]=SDA_LOST_16M8K;
}
if( (pda->pip_pbdat & (1<<(31-15)))==0 ){
if(i>=len)return SDE_SHORTER_BUF;
((ULONG*)pParam)[i++]=SDA_ERR_S4402;
}
if( (pda->pip_pbdat & (1<<(31-22)))==0 ){
if(i>=len)return SDE_SHORTER_BUF;
((ULONG*)pParam)[i++]=SDA_ERR_FPGA;
}
return i;
default:
return SDE_UNKNOW_CMD;
}/* end of switch(cmd) */
return SDE_OK;
}
UCHAR *BosnMiscBspInit(int DEV, UCHAR *FreeMemPtr, BosnMiscCfgStruct *cfg)
{
InstallSD(DEV,NULL,NULL,BosnMiscCntrl,FreeMemPtr);
BosnMiscInit(FreeMemPtr, cfg);
FreeMemPtr += sizeof(BosnMiscCfgStruct);
memcpy(FreeMemPtr,"*BosnMisc",8);
FreeMemPtr += 8;
return FreeMemPtr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -