Привет!
По идеям документа с сайта IAR
https://www.iar.com/support/resources/artic...em-reliability/хочу напрямую смотреть использование стека в процессе выполнения программы
Идея в том, чтобы через таймерное прерывание периодически замерять указатель на автоматическую переменную, и мониторить сколько стека в использовании.
С data stack (CSTACK) все вроде должно получиться без проблем, а вот как получить указатель на текущий RSTACK?
C data stack идея такова -
Код
char *highStack, *lowStack;
int main(int argc, char *argv[])
{
highStack = (char *)&argc;
// ...
printf("Current stack usage: %d\n", highStack - lowStack);
}
void sampling_timer_interrupt_handler(void)
{
char* currentStack;
int a;
currentStack = (char *)&a;
if (currentStack < lowStack) lowStack = currentStack;
}