Features
Explore all the features CodeFusion Studio has to offer.
System Planner Configuration Tools dashboard
The System Planner Configuration Tools dashboard centralizes the configuration of cores, memory partitions, peripherals, clocks, and pins. This dashboard simplifies hardware resource management in multi-core SoCs and facilitates the generation of source code to integrate directly into your projects.
Multi-core software development
Manage all your projects with the workspace creation wizard. Create multiple, distinct projects for each core and use the provided tools to streamline development at the system and individual core level.
Heterogeneous multi-core debugging
CodeFusion Studio provides an advanced multi-core debugging environment, allowing developers to debug multiple cores within a single IDE, single debug session, and single hardware debugger. It supports:
- Breakpoints, disassembly, heterogeneous debug, and RTOS thread awareness.
- Multi-architecture debugging, with tools and libraries supporting development across ARM, RISC-V, and other architectures.
Platform agnostic architecture
CodeFusion Studio separates configuration from code generation using an extensible plugin-based architecture. This enables flexibility when selecting RTOS, middleware, and project structures, allowing you to adapt your development workflow without being locked into a specific platform.
- Configuration choices are captured through the GUI and stored in a structured JSON file, ensuring consistency across projects.
- Code generation is executed by command-line plugins, enabling automation and repeatable builds.
- Multiple plugins are available per core (Zephyr, MSDK, etc.), with each exposing custom configuration options specific to the selected environment.
Graphical resource allocation
Manage SOC resource constraints in one place using dedicated graphical interfaces. These interfaces expose the plugin architecture, enabling context-aware settings specific to the selected core and firmware platform
Peripheral Allocation provides a graphical interface to assign and optimize peripheral distribution across cores.
Memory Allocation allows graphical allocation and configuration of memory resources across available cores.
Plugin-based GUI
A flexible, plugin-driven, graphical interface supports multiple RTOS and firmware platforms. Settings defined in the GUI get captured by plugins to generate customized workspaces, projects, and configuration files that align with your development standards, middleware, and coding guidelines. Each plugin exposes adjustable configuration options in the GUI.
ELF file explorer
ELF File Explorer provides a graphical interface to help understand and analyze the contents of ELF files.
- Analyze flash and memory usage in your ELF image:
- Run SQL queries for symbols within in the ELF file:
- Browse through segments, sections, and symbols with the interactive memory map: