Index: inc/HalIcc.h
===================================================================
--- /YC3121_SDK/fw/hal/jinghongling/inc/HalIcc.h	(revision 747)
+++ /YC3121_SDK/fw/hal/jinghongling/inc/HalIcc.h	(working copy)
@@ -175,7 +175,8 @@
 --------------------------------------------------------------------------------
 修改信息: 20191111 Cyclie 创建
 *******************************************************************************/
-extern s32 halIccExchangeAPDU(u8 ucCardSlot, u8 *pucSend, u8 uiSendLen, u8 *pucResp, u32 *puiRespLen);
+extern s32 halIccExchangeAPDU(u8 ucCardSlot,u8 *pucSend, u32 uiSendLen, u8 *pucResp,
+                    u32 *puiRespLen);
 
 #ifdef __cplusplus
     }
Index: make/YC3121_hal.uvoptx
===================================================================
--- /YC3121_SDK/fw/hal/jinghongling/make/YC3121_hal.uvoptx	(revision 747)
+++ /YC3121_SDK/fw/hal/jinghongling/make/YC3121_hal.uvoptx	(working copy)
@@ -215,7 +215,7 @@
 
   <Group>
     <GroupName>lib_sdk</GroupName>
-    <tvExp>1</tvExp>
+    <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -735,7 +735,7 @@
 
   <Group>
     <GroupName>HalApp</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
Index: src/HalIcc/halIcc.c
===================================================================
--- /YC3121_SDK/fw/hal/jinghongling/src/HalIcc/halIcc.c	(revision 747)
+++ /YC3121_SDK/fw/hal/jinghongling/src/HalIcc/halIcc.c	(working copy)
@@ -15,15 +15,13 @@
 #include "yc_7816.h"
 #include "yc_7816_T0.h"
 #include "yc_7816_T1.h"
+#include "yc_timer.h"
 
 
 //#############################################################################
 //############################################################## 本地函数和内部声明
 
 
-#define CARD_V_IO_Port GPIOA
-#define CARD_V_IO_Pin  GPIO_PIN_10
-
 /*******************************************************************************
 函数功能: lib return value change to hal return value
 输入参数:
@@ -73,8 +71,7 @@
 *******************************************************************************/
 s32 halIccOpen(u8 ucCardSlot)
 {
-	atr_time_start();
-	crad_in_io_init();
+	ISO7816_IO_Config();
 	return  ICC_SUCCESS;
 }
 
@@ -90,7 +87,7 @@
 *******************************************************************************/
 s32 halIccClose(u8 ucCardSlot)
 {
-	iso7816_close();
+	ISO7816_OperateSelect(ISO7816_DEACTIVE_CARD, ISO7816_VCC_3_3V);
 	return  ICC_SUCCESS;
 }
 
@@ -147,9 +144,9 @@
 	s32 Ret;
 	u8 ATRLen = 0;
 
-	ISO7816_OperateSelect(ISO7816_ACTIVE_CARD);
+	ISO7816_OperateSelect(ISO7816_ACTIVE_CARD, ISO7816_VCC_3_3V);
 	delay_ms(200);
-	ISO7816_OperateSelect(ISO7816_WARM_RESET);
+	ISO7816_OperateSelect(ISO7816_WARM_RESET, ISO7816_VCC_3_3V);
 	Ret = ISO7816_GetAtr(&g_7816Para.aAtr[1], &ATRLen);//get atr data
 
 	if(OK != Ret)
@@ -250,18 +247,18 @@
     halPrintf("<test ICC start>\n");
 	while (1)
 	{
-		if (ICC_SUCCESS != halIccOpen(ICC_USERCARD))
+		if (ICC_SUCCESS != halIccOpen(HAL_ICC_USERCARD))
 		{
 			MyPrintf("IC Card open Faild\n");
 			return;
 		}
 
-		if (halIccDetect(ICC_USERCARD) == ICC_SUCCESS)
+		if (halIccDetect(HAL_ICC_USERCARD) == ICC_SUCCESS)
 		{
-			if (ICC_SUCCESS != halIccPowerUp( ICC_USERCARD, &ATRLen, recvbuf))
+			if (ICC_SUCCESS != halIccPowerUp( HAL_ICC_USERCARD, &ATRLen, recvbuf))
 			{
 				MyPrintf("IC Card PowerUp Faild\n");
-				halMsDelay(500);
+				delay_ms(500);
 				continue;
 			}
 
@@ -282,7 +279,7 @@
 			MyPrintf("\n");
 			delay_ms(2);
 
-			if (ICC_SUCCESS == halIccExchangeAPDU(ICC_USERCARD, ApduCmd, SendLen,recvbuf, &RecLen) )
+			if (ICC_SUCCESS == halIccExchangeAPDU(HAL_ICC_USERCARD, ApduCmd, SendLen,recvbuf, &RecLen) )
 			{
 				MyPrintf("RECVED APDU MESSAGE: \n");
 
@@ -305,7 +302,7 @@
 
 			MyPrintf("success\n");
 			//return ;
-			halMsDelay(2000);
+			delay_ms(2000);
 		}
 		continue;
 	}
