📄 main.c
字号:
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Close(%s)=OK",
"STPCCRD_MOD_A", GetErrorText(ST_ErrorCode)));
}
}
if (ST_ErrorCode == ST_NO_ERROR)
{
OpenParams.ModName = STPCCRD_MOD_B;
ST_ErrorCode = STPCCRD_Open("STPCCRD_0", &OpenParams, &Handle);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Open(%s)=%s",
"STPCCRD_Open", GetErrorText(ST_ErrorCode)));
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Open(%s)=OK",
"STPCCRD_MOD_B", GetErrorText(ST_ErrorCode)));
}
}
if (ST_ErrorCode == ST_NO_ERROR)
{
ST_ErrorCode = STPCCRD_Close(Handle);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Close(%s)=%s",
"STPCCRD_Close", GetErrorText(ST_ErrorCode)));
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Close(%s)=OK",
"STPCCRD_MOD_B", GetErrorText(ST_ErrorCode)));
}
}
if (ST_ErrorCode == ST_NO_ERROR)
{
TermParams.ForceTerminate = TRUE;
ST_ErrorCode = STPCCRD_Term("STPCCRD_0", &TermParams);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPCCRD_Term(%s)=%s",
"STPCCRD_Term", GetErrorText(ST_ErrorCode)));
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STPCCRD_Term()=OK",
GetErrorText(ST_ErrorCode)));
}
}
return ST_ErrorCode;
} /* Stpccrd_Test () */
#endif
#if 0//7710_s
/*------------------------------------------------------------------------------
* Function : Stsmart_Test
* Test STSMART driver basic API
* Input : N/A
* Output : N/A
* Return : Error Code
* -------------------------------------------------------------------------- */
ST_ErrorCode_t Stsmart_Test(void)
{
/* Parameters, buffers, and structures */
ST_ErrorCode_t ST_ErrorCode;
STSMART_InitParams_t SmartInitParams[2];
STUART_InitParams_t UartInitParams[2];
ST_DeviceName_t UartDeviceName[2]={"UART_0","UART_1"};
ST_DeviceName_t SmartDeviceName[2]={"SMART_0","SMART_1"};
STSMART_OpenParams_t OpenParams;
STSMART_Handle_t Handle[2];
STSMART_TermParams_t TermParamsSC;
STUART_TermParams_t TermParamsUA;
int i;
/* Set UART initialization params */
UartInitParams[0].UARTType = STUART_ISO7816;
UartInitParams[0].DriverPartition = (ST_Partition_t *)system_partition;
UartInitParams[0].BaseAddress = (U32 *)ASC_0_BASE_ADDRESS;
UartInitParams[0].InterruptNumber = ASC_0_INTERRUPT;
UartInitParams[0].InterruptLevel = ASC_0_INTERRUPT_LEVEL;
UartInitParams[0].ClockFrequency = ST_ClockInfo.CommsBlock;
UartInitParams[0].SwFIFOEnable = TRUE;
UartInitParams[0].FIFOLength = 256;
strcpy(UartInitParams[0].RXD.PortName, "PIO_0");
UartInitParams[0].RXD.BitMask = ASC_0_RXD_BIT;
strcpy(UartInitParams[0].TXD.PortName, "PIO_0");
UartInitParams[0].TXD.BitMask = ASC_0_TXD_BIT;
strcpy(UartInitParams[0].RTS.PortName, "");
UartInitParams[0].RTS.BitMask = PIO_BIT_NOT_USED;
strcpy(UartInitParams[0].CTS.PortName, "");
UartInitParams[0].CTS.BitMask = PIO_BIT_NOT_USED;
UartInitParams[0].DefaultParams = NULL;
UartInitParams[1].UARTType = STUART_ISO7816;
UartInitParams[1].DriverPartition = (ST_Partition_t *)system_partition;
UartInitParams[1].BaseAddress = (U32 *)ASC_1_BASE_ADDRESS;
UartInitParams[1].InterruptNumber = ASC_1_INTERRUPT;
UartInitParams[1].InterruptLevel = ASC_1_INTERRUPT_LEVEL;
UartInitParams[1].ClockFrequency = ST_ClockInfo.CommsBlock;
UartInitParams[1].SwFIFOEnable = TRUE;
UartInitParams[1].FIFOLength = 256;
strcpy(UartInitParams[1].RXD.PortName, "PIO_1");
UartInitParams[1].RXD.BitMask = ASC_1_RXD_BIT;
strcpy(UartInitParams[1].TXD.PortName, "PIO_1");
UartInitParams[1].TXD.BitMask = ASC_1_TXD_BIT;
strcpy(UartInitParams[1].RTS.PortName, "");
UartInitParams[1].RTS.BitMask = PIO_BIT_NOT_USED;
strcpy(UartInitParams[1].CTS.PortName, "");
UartInitParams[1].CTS.BitMask = PIO_BIT_NOT_USED;
UartInitParams[1].DefaultParams = NULL;
strcpy(SmartInitParams[0].UARTDeviceName, UartDeviceName[0]);
SmartInitParams[0].DeviceType = STSMART_ISO;
SmartInitParams[0].DriverPartition = (ST_Partition_t *)system_partition;
SmartInitParams[0].BaseAddress = (U32 *)SMARTCARD0_BASE_ADDRESS;
strcpy(SmartInitParams[0].ClkGenExtClk.PortName, "PIO_0");
SmartInitParams[0].ClkGenExtClk.BitMask = PIO_BIT_2;
strcpy(SmartInitParams[0].Clk.PortName, "PIO_0");
SmartInitParams[0].Clk.BitMask = PIO_BIT_3;
strcpy(SmartInitParams[0].Reset.PortName, "PIO_0");
SmartInitParams[0].Reset.BitMask = PIO_BIT_4;
strcpy(SmartInitParams[0].CmdVcc.PortName, "PIO_0");
SmartInitParams[0].CmdVcc.BitMask = PIO_BIT_5;
strcpy(SmartInitParams[0].CmdVpp.PortName, "");
SmartInitParams[0].CmdVpp.BitMask = PIO_BIT_NOT_USED;
strcpy(SmartInitParams[0].Detect.PortName, "PIO_0");
SmartInitParams[0].Detect.BitMask = PIO_BIT_7;
SmartInitParams[0].ClockSource = STSMART_CPU_CLOCK;
SmartInitParams[0].ClockFrequency = ST_ClockInfo.CommsBlock;
SmartInitParams[0].MaxHandles = 32;
strcpy(SmartInitParams[0].EVTDeviceName, "EVT_BACK");
strcpy(SmartInitParams[1].UARTDeviceName, UartDeviceName[1]);
SmartInitParams[1].DeviceType = STSMART_ISO;
SmartInitParams[1].DriverPartition = (ST_Partition_t *)system_partition;
SmartInitParams[1].BaseAddress = (U32 *)SMARTCARD1_BASE_ADDRESS;
strcpy(SmartInitParams[1].ClkGenExtClk.PortName, "PIO_1");
SmartInitParams[1].ClkGenExtClk.BitMask = PIO_BIT_2;
strcpy(SmartInitParams[1].Clk.PortName, "PIO_1");
SmartInitParams[1].Clk.BitMask = PIO_BIT_3;
strcpy(SmartInitParams[1].Reset.PortName, "PIO_1");
SmartInitParams[1].Reset.BitMask = PIO_BIT_4;
strcpy(SmartInitParams[1].CmdVcc.PortName, "PIO_1");
SmartInitParams[1].CmdVcc.BitMask = PIO_BIT_5;
strcpy(SmartInitParams[1].CmdVpp.PortName, "");
SmartInitParams[1].CmdVpp.BitMask = PIO_BIT_NOT_USED;
strcpy(SmartInitParams[1].Detect.PortName, "PIO_1");
SmartInitParams[1].Detect.BitMask = PIO_BIT_7;
SmartInitParams[1].ClockSource = STSMART_CPU_CLOCK;
SmartInitParams[1].ClockFrequency = ST_ClockInfo.CommsBlock;
SmartInitParams[1].MaxHandles = 32;
strcpy(SmartInitParams[1].EVTDeviceName, "EVT_BACK");
for (i=0; i<2; i++)
{
ST_ErrorCode = STUART_Init(UartDeviceName[i], &UartInitParams[i]);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STUART_Init(%s)=%s",
UartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STUART_Init(%s)=OK",
UartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
ST_ErrorCode = STSMART_Init(SmartDeviceName[i], &SmartInitParams[i]);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STSMART_Init(%s)=%s",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STSMART_Init(%s)=OK",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
OpenParams.NotifyFunction = NULL;
OpenParams.BlockingIO = TRUE;
/* Open smartcard handles */
ST_ErrorCode = STSMART_Open(SmartDeviceName[i], &OpenParams, &Handle[i]);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STSMART_Open(%s)=%s",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
break;
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STSMART_Open(%s)=OK",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
ST_ErrorCode = STSMART_Close(Handle[i]);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STSMART_Close(%s)=%s",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
break;
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STSMART_Close(%s)=OK",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
TermParamsSC.ForceTerminate = TRUE;
TermParamsUA.ForceTerminate = TRUE;
ST_ErrorCode = STSMART_Term(SmartDeviceName[i], &TermParamsSC);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STSMART_Term(%s)=%s",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
break;
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STSMART_Term(%s)=OK",
SmartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
ST_ErrorCode = STUART_Term(UartDeviceName[i], &TermParamsUA);
if (ST_ErrorCode != ST_NO_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STUART_Term(%s)=%s",
UartDeviceName[i], GetErrorText(ST_ErrorCode)));
break;
}
else
{
STTBX_Report((STTBX_REPORT_LEVEL_INFO, "STUART_Term(%s)=OK",
UartDeviceName[i], GetErrorText(ST_ErrorCode)));
}
}
return ST_ErrorCode;
} /* Stsmart_Test () */
#endif
#if 0 // EXT_SHARE
/*------------------------------------------------------------------------------
* Function : Stpod_Test
* Test STPOD driver basic API
* Input : N/A
* Output : N/A
* Return : Error Code
* -------------------------------------------------------------------------- */
ST_ErrorCode_t Stpod_Test(void)
{
/* Parameters, buffers, and structures */
ST_ErrorCode_t ST_ErrorCode;
STPOD_InitParams_t STPOD_InitParams;
STPOD_TermParams_t STPOD_TermParams;
STPOD_OpenParams_t STPOD_OpenParams;
STPOD_Handle_t STPODHandle;
ST_DeviceName_t PODDeviceName = "STPOD";
U32 i;
STPOD_InitParams.DeviceType = STPOD_DEVICE_STI7710; /* for mb391 */
/* STPOD_InitParams.DeviceType = STPOD_DEVICE_STIDTV7710;*/ /* for idtv board */
STPOD_InitParams.Partition_p = (ST_Partition_t *)NcachePartition;
STPOD_InitParams.InterruptLevel = EXTERNAL_2_INTERRUPT_LEVEL;
STPOD_InitParams.InterruptNumber = EXTERNAL_2_INTERRUPT;
strcpy(STPOD_InitParams.EVTDeviceName, "EVT_BACK");
/* following is for idtv only, dummy for other devices */
/* there are 2xPIOs for POD on idtv board */
for (i = 0; i < 2; i++)
{
strcpy((char *)STPOD_InitParams.PioInfo[i].PioDeviceName, (char *)PIO_GET_DEVICENAME(i));
}
ST_ErrorCode = STPOD_Init(PODDeviceName, &STPOD_InitParams);
if (ST_ErrorCode != ST_NO_ERROR)
{
if (ST_ErrorCode == ST_ERROR_BAD_PARAMETER)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"ST_ERROR_BAD_PARAMETER"));
}
else if (ST_ErrorCode == STPOD_ERROR_FPGA)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_FPGA"));
}
else if (ST_ErrorCode == STPOD_ERROR_EVENT_REGISTER)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_EVENT_REGISTER"));
}
else if (ST_ErrorCode == STPOD_ERROR_READ_NO_DATA)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_READ_NO_DATA"));
}
else if (ST_ErrorCode == STPOD_ERROR_NO_MODULE)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_NO_MODULE"));
}
else if (ST_ErrorCode == STPOD_ERROR_MODULE_BUSY)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_MODULE_BUSY"));
}
else if (ST_ErrorCode == STPOD_ERROR_WRITE)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_WRITE"));
}
else if (ST_ErrorCode == STPOD_ERROR_READ)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_READ"));
}
else if (ST_ErrorCode == STPOD_CIS_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_CIS_ERROR"));
}
else if (ST_ErrorCode == STPOD_ERROR_RESET)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_RESET"));
}
else if (ST_ErrorCode == STPOD_INTERNAL_ERROR)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_INTERNAL_ERROR"));
}
else if (ST_ErrorCode == STPOD_ERROR_IIR_SET)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_IIR_SET"));
}
else if (ST_ErrorCode == STPOD_ERROR_BAD_DRIVER)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD DEVICE NOT PRESENT"));
}
else if (ST_ErrorCode == STPOD_ERROR_EVENT_UNREGISTER)
{
STTBX_Report((STTBX_REPORT_LEVEL_ERROR, "STPOD_Init()=%s",
"STPOD_ERROR_EVENT_UNREGISTER"));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -