Добавлен функционал анализ памяти задач

This commit is contained in:
cfif 2024-12-18 17:49:29 +03:00
parent c0d617cf89
commit 59f453dd18
3 changed files with 40 additions and 0 deletions

View File

@ -8,5 +8,6 @@
#include "ComandLineInterface.h" #include "ComandLineInterface.h"
int32_t CliCmd_baseCommandHelp(void *env, tCliCmd *cli); int32_t CliCmd_baseCommandHelp(void *env, tCliCmd *cli);
void vTaskGetRunTime(void *env, tCliCmd *cli);
#endif //UVEOS_ON_NATION_CLIPRIVATE_H #endif //UVEOS_ON_NATION_CLIPRIVATE_H

View File

@ -69,6 +69,7 @@ void Cli_Init(
CliRedirectionTable_RecAddStatic(&env->redirectTable, "reboot", (cliCall) CliCmd_CmsisReboot, NULL); CliRedirectionTable_RecAddStatic(&env->redirectTable, "reboot", (cliCall) CliCmd_CmsisReboot, NULL);
CliRedirectionTable_RecAddStatic(&env->redirectTable, "emerTest", (cliCall) CliCmd_EcoolSimulation, CliRedirectionTable_RecAddStatic(&env->redirectTable, "emerTest", (cliCall) CliCmd_EcoolSimulation,
&env->sub.uvEmrgSimInter); &env->sub.uvEmrgSimInter);
CliRedirectionTable_RecAddStatic(&env->redirectTable, "mem", (cliCall) vTaskGetRunTime, NULL);
//Инициализируем поток //Инициализируем поток
InitThreadBlock(env->thread, "Cli", osPriorityNormal); InitThreadBlock(env->thread, "Cli", osPriorityNormal);

38
TasksInfo.c Normal file
View File

@ -0,0 +1,38 @@
//
// Created by cfif on 17.12.2024.
//
#include <stdio.h>
#include <string.h>
#include "CliPrivate.h"
void vTaskGetRunTime(void *env, tCliCmd *cli) {
volatile UBaseType_t uxArraySize, x;
char bufSprintf[512];
uxArraySize = uxTaskGetNumberOfTasks();
TaskStatus_t pxTaskStatusArray[uxArraySize];
uxArraySize = uxTaskGetSystemState((void *) pxTaskStatusArray, uxArraySize, NULL);
uint16_t p = 1;
bufSprintf[0] = '\n';
for (x = 0; x < uxArraySize; x++) {
sprintf(&bufSprintf[p], "%lu\t%d\t%s\n",
pxTaskStatusArray[x].xTaskNumber,
pxTaskStatusArray[x].usStackHighWaterMark,
pxTaskStatusArray[x].pcTaskName);
p = strlen(bufSprintf);
}
CliCmd_Print(cli, bufSprintf, p);
// LoggerStrInfo(LOGGER, LOG_SIGN, env->bufSprintf, strlen(env->bufSprintf));
}