diff --git a/Firmware/Source/Component/Service_Interval/Service_Interval.c b/Firmware/Source/Component/Service_Interval/Service_Interval.c
index 4322e768e65a30e6c6d0ff0edbd793bf36ddc13f..906530fb91cd5d7f6c1154d477bb2380d82edbda 100644
--- a/Firmware/Source/Component/Service_Interval/Service_Interval.c
+++ b/Firmware/Source/Component/Service_Interval/Service_Interval.c
@@ -70,7 +70,7 @@ void Service_Interval_KL30_Init(Intlib_uint8_t *pMemSpace, Maintain_Init_t *pIni
 
             if ( g_EEPromRead_Cbk != Intlib_NULL )
             {
-                g_EEPromRead_Cbk(( Intlib_uint32_t * )&DataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+                g_EEPromRead_Cbk(( Intlib_uint32_t * )&DataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
                 if ( DataIntervalSave.Flag != 0x7887A55A )
                 {
                     g_IntervalCalc->Interval100m  = pInitData->IntervalKm * 10;
@@ -85,7 +85,7 @@ void Service_Interval_KL30_Init(Intlib_uint8_t *pMemSpace, Maintain_Init_t *pIni
                     DataIntervalSave.TotalTimer    = g_IntervalCalc->CurTimer_1s;
                     if ( g_EEPromWrite_Cbk != Intlib_NULL )
                     {
-                        g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+                        g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
                     }
                 }
                 else
@@ -212,7 +212,7 @@ void Service_Interval_Processing(void)
             DataIntervalSave.MilAfterReset = g_IntervalCalc->MilAfterReset;
             DataIntervalSave.Interval1s = g_IntervalCalc->Interval1s;
             DataIntervalSave.TotalTimer = g_IntervalCalc->CurTimer_1s;
-            g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+            g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
         }
     }
 }
@@ -301,12 +301,12 @@ void Service_Interval_SetKm(Intlib_uint32_t IntervalKm)
         {
             if (g_EEPromWrite_Cbk != Intlib_NULL)
             {
-                g_EEPromWrite_Cbk((Intlib_uint32_t *)&DataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+                g_EEPromWrite_Cbk((Intlib_uint32_t *)&DataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
             }
 
             if (g_EEPromRead_Cbk != Intlib_NULL)
             {
-                g_EEPromRead_Cbk((Intlib_uint32_t *)&ReadDataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+                g_EEPromRead_Cbk((Intlib_uint32_t *)&ReadDataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
             }
 
             if (memcmp(&DataIntervalSave, &ReadDataIntervalSave, sizeof(DataIntervalSave_t)) == 0)
@@ -358,7 +358,7 @@ void Service_Interval_SetDay(Intlib_uint32_t IntervalDay)
 
         if ( g_EEPromWrite_Cbk != Intlib_NULL )
         {
-            g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, sizeof(DataIntervalSave_t) / 4);
+            g_EEPromWrite_Cbk(( Intlib_uint32_t * )&DataIntervalSave, (Intlib_uint16_t)(sizeof(DataIntervalSave_t) / 4));
         }
     }
 }
diff --git a/Firmware/Source/Device/Cmsemicon/BAT32A239/RTE/Tick_Timer/RTE_Tick_Timer_BAT32A239.c b/Firmware/Source/Device/Cmsemicon/BAT32A239/RTE/Tick_Timer/RTE_Tick_Timer_BAT32A239.c
index a4360478b12e969bd1b9ac0a1d53b85bc209e688..5d9cc0300be8549203a57b08f8ddd9b38b20f10c 100644
--- a/Firmware/Source/Device/Cmsemicon/BAT32A239/RTE/Tick_Timer/RTE_Tick_Timer_BAT32A239.c
+++ b/Firmware/Source/Device/Cmsemicon/BAT32A239/RTE/Tick_Timer/RTE_Tick_Timer_BAT32A239.c
@@ -24,7 +24,7 @@ void RTE_Tick_Timer_Start(uint32_t u32Interval, RTE_Tick_Timer_Call_Back_ptr_t p
 		u32Interval = 1UL; 
 	}
 
-	u8Value_us = RTE_TICK_TIMER_CLK_SRC_FREQ/1000000;
+	u8Value_us = (uint8_t)(RTE_TICK_TIMER_CLK_SRC_FREQ/1000000);
   SysTick->LOAD  = u32Interval * u8Value_us;
 	NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL);
 	SysTick->VAL   = 0UL;