添加剩余堆栈监控(menu,LVGL)

This commit is contained in:
吴俊潮 2025-03-31 20:22:19 +08:00
parent 41fbcf2cba
commit f2c6fd09f5
5 changed files with 12980 additions and 12957 deletions

View File

@ -92,6 +92,7 @@ to exclude the API function. */
#define INCLUDE_vTaskDelayUntil 0
#define INCLUDE_vTaskDelay 1
#define INCLUDE_xTaskGetSchedulerState 1
#define INCLUDE_uxTaskGetStackHighWaterMark 1
/* Cortex-M specific definitions. */
#ifdef __NVIC_PRIO_BITS

View File

@ -179,6 +179,7 @@ void StartDefaultTask(void const * argument)
* @param argument: Not used
* @retval None
*/
int16_t lvgl_stack_watch = 0;
/* USER CODE END Header_start_task_lcd */
void start_task_lcd(void const * argument)
{
@ -188,6 +189,7 @@ void start_task_lcd(void const * argument)
{
lv_timer_handler(); //LVGL刷新任务
osDelay(LVGL_BREATHE_INTERVAL);
lvgl_stack_watch = uxTaskGetStackHighWaterMark(NULL);
}
/* USER CODE END start_task_lcd */
}
@ -279,6 +281,7 @@ void start_mux_analog(void const * argument)
* @param argument: Not used
* @retval None
*/
int16_t menu_stack_watch = 0; // Word
/* USER CODE END Header_start_menu */
void start_menu(void const * argument)
{
@ -289,6 +292,7 @@ void start_menu(void const * argument)
{
screen_run();
osDelay(200);
menu_stack_watch = uxTaskGetStackHighWaterMark(NULL);
}
/* USER CODE END start_menu */
}
@ -299,7 +303,7 @@ void start_menu(void const * argument)
* @param argument: Not used
* @retval None
*/
char task_status[255];
//char task_status[255];
/* USER CODE END Header_start_task_monitor */
void start_task_monitor(void const * argument)
{
@ -307,11 +311,10 @@ void start_task_monitor(void const * argument)
/* Infinite loop */
for(;;)
{
vTaskList(task_status);
//串口打印当前各个任务的详细信息
//任务名 状态 优先级 空闲栈 任务号
HAL_UART_Transmit(&huart3, (uint8_t *)task_status, 255, 0xFFFF);
//vTaskList(task_status);
//HAL_UART_Transmit(&huart3, (uint8_t *)task_status, 255, 0xFFFF);
osDelay(3000);
}
/* USER CODE END start_task_monitor */

View File

@ -260,6 +260,16 @@
<WinNumber>1</WinNumber>
<ItemText>RTD,0x0A</ItemText>
</Ww>
<Ww>
<count>21</count>
<WinNumber>1</WinNumber>
<ItemText>lvgl_stack_watch,0x0A</ItemText>
</Ww>
<Ww>
<count>22</count>
<WinNumber>1</WinNumber>
<ItemText>menu_stack_watch,0x0A</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,8 @@ Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlign
Dma.Request0=ADC1
Dma.RequestsNb=1
FREERTOS.FootprintOK=true
FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,configTOTAL_HEAP_SIZE,configUSE_STATS_FORMATTING_FUNCTIONS,configUSE_TRACE_FACILITY,configUSE_IDLE_HOOK
FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,configTOTAL_HEAP_SIZE,configUSE_STATS_FORMATTING_FUNCTIONS,configUSE_TRACE_FACILITY,configUSE_IDLE_HOOK,INCLUDE_uxTaskGetStackHighWaterMark
FREERTOS.Tasks01=defaultTask,-3,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,1,768,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,2,256,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,256,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,2,256,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,3,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,0,512,start_menu,Default,NULL,Dynamic,NULL,NULL;task_monitor,-3,128,start_task_monitor,Default,NULL,Dynamic,NULL,NULL
FREERTOS.configGENERATE_RUN_TIME_STATS=0
FREERTOS.configTOTAL_HEAP_SIZE=17360