Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • Embedded Studio
  • Code Analysis
  • Technology
  • Toolchain
  • Editions
  • License
SEGGER - Embedded Studio Product Icon

Embedded Studio - Code Analysis

Embedded Studio features different means of application analysis, such as memory use display, static stack analysis, and static code analysis. You get all information to improve your application even before you start debugging.

  • Display memory usage
  • Static stack analysis
  • Static code analysis
  • Symbol information windows
  • Code outline browser
Embedded Studio Downloads
  1. 1.Memory Usage
  2. 2.Code Outline
  3. 3.Source Navigator
  4. 4.Symbol Browser
  5. 5.Stack Usage
  6. 6.Static Code Analysis
  7. 7.External Tools

During development or after the source code of an application has been written, it can be helpful to get more information about the code and what the compiler created from it.

You might have memory use requirements and need to check if there would be enough free memory, or you want to see which data structures eat up most of your RAM to locate and improve them, or you want to verify that some symbols or functions are actually in that memory region where you want them to be.

Embedded Studio offers various features and windows that provide you with enough information to analyze your application even before debugging.

Memory Usage

After your application has been successfully built, the log window displays the memory usage for your target device. You can immediately see how much Flash and RAM is used by your application.

The Memory Usage Window goes more into detail to show you where the sections, i.e. code and data, are placed. The memories and its sizes are taken from your device and settings. It displays all memories you configured, such as internal Flash, RAM and also external memories.

embedded studio output memory usage
embedded studio memory usage

Code Outline

embedded studio code outline structure
embedded studio code outline preview

Large source files with hundreds of lines can be complex and hard to understand, which makes locating one function or symbol definition more difficult. The Code Outline Window presents a clear structured outline of your source, which eases navigation through your code. Includes and defines can be grouped in the display, and complex elements can be expanded to show their members. With a single click you can jump to any element.

Source Navigator

Even if your project is modular and well structured, it can be hard to remember where a function or symbol is defined. The Source Navigator provides fast access to all your functions typedefs and variables with a single click. You can also use the quick input of Find Symbol (Alt+Y) and Find Method (Ctrl+M) for even faster navigation.

embedded studio source navigator

Symbol Browser

embedded studio symbol browser

The Symbol Browser provides more insight into the compiled application. You can see how much memory is used by each symbol and where it will end up in your target. Symbols can be grouped in different ways, by source file, section, or type.

Stack Usage

In most cases it is hard to guess how many stack your application or each task will use. The Stack Usage Window does a static stack analysis of your application and shows the stack use of functions and call paths.

embedded studio stack usage

Static Code Analysis

embedded studio static code analysis

A compiler will usually generate warnings for anything that might break your application, such as uninitialized variables. To find further issues which have no immediate effect but might affect performance and to increase your code quality you can run static code analysis on your sources. All findings will be shown in the log to easily navigate to them.

Find out more about the static code analyzer on our Wiki page.

 

External Tools

For further analysis of your code, for example to run a MISRA check on your sources, Embedded Studio features the inclusion of external tools. You can add commands to be executed and run them on your project items. The tool output is shown in the log window, and for tools such as Lint you can jump directly to reported source lines.

embedded studio external tools

More Information

Purchase

  • Pricing

Technology

  • CPU Support
  • System Requirements
  • Installation
  • Build Performance
  • Project Management
  • Compiler
  • Code Editor
  • Code Analysis
  • Debugger
  • SEGGER Semihosting
  • Project Importer

Toolchain

  • SEGGER Compiler
  • SEGGER Linker
  • SEGGER C++ Library

Editions

  • ARM
  • Cortex-M
  • RISC-V
  • PRO Cortex-M
  • PRO Cortex-A/R

License

  • Licensing conditions
  • License Activation

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy

© 2023 SEGGER - All rights reserved.