Browse Source

[debug] add printf freertos heap memory

balbekova 5 năm trước cách đây
mục cha
commit
efae415369
1 tập tin đã thay đổi với 113 bổ sung115 xóa
  1. 113 115
      user/init_task.c

+ 113 - 115
user/init_task.c

@@ -10,7 +10,7 @@
  *******************************************************************************
  */
 #include "init_task.h"
-#include "common_config.h"   
+#include "common_config.h"
 #include "wdg.h"
 #include "usart.h"
 //#include "port_microrl.h"
@@ -68,9 +68,9 @@
 #endif
 
 #include "FreeRTOS.h"
-#include "task.h" 
+#include "task.h"
 
-extern bool dhcp;	
+extern bool dhcp;
 
 /**
   * @brief  Общая структура настроек
@@ -89,168 +89,166 @@ TaskHandle_t xHandleSntpOnceSinhro = NULL;
 
 /**
   * @brief  Задача инициализации. Запускает основные задачи девайса и умирает.
-  * @retval 
+  * @retval
   */
 void InitTask(void *params)
 {
-// -----------------------------------------------------------------------------    
-  InitUSART();
-  log_init(false);
-  ups_megatec_init();
-// -----------------------------------------------------------------------------    
-  //SETTINGS_SetAllDefault();
-  //SETTINGS_Save();
-  SETTINGS_Load();
+// -----------------------------------------------------------------------------
+    InitUSART();
+    log_init(false);
+    ups_megatec_init();
+// -----------------------------------------------------------------------------
+    //SETTINGS_SetAllDefault();
+    //SETTINGS_Save();
+    SETTINGS_Load();
 
-  if(set_mode_jumper()){
-    SETTINGS_SetServiceDef();
-    SETTINGS_Save();
-    log_event_data(LOG_PSW_CHANGE, "Сброс к заводскому");
-  }
-// -----------------------------------------------------------------------------    
-  
-// -----------------------------------------------------------------------------  
+    if (set_mode_jumper()) {
+        SETTINGS_SetServiceDef();
+        SETTINGS_Save();
+        log_event_data(LOG_PSW_CHANGE, "Сброс к заводскому");
+    }
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
 #ifdef USART_DEBUG_ENABLE
-  InitUSART();
- // MICRORL_Init();
-#endif  
-// -----------------------------------------------------------------------------    
+    InitUSART();
+    // MICRORL_Init();
+#endif
+// -----------------------------------------------------------------------------
 
-// -----------------------------------------------------------------------------  
+// -----------------------------------------------------------------------------
 #ifdef LED_ENABLE
-  LED_Init();
-  /* Простая мигалка для подтверждения живучести контроллера */
-  xTaskCreate(vTaskLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-#endif  
-// -----------------------------------------------------------------------------    
-  
-// -----------------------------------------------------------------------------  
-#ifdef BUTTON_ENABLE  
-  BUTTON_Init();
-  xTaskCreate(vTaskButtons, "Buttons", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+    LED_Init();
+    /* Простая мигалка для подтверждения живучести контроллера */
+    xTaskCreate(vTaskLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
 #endif
-// -----------------------------------------------------------------------------    
-  
-// -----------------------------------------------------------------------------    
-#ifdef RTC_ENABLE  
-  TM_RTC_Init(TM_RTC_ClockSource_External);  
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+#ifdef BUTTON_ENABLE
+    BUTTON_Init();
+    xTaskCreate(vTaskButtons, "Buttons", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+#endif
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+#ifdef RTC_ENABLE
+    TM_RTC_Init(TM_RTC_ClockSource_External);
 #endif
-// -----------------------------------------------------------------------------      
-  
+// -----------------------------------------------------------------------------
+
 // -----------------------------------------------------------------------------
 #ifdef UPS_ENABLE
-  xTaskCreate(UPS_Monitor, "UPS_Monitor", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+    xTaskCreate(UPS_Monitor, "UPS_Monitor", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
 #endif
-// -----------------------------------------------------------------------------  
-  
-// -----------------------------------------------------------------------------  
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
 #ifdef DALLAS_SENSOR_ENABLE
     OW_Init();
 #endif
-// -----------------------------------------------------------------------------  
+// -----------------------------------------------------------------------------
 
-// -----------------------------------------------------------------------------    
+// -----------------------------------------------------------------------------
 /* Random number generator */
-  RNG_Init();
-// -----------------------------------------------------------------------------  
+    RNG_Init();
+// -----------------------------------------------------------------------------
 
 // -----------------------------------------------------------------------------
 #ifdef NET_ENABLE
-  ETH_BSP_Config();
-  LwIP_Init();
+    ETH_BSP_Config();
+    LwIP_Init();
 
 #ifdef HTTP_SERVER_ENABLE
-	  HTTP_Init();
+    HTTP_Init();
 #endif
 #ifdef SSL_SERVER_ENABLE
     HTTP_Init();
-	  HTTPS_Init();
-//#define SSL_TASK_PRIO   ( configMAX_PRIORITIES - 3 )
-	   xTaskCreate(ssl_server, "SSL", 24*configMINIMAL_STACK_SIZE, NULL, SSL_TASK_PRIO, NULL);
+    HTTPS_Init();
+    //#define SSL_TASK_PRIO   ( configMAX_PRIORITIES - 3 )
+    xTaskCreate(ssl_server, "SSL", 24 * configMINIMAL_STACK_SIZE, NULL, SSL_TASK_PRIO, NULL);
 #endif
-	   // UDP for net settings 
-	   if(strncmp(sSettings.sFlags.testState, "T2OK", 4)){
-		   xTaskCreate(vTaskTesting, "Testing", 2*configMINIMAL_STACK_SIZE,
-                NULL, tskIDLE_PRIORITY, NULL);
-	   }
-	   else{
-		   UDP_netsetting_init();
-	   }
+// UDP for net settings
+    if (strncmp(sSettings.sFlags.testState, "T2OK", 4)) {
+        xTaskCreate(vTaskTesting, "Testing", 2 * configMINIMAL_STACK_SIZE,
+            NULL, tskIDLE_PRIORITY, NULL);
+    } else {
+        UDP_netsetting_init();
+    }
 #ifdef CLI_ENABLE
     cli_init();
 #endif
 #if defined TELNET_ENABLE
-	   telnet_server_init();
+    telnet_server_init();
 #ifdef SSH_ENABLE
-	   ssh_server_init();
+    ssh_server_init();
 #endif
 #endif
-  
+// -----------------------------------------------------------------------------
+    /* SNTP */
+    SNTP_Init();
+    xTaskCreate(vTaskOnceSynchro, "sntpOnceSinhro", 2 * configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY,
+        &xHandleSntpOnceSinhro);
+    xTaskCreate(vTaskPeriodicSynchro, "sntpPeriodicSinhro", 2 * configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+// -----------------------------------------------------------------------------
 #ifdef SNMP_ENABLE
-  SNMP_Init();
-  xTaskCreate(snmp_trap_tread, "snmpTrapTest", 4*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-#endif	
+    SNMP_Init();
+    xTaskCreate(snmp_trap_tread, "snmpTrapTest", 4 * configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+#endif
 #endif
-  
-// -----------------------------------------------------------------------------      
-/* SNTP */
-  SNTP_Init();
-  xTaskCreate(vTaskOnceSynchro, "sntpOnceSinhro", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandleSntpOnceSinhro);
-  xTaskCreate(vTaskPeriodicSynchro, "sntpPeriodicSinhro", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-// -----------------------------------------------------------------------------  
 
-// -----------------------------------------------------------------------------  
+// -----------------------------------------------------------------------------
 // Прозрачный порт
 #ifdef PORTGW_ENABLE
-  portgw_init();
+    portgw_init();
 #endif
 
-// -----------------------------------------------------------------------------  
+// -----------------------------------------------------------------------------
 // Тестирование
-    
-  // Тест таблицы трапов  
-  //xTaskCreate(vTestTrap, "Trap_test", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-// -----------------------------------------------------------------------------      
 
-// -----------------------------------------------------------------------------        
+// Тест таблицы трапов
+    //xTaskCreate(vTestTrap, "Trap_test", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+// -----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
 #ifdef DEBUG_FREERTOS
-  xTaskCreate(vTaskDebug, "Debug", 800, NULL, tskIDLE_PRIORITY, NULL);
-#endif  
-// -----------------------------------------------------------------------------      
+   xTaskCreate(vTaskDebug, "Debug", 800, NULL, tskIDLE_PRIORITY, NULL);
+#endif
+// -----------------------------------------------------------------------------
+
+    log_event_data(LOG_TURN_ON, " ");
+    /* Контроль успешной загрузки. Сброс флага bootry */
+    /* Сброс флага и сохранение нового значения во флеш памяти происходт после
+       некоторой задержки для запуска всех задач */
+    vTaskDelay(4000);
+
+    SETTINGS_ResetBootTry();
+
+    // Отправка трапа о перезагрузке в случае статического IP
+    /* if (!dhcp)
+       SNMP_SendUserTrap(DEVICE_REBOOTED);
+
+     printf("Hello world\r\n");*/
 
-  log_event_data(LOG_TURN_ON, " ");
-  /* Контроль успешной загрузки. Сброс флага bootry */
-  /* Сброс флага и сохранение нового значения во флеш памяти происходт после
-     некоторой задержки для запуска всех задач */
-  vTaskDelay(4000);
- 
-  SETTINGS_ResetBootTry();
-  
-  // Отправка трапа о перезагрузке в случае статического IP
- /* if (!dhcp)
-    SNMP_SendUserTrap(DEVICE_REBOOTED);
-  
-  printf("Hello world\r\n");*/
-  
-  vTaskDelete(NULL);
-     taskYIELD();
+    vTaskDelete(NULL);
+    taskYIELD();
 }
 
 #ifdef DEBUG_FREERTOS
-static void vTaskDebug(void *pvParameters) 
+static void vTaskDebug(void *pvParameters)
 {
-  char msg[700];
-  for(;;)
-  {
-	/*vTaskList(msg);
-	DBG printf(msg);
-	DBG printf("\n\r\r\n");*/
+    char msg[700];
+    for (;;) {
+        DBG printf("Free memory %d\n\r\r\n", xPortGetFreeHeapSize());
+        DBG vTaskList(msg);
+        DBG printf(msg);
+        DBG printf("\n\r\r\n");
 #if LWIP_STATS
-	stats_display();
-	DBG printf("\r\n\r\n");
+        stats_display();
+        DBG printf("\r\n\r\n");
 #endif
-	vTaskDelay(5000);
-  }   
+        vTaskDelay(5000);
+    }
 }
 #endif