mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-30 12:50:58 +00:00
Add FreeRTOS per-task mem usage reporting
This commit is contained in:
1 parent
76a9853b12
commit
9bcba5db41
8 files changed
+212
-10
No files matched your search
@@ -165,6 +165,7 @@ standard names. */
|
||||
#define USE_CUSTOM_SYSTICK_HANDLER_IMPLEMENTATION 0
|
||||
|
||||
/* USER CODE BEGIN Defines */
|
||||
#define INCLUDE_xTaskGetIdleTaskHandle 1
|
||||
/* Section where parameter definitions can be added (for instance, to override default ones in FreeRTOS.h) */
|
||||
/* USER CODE END Defines */
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
#include "mongoose.h"
|
||||
#include "timers.h"
|
||||
|
||||
/* USER CODE END Includes */
|
||||
|
||||
@@ -95,6 +96,16 @@ void StartDefaultTask(void *argument);
|
||||
|
||||
/* Private user code ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN 0 */
|
||||
size_t app_task_stack_total(TaskHandle_t task) {
|
||||
if (task == (TaskHandle_t) defaultTaskHandle)
|
||||
return (size_t) defaultTask_attributes.stack_size;
|
||||
if (task == xTaskGetIdleTaskHandle())
|
||||
return (size_t) configMINIMAL_STACK_SIZE * sizeof(StackType_t);
|
||||
if (task == xTimerGetTimerDaemonTaskHandle())
|
||||
return (size_t) configTIMER_TASK_STACK_DEPTH * sizeof(StackType_t);
|
||||
return 0; // Add other application tasks here
|
||||
}
|
||||
|
||||
static void log_fn(char ch, void *param) {
|
||||
HAL_UART_Transmit(param, (unsigned char *) &ch, 1, HAL_MAX_DELAY);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
#define MG_HEALTH_HEAP_TOTAL ((size_t) configTOTAL_HEAP_SIZE)
|
||||
#define MG_HEALTH_HEAP_USED (MG_HEALTH_HEAP_TOTAL - xPortGetFreeHeapSize())
|
||||
|
||||
// Per-task totals in bytes
|
||||
size_t app_task_stack_total(TaskHandle_t task);
|
||||
#define MG_HEALTH_TASK_STACK_TOTAL(task) app_task_stack_total(task)
|
||||
|
||||
// Ethernet driver tunables:
|
||||
// #define MG_DRIVER_MDC_CR 4 // RMII MDC clock divider, from 0 to 5
|
||||
// #define MG_TCPIP_PHY_ADDR 0 // PHY address
|
||||
|
||||
Reference in new issue
Block a user