-
Notifications
You must be signed in to change notification settings - Fork 2
Image Info
A visual utility used to display static function callgraph, memory usage and memory content over a provided build artifact (i.e. executable, library, object file).
Additionally, if the build stage is set to provide stack usage information (i.e. .su files generated by --fstack-usage option in gcc compiler), the generated callgraph will also display local and global consumed stack plus source location of the symbol from graph. You have following options to load a file into Image Info view:
- Choose a project which already has a built configuration target and use "Load Current Build Artifact Selection" button from this view's toolbar.
- Choose an existing build artifact file (executable, object or library file) and choose "Image Info" option from its context menu.
Once loaded, the view will display two trees: Callgraph and Memory:
Callgraph displays all the function calls in a tree, also displaying additional information:
- Run address
- Depth of call
- Static or dynamic allocation
- Local and global cost (stack allocation)
If a recursive call is identified, the callgraph only displays the second occurrence and marks it with "Recursive" message:
Memory tree displays the identified memories (only for executable, not for object files) with several information:
- Start and end addresses
- Size of the memory
- Occupied and free space plus usage information as %
Each memory contains sections and then symbols, all of them containing various information like:
- Run address
- Load address (only available if map file is available in project)
- Occupied size
NOTE: Some difference might appear comparing sum of all symbols in a section and the size of used space in that section. This is because simply summing symbols is not taking into account padding and alignments.
Once an image is loaded into this view, you have several other options in toolbar for:
- Refresh. Note that refresh operation will consider a built image from the last file selection.
- Sort symbols by name
- For Callgraph only: sort ascending or descending by local or global stack consumption (cost)
- For C++ only: set to display symbols as mangled or demangled form
- Collapse all the expanded nodes.
- Option to strip or to keep assembly symbols from Callgraph. By default, assembly symbols are removed from Callgraph. The symbols are considered as "assembly" if the user is using -fstack-usage to generate stack usage information for the symbols from C/C++ sources, but some symbols from disassembled application are not found in this generated stack usage information.
Use this GitHub Issues section to report ambiguities or problems encountered in this documentation. For MCUXpresso for Visual Studio Code extension issues, feedback or search for solutions and ideas please follow Community page.
Table of contents
Dependency Installation
General
Software Repositories
Project Management
Flash and Debug
Reference Guides
- Getting Started with MIMXRT1060-EVK
- Training Zephyr Getting Started
- TrustZone Examples on LPC55S6x and MCUXpresso SDK
- Multicore Examples on LPC55S6x and MCUXpresso SDK
- SDRAM Examples on RT1060 and MCUXpresso SDK
- Getting Started with MCX using Application Code Hub
- AN14120: Debugging Cortex-M on i.MX 8M, i.MX 8ULP, and i.MX 93
Troubleshooting
Useful links