All tools
TOOL 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
SP top ↓ grows down PUSH SP bottom ↑ (overflow guard) OS overhead 0 B ISR frames 0 B Call frames 0 B Margin 0 B Recommended 0 B In words (32-bit) 0 Call depth 8 × 48 B ISR depth 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