Todas as ferramentas
FERRAMENTA IDB-SWE-009
Stack size estimator

Apenas em computador

As ferramentas de engenharia estão disponíveis apenas em ecrãs de computador.

Estimador de tamanho de stack

Tamanho de stack de tarefa / ISR recomendado a partir da profundidade de chamadas no pior caso, tamanho médio de frame, aninhamento de ISR e sobrecarga do SO. Valide sempre contra uma guarda de overflow de stack.

Crescimento da stack recomendado — B
Topo do SP ↓ cresce para baixo PUSH Fundo do SP ↑ (guarda de overflow) Sobrecarga do SO 0 B Frames de ISR 0 B Frames de chamada 0 B Margem 0 B Recomendado 0 B Em palavras (32 bits) 0 Chamadas 8 × 48 B Profundidade de ISR 2 × 96 B
Notas de engenharia

Matemática

  • core = depth × frame + locals
  • isr_total = isr_depth × isr_frame
  • stack = (core + isr_total + os_overhead) × (1 + margin)

Verificação na prática

  • Ative -fstack-usage e os ficheiros .su do linker para obter números reais por função.
  • A stack de tarefas do FreeRTOS é em PALAVRAS (4 B). Converta antes de passar.
  • FPU ativada → +132 B por cada tarefa que use floats.

Resultado

Em tempo real