瀏覽代碼

CRC ERROR CODE

PYJ 4 年之前
父節點
當前提交
6acc3531bd

+ 2 - 2
.settings/language.settings.xml

@@ -4,7 +4,7 @@
4 4
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
5 5
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
6 6
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
7
-			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="1395387303521902045" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
7
+			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="-190117911751186495" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8 8
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
9 9
 				<language-scope id="org.eclipse.cdt.core.g++"/>
10 10
 			</provider>
@@ -14,7 +14,7 @@
14 14
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
15 15
 			<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
16 16
 			<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
17
-			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="1395387303521902045" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
17
+			<provider class="com.atollic.truestudio.mbs.GCCSpecsDetectorAtollicArm" console="false" env-hash="-190117911751186495" id="com.atollic.truestudio.mbs.provider" keep-relative-paths="false" name="Atollic ARM Tools Language Settings" parameter="${COMMAND} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
18 18
 				<language-scope id="org.eclipse.cdt.core.gcc"/>
19 19
 				<language-scope id="org.eclipse.cdt.core.g++"/>
20 20
 			</provider>

+ 4 - 2
Bluecell_Inc/Bluecell_operate.h

@@ -202,7 +202,7 @@ typedef enum{
202 202
     Serial_Number,
203 203
     Manufacture,
204 204
     Manufacture_Date,
205
-    ENVIRONMENT_INVENTORY_NULL0,
205
+    Temp_Shutdown_Path_ON_OFF,
206 206
     Freq_ID,
207 207
     Carrier_ID,
208 208
     Carrier_ON_OFF,
@@ -1042,7 +1042,9 @@ typedef struct{
1042 1042
     int8_t MBIC_TEMP_UL_P3_Level_Table_Length;
1043 1043
     int8_t MBIC_TEMP_UL_P4_Level_Table_Length;
1044 1044
     uint8_t DL_Det_ALL_Offset;
1045
-    int8_t UL_Det_Path_Offset[4];
1045
+    uint8_t MBIC_Download_Auto_Restart_Set;    
1046
+    uint8_t Path_TempSave_Bit;/*DL1 / DL 2 /DL3 /DL4 /UL1/UL2/UL3/UL4*/
1047
+    int8_t UL_Det_Path_Offset[2];
1046 1048
     uint8_t bluecell_crc_H;
1047 1049
     uint8_t bluecell_crc_L;
1048 1050
     uint8_t bluecell_etx;

File diff suppressed because it is too large
+ 728 - 77
Bluecell_Src/Bluecell_operate.c


+ 19 - 1
Bluecell_Src/MBIC_Bootloader.c

@@ -250,7 +250,9 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
250 250
             data[MBIC_PAYLOADSTART + index++] = data[MBIC_PAYLOADSTART + 3];        
251 251
             /*DOWNLOAD OPTION*/        
252 252
             data[MBIC_PAYLOADSTART + index++] = 1;
253
-            Download_Option = data[MBIC_PAYLOADSTART + 4];
253
+            bluecell_Currdatastatus.MBIC_Download_Auto_Restart_Set 
254
+                = Download_Option 
255
+                = data[MBIC_PAYLOADSTART + 4];
254 256
             /*DOWNLOAD DELAY REQUEST*/
255 257
             data[MBIC_PAYLOADSTART + index++] = 3;
256 258
             /*DOWNLOAD Reserve*/
@@ -466,6 +468,16 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
466 468
             bluecell_Currdatastatus.CPU_Bank2_Image_Version1 = Bank2data[MBIC_BOOT_VERSION + 0];
467 469
             bluecell_Currdatastatus.CPU_Bank2_Image_Version2 = Bank2data[MBIC_BOOT_VERSION + 1];
468 470
             bluecell_Currdatastatus.CPU_Bank2_Image_Version3 = Bank2data[MBIC_BOOT_VERSION + 2];
471
+            if(bluecell_Currdatastatus.MBIC_Download_Auto_Restart_Set == true){
472
+                printf("MBIC_Download_Auto_Restart_Set == true\r\n");
473
+                if(bluecell_Currdatastatus.CPU_Current_Bank == HFR_BANK1_SEL){
474
+                    bluecell_Currdatastatus.CPU_Bank_Select = HFR_BANK2_SEL;
475
+                    printf("Download Bank sel = Bank 2 \r\n");
476
+                }else{
477
+                    bluecell_Currdatastatus.CPU_Bank_Select = HFR_BANK1_SEL;
478
+                    printf("Download Bank sel = Bank 1 \r\n");            
479
+                }
480
+            }
469 481
 
470 482
 
471 483
 //          if(BankNum == HFR_BANK1){
@@ -513,5 +525,11 @@ void MBIC_Bootloader_FirmwareUpdate(uint8_t* data){
513 525
     
514 526
     
515 527
     Uart1_Data_Send(MBIC_Resp ,22 + 3 + index);
528
+    if( cmd == MBIC_Complete_Notice_RSP
529
+        &&bluecell_Currdatastatus.MBIC_Download_Auto_Restart_Set == true){
530
+        HAL_Delay(100);
531
+        NVIC_SystemReset();
532
+    }
533
+
516 534
     MBIC_DataErase_Func(BankNum);
517 535
 }

+ 3 - 3
Bluecell_Src/flash.c

@@ -350,10 +350,10 @@ void Flash_InitRead() // ?占쏙옙湲고븿?占쏙옙
350 350
    
351 351
    
352 352
     }
353
-printf("========================================\r\n");
354
-printf("Bank Sel : %d  CurrBank : %d \r\n",bluecell_Currdatastatus.CPU_Bank_Select,bluecell_Currdatastatus.CPU_Current_Bank);
353
+    printf("========================================\r\n");
354
+    printf("Bank Sel : %d  CurrBank : %d \r\n",bluecell_Currdatastatus.CPU_Bank_Select,bluecell_Currdatastatus.CPU_Current_Bank);
355 355
 
356
-        
356
+            
357 357
     
358 358
 //           pdata = & bluecell_Currdatastatus.CPU_Bank2_Image_Version1;
359 359
 //            for(int i = 0; i < 41; i++)

+ 2 - 2
Inc/main.h

@@ -58,8 +58,8 @@ void Error_Handler(void);
58 58
 extern volatile uint16_t ADC1value[4];
59 59
 extern volatile uint16_t ADC3value[5];
60 60
 
61
-extern uint16_t adc1cnt;
62
-extern uint16_t adc3cnt;
61
+extern uint32_t adc1cnt;
62
+extern uint32_t adc3cnt;
63 63
 
64 64
 extern ADC_HandleTypeDef hadc1;
65 65
 extern ADC_HandleTypeDef hadc3;

+ 1 - 0
Release/.gitignore

@@ -0,0 +1 @@
1
+/Bluecell_Src/

二進制
Release/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.o


+ 2 - 0
Release/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.su

@@ -0,0 +1,2 @@
1
+stm32f1xx_hal_iwdg.c:146:19:HAL_IWDG_Init	16	static
2
+stm32f1xx_hal_iwdg.c:214:19:HAL_IWDG_Refresh	0	static

二進制
Release/STM32F103ZET_JDASMBIC.binary


二進制
Release/STM32F103ZET_JDASMBIC.elf


File diff suppressed because it is too large
+ 3696 - 0
Release/STM32F103ZET_JDASMBIC.hex


File diff suppressed because it is too large
+ 20830 - 0
Release/STM32F103ZET_JDASMBIC.list


File diff suppressed because it is too large
+ 1529 - 698
Release/STM32F103ZET_JDASMBIC.map


二進制
Release/Src/main.o


+ 12 - 11
Release/Src/main.su

@@ -1,11 +1,12 @@
1
-main.c:171:10:ShutdownCnt_Get	0	static
2
-main.c:174:6:ShutdownCnt_Set	0	static
3
-main.c:178:6:Pol_Delay_us	8	static
4
-main.c:188:5:_write	8	static
5
-main.c:200:6:HAL_ADC_ConvCpltCallback	20	static
6
-main.c:406:6:SystemClock_Config	96	static
7
-main.c:241:5:main	104	static
8
-main.c:869:6:DL_Shutdown_Timer	0	static
9
-main.c:894:6:UL_Shutdown_Timer	0	static
10
-main.c:930:6:HAL_TIM_PeriodElapsedCallback	8	static
11
-main.c:1440:6:Error_Handler	0	static
1
+main.c:173:10:ShutdownCnt_Get	0	static
2
+main.c:176:6:ShutdownCnt_Set	0	static
3
+main.c:180:6:Pol_Delay_us	8	static
4
+main.c:190:5:_write	8	static
5
+main.c:202:6:HAL_ADC_ConvCpltCallback	20	static
6
+main.c:356:6:SystemClock_Config	96	static
7
+main.c:259:5:main	104	static
8
+main.c:856:6:DL_Shutdown_Timer	0	static
9
+main.c:881:6:UL_Shutdown_Timer	0	static
10
+main.c:907:6:UL_SelfTestTimer	0	static
11
+main.c:925:6:HAL_TIM_PeriodElapsedCallback	8	static
12
+main.c:1444:6:Error_Handler	0	static

二進制
Release/Src/stm32f1xx_hal_msp.o


+ 9 - 9
Release/Src/stm32f1xx_hal_msp.su

@@ -1,9 +1,9 @@
1
-stm32f1xx_hal_msp.c:75:6:HAL_MspInit	8	static
2
-stm32f1xx_hal_msp.c:101:6:HAL_ADC_MspInit	56	static
3
-stm32f1xx_hal_msp.c:203:6:HAL_ADC_MspDeInit	8	static
4
-stm32f1xx_hal_msp.c:268:6:HAL_I2C_MspInit	32	static
5
-stm32f1xx_hal_msp.c:302:6:HAL_I2C_MspDeInit	0	static
6
-stm32f1xx_hal_msp.c:331:6:HAL_TIM_Base_MspInit	8	static
7
-stm32f1xx_hal_msp.c:353:6:HAL_TIM_Base_MspDeInit	0	static
8
-stm32f1xx_hal_msp.c:378:6:HAL_UART_MspInit	48	static
9
-stm32f1xx_hal_msp.c:510:6:HAL_UART_MspDeInit	8	static
1
+stm32f1xx_hal_msp.c:73:6:HAL_MspInit	8	static
2
+stm32f1xx_hal_msp.c:99:6:HAL_ADC_MspInit	56	static
3
+stm32f1xx_hal_msp.c:201:6:HAL_ADC_MspDeInit	8	static
4
+stm32f1xx_hal_msp.c:266:6:HAL_I2C_MspInit	32	static
5
+stm32f1xx_hal_msp.c:300:6:HAL_I2C_MspDeInit	0	static
6
+stm32f1xx_hal_msp.c:329:6:HAL_TIM_Base_MspInit	8	static
7
+stm32f1xx_hal_msp.c:351:6:HAL_TIM_Base_MspDeInit	0	static
8
+stm32f1xx_hal_msp.c:376:6:HAL_UART_MspInit	56	static
9
+stm32f1xx_hal_msp.c:492:6:HAL_UART_MspDeInit	8	static

二進制
Release/Src/stm32f1xx_it.o


+ 20 - 21
Release/Src/stm32f1xx_it.su

@@ -1,21 +1,20 @@
1
-stm32f1xx_it.c:82:6:NMI_Handler	0	static
2
-stm32f1xx_it.c:95:6:HardFault_Handler	0	static
3
-stm32f1xx_it.c:110:6:MemManage_Handler	0	static
4
-stm32f1xx_it.c:125:6:BusFault_Handler	0	static
5
-stm32f1xx_it.c:140:6:UsageFault_Handler	0	static
6
-stm32f1xx_it.c:155:6:SVC_Handler	0	static
7
-stm32f1xx_it.c:168:6:DebugMon_Handler	0	static
8
-stm32f1xx_it.c:181:6:PendSV_Handler	0	static
9
-stm32f1xx_it.c:194:6:SysTick_Handler	0	static
10
-stm32f1xx_it.c:215:6:DMA1_Channel1_IRQHandler	0	static
11
-stm32f1xx_it.c:229:6:DMA1_Channel4_IRQHandler	0	static
12
-stm32f1xx_it.c:243:6:DMA1_Channel5_IRQHandler	0	static
13
-stm32f1xx_it.c:257:6:DMA1_Channel6_IRQHandler	0	static
14
-stm32f1xx_it.c:271:6:DMA1_Channel7_IRQHandler	0	static
15
-stm32f1xx_it.c:285:6:ADC1_2_IRQHandler	0	static
16
-stm32f1xx_it.c:299:6:TIM2_IRQHandler	0	static
17
-stm32f1xx_it.c:313:6:USART1_IRQHandler	0	static
18
-stm32f1xx_it.c:327:6:USART2_IRQHandler	0	static
19
-stm32f1xx_it.c:341:6:ADC3_IRQHandler	0	static
20
-stm32f1xx_it.c:355:6:TIM6_IRQHandler	0	static
21
-stm32f1xx_it.c:369:6:DMA2_Channel4_5_IRQHandler	0	static
1
+stm32f1xx_it.c:81:6:NMI_Handler	0	static
2
+stm32f1xx_it.c:94:6:HardFault_Handler	0	static
3
+stm32f1xx_it.c:109:6:MemManage_Handler	0	static
4
+stm32f1xx_it.c:124:6:BusFault_Handler	0	static
5
+stm32f1xx_it.c:139:6:UsageFault_Handler	0	static
6
+stm32f1xx_it.c:154:6:SVC_Handler	0	static
7
+stm32f1xx_it.c:167:6:DebugMon_Handler	0	static
8
+stm32f1xx_it.c:180:6:PendSV_Handler	0	static
9
+stm32f1xx_it.c:193:6:SysTick_Handler	0	static
10
+stm32f1xx_it.c:214:6:DMA1_Channel1_IRQHandler	0	static
11
+stm32f1xx_it.c:228:6:DMA1_Channel4_IRQHandler	0	static
12
+stm32f1xx_it.c:242:6:DMA1_Channel5_IRQHandler	0	static
13
+stm32f1xx_it.c:256:6:DMA1_Channel7_IRQHandler	0	static
14
+stm32f1xx_it.c:270:6:ADC1_2_IRQHandler	0	static
15
+stm32f1xx_it.c:284:6:TIM2_IRQHandler	0	static
16
+stm32f1xx_it.c:298:6:USART1_IRQHandler	0	static
17
+stm32f1xx_it.c:312:6:USART2_IRQHandler	0	static
18
+stm32f1xx_it.c:326:6:ADC3_IRQHandler	0	static
19
+stm32f1xx_it.c:340:6:TIM6_IRQHandler	0	static
20
+stm32f1xx_it.c:354:6:DMA2_Channel4_5_IRQHandler	0	static

+ 4 - 4
STM32F103ZET_JDASMBIC.ioc

@@ -181,9 +181,9 @@ NVIC.ADC1_2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
181 181
 NVIC.ADC3_IRQn=true\:0\:0\:false\:true\:true\:6\:true\:true
182 182
 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
183 183
 NVIC.DMA1_Channel1_IRQn=true\:0\:0\:false\:true\:true\:1\:false\:true
184
-NVIC.DMA1_Channel4_IRQn=true\:0\:0\:false\:true\:true\:9\:false\:true
185
-NVIC.DMA1_Channel5_IRQn=true\:0\:0\:false\:true\:true\:10\:false\:true
186
-NVIC.DMA1_Channel7_IRQn=true\:0\:0\:false\:true\:true\:8\:false\:true
184
+NVIC.DMA1_Channel4_IRQn=true\:0\:0\:false\:true\:true\:8\:false\:true
185
+NVIC.DMA1_Channel5_IRQn=true\:0\:0\:false\:true\:true\:9\:false\:true
186
+NVIC.DMA1_Channel7_IRQn=true\:0\:0\:false\:true\:true\:7\:false\:true
187 187
 NVIC.DMA2_Channel4_5_IRQn=true\:0\:0\:false\:true\:true\:4\:false\:true
188 188
 NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
189 189
 NVIC.ForceEnableDMAVector=true
@@ -461,7 +461,7 @@ ProjectManager.StackSize=0x400
461 461
 ProjectManager.TargetToolchain=TrueSTUDIO
462 462
 ProjectManager.ToolChainLocation=
463 463
 ProjectManager.UnderRoot=true
464
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ADC1_Init-ADC1-false-HAL-true,6-MX_ADC3_Init-ADC3-false-HAL-true,7-MX_USART2_UART_Init-USART2-false-HAL-true,8-MX_TIM6_Init-TIM6-false-HAL-true,9-MX_I2C2_Init-I2C2-false-HAL-true,10-MX_IWDG_Init-IWDG-false-HAL-true
464
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_ADC1_Init-ADC1-false-HAL-true,6-MX_ADC3_Init-ADC3-false-HAL-true,7-MX_USART2_UART_Init-USART2-false-HAL-true,8-MX_TIM6_Init-TIM6-false-HAL-true,9-MX_I2C2_Init-I2C2-false-HAL-true,10-MX_IWDG_Init-IWDG-false-HAL-true,11-MX_TIM7_Init-TIM7-false-HAL-true
465 465
 RCC.ADCFreqValue=14000000
466 466
 RCC.ADCPresc=RCC_ADCPCLK2_DIV4
467 467
 RCC.AHBFreq_Value=56000000

+ 26 - 4
Src/main.c

@@ -119,9 +119,9 @@ volatile uint32_t Alarm_DL_Level_TimerOnCnt = 0;
119 119
 volatile uint32_t Alarm_UL_Level_TimerOffCnt = 0;
120 120
 volatile uint32_t Alarm_UL_Level_TimerOnCnt = 0;
121 121
 
122
-
123 122
 volatile uint32_t SelfTestLifeCnt[4] = {0,};
124 123
 
124
+volatile uint32_t ADC_100ms_Cnt = 0;
125 125
 
126 126
 
127 127
 
@@ -197,10 +197,11 @@ int _write (int file, uint8_t *ptr, uint16_t len)
197 197
 
198 198
     return len;
199 199
 }
200
-uint16_t adc1cnt = 0 ;
201
-uint16_t adc3cnt = 0 ;
200
+uint32_t adc1cnt = 0 ;
201
+uint32_t adc3cnt = 0 ;
202 202
 void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
203 203
 {
204
+#if 0 // PYJ.2020.08.07_BEGIN -- 
204 205
     if(hadc->Instance == hadc1.Instance)
205 206
     {
206 207
         if(adc1cnt < ADC_AVERAGECNT){
@@ -219,6 +220,24 @@ void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
219 220
             adc3cnt++;
220 221
         }
221 222
     }
223
+#else
224
+    if(hadc->Instance == hadc1.Instance)
225
+    {
226
+        for(int i = 0; i < 4; i++){
227
+            ADC1valuearray[i][adc1cnt] = ADC1value[i];
228
+        }
229
+        adc1cnt++;
230
+    }
231
+
232
+    if(hadc->Instance == hadc3.Instance)
233
+    {
234
+        for(int i = 0; i < 5; i++){
235
+            ADC3valuearray[i][adc3cnt] = ADC3value[i];
236
+        }
237
+        adc3cnt++;
238
+    }    
239
+
240
+#endif // PYJ.2020.08.07_END -- 
222 241
 }
223 242
 
224 243
 extern void DET_LevelAlarmCheck();
@@ -227,6 +246,8 @@ extern void DET_LevelAlarmCheck();
227 246
 extern void ALC_Function();
228 247
 extern void Boot_LED_Toggle(void);
229 248
 extern void ADC_Check(void);
249
+extern void ADC_Sampling_Func();
250
+
230 251
 uint8_t MBICTest_Firmdata[8]  = {1,2,3,4,5,6,7,8};
231 252
 
232 253
 /* USER CODE END 0 */
@@ -605,7 +626,6 @@ static void MX_IWDG_Init(void)
605 626
   hiwdg.Instance = IWDG;
606 627
   hiwdg.Init.Prescaler = IWDG_PRESCALER_128;
607 628
   hiwdg.Init.Reload = 4095;
608
-
609 629
   if (HAL_IWDG_Init(&hiwdg) != HAL_OK)
610 630
   {
611 631
     Error_Handler();
@@ -918,6 +938,8 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
918 938
       LDTimerCnt++;
919 939
       ALCTimerCnt++;
920 940
       AGCTimerCnt++;
941
+      ADC_Sampling_Func();
942
+      ADC_100ms_Cnt++;
921 943
 //    pdata = &bluecell_Currdatastatus.ATT_UL1_PATH;
922 944
     UL_Shutdown_Timer(DET_Alarm_UL1_Shutdown_Index);
923 945
 //    pdata = &bluecell_Currdatastatus.ATT_UL2_PATH;