Stack overflow is now a thing of the past.

StackAnalyzer automatically determines the worst-case stack usage of the tasks in your appli­cation. The analysis results are shown as annotations in the call graph and control flow graph.

StackAnalyzer screenshot

Call graph with stack usage annotations

StackAnalyzer screenshot

Control flow graph with stack usage annotations

Features

Why do you need StackAnalyzer?

Stack memory has to be allocated statically by the programmer. Underestimating stack usage can lead to serious runtime errors which can be difficult to find. Overestimating stack usage means a waste of memory resources.

Availability

  • StackAnalyzer for C16x/ST10 supports all 16-bit C16x/XC16x/C16x2 and ST10/Super10 microcontrollers from Infineon and ST. It reads executables in IEEE695 format (.abs) as produced by the TASKING C compiler or executables in OMF166 format as produced by the KEIL compiler.

TASKING
KEIL
  • StackAnalyzer for PowerPC supports all 32-bit PowerPC micropro­ces­sors from Motorola and IBM. It reads executables in .elf format as pro­duced by either of the following compilers:

    • GCC
    • DiabData C compiler from WindRiver
    • GHS ADA compiler
    • GHS C/C++ compiler

DiabData
GCC
Green Hills
  • StackAnalyzer for HC12/HCS12 reads linked binary executables for M68HC12/STAR12/HCS12X microprocessors as produced by the Cosmic C compiler or the Hiware C compiler from Metrowerks.

Cosmic
metrowerks
  • StackAnalyzer for ARM reads binary executables given either as .elf files that have been produced from C source code by the C compiler in the ARM Developer Suite or as .out files in coff format that have been produced from C source by the TI C compiler.

Texas Instruments
ARM
  • StackAnalyzer for H8 reads executables for H8 processors from the H8/300 and H8S/2x00 series given as .abs files in IEEE695 or SRecord file format that have been produced from C source code by the IAR H8 Compiler. If the executable is in SRecord format, StackAnalyzer for H8 may be given a map file containing debug information missing in the executable.

IAR
  • StackAnalyzer also supports the following processor/compiler combi­nations:

    • TMS320C3x/Texas Instruments (TI)
    • NEC V850/GHS (Green Hills)
    • x86 (restricted)/Lynxworks GCC
    • x86rm (realmode)/ic86
    • M68k/GCC
    • M68k/HP68K
    • TriCore/TASKING (Altium)
    • TriCore/HighTec gcc
    • ARC/Metaware
    • NEW: LEON3/GCC
Texas Instruments
TASKING
ARM
Green Hills
GCC

Stack depth/height analysis for further target processors and compilers is currently under development. Please do not hesitate to contact us for more information.

SCADE Suite logo

StackAnalyzer is now also available as an integral part of the SCADE Suite, the market-leading mission and safety-critical embedded-software develop­ment environment from Esterel Technologies. SCADE is the only model-based design solution to offer DO-178B qualified C code generation up to level A, certified IEC 61508 C code generation up to SIL 3 and certified EN 50128 C code generation up to SIL 4. Thanks to StackAnalyzer, SCADE is the first embedded-software development environment worldwide to feature stack usage analysis at the model level.

The bottom line

“When searching for actual products performing stack usage analysis for embedded software, the StackAnalyzer seems to be the most promising (and probably only) choice.”

Volker Barthelmann, University of Erlangen


Top