Skip to content

2.0.0 Release Notes

Source

CodeFusion Studio source can be found on GitHub under tag V2.0.0

About this release

CodeFusion Studio 2.0.0 introduces major enhancements across AI development, debugging, and system configuration tools, with expanded processor and SDK support.

What's new

The following are some of the new features and enhancements introduced in version 2.0.0.

AI tools

This release introduces the first in a growing suite of AI development features for embedded platforms.

  • AI-enabled SoC support: New and existing processors now support AI model deployment through dedicated workspace templates. These include MAX32657, MAX32690, MAX78002, and the ADSP-2183x / SC83x SHARC-FX family. For details, see supported processors and model formats.
  • Embedded AI Tools: Available in System Planner when using supported processors. This tool lets you import supported model files, assign them to cores, configure settings, run compatibility and profiling checks, and generate source code for deployment.
  • CFSAI Command-Line Utility: The cfsai utility provides the same capabilities from the terminal, allowing you to compile models, run compatibility and profiling reports, and integrate analysis into automated workflows.

Debugging tools

  • Core Dump Analysis Tool: A dedicated debug panel in CodeFusion Studio that helps developers analyze core dumps captured during system crashes.
  • GDB Toolbox: Allows you to run default or custom JSON-based GDB scripts to inspect program state and automate debugging during a halted session.

Installation and setup

  • Package Manager: Allows you to download SDKs, toolchains, and plugins on demand from a remote server, simplifying setup and keeping your environment up to date without requiring a full reinstallation.
  • Telemetry: Adds an opt-in dialog on first launch that collects anonymous diagnostics and usage data.

System Planner enhancements

  • Memory Allocation enhancements: Includes an interactive memory bar that lets you create or edit partitions directly from the visual layout. Clicking on an available region prepopulates the form to speed up configuration.
  • Peripheral Allocation enhancements: Provides a more intuitive setup flow—from the moment you allocate a peripheral through to pin assignment and final configuration. Deletion and navigation across core projects are also easier, with visual cues throughout the entire setup flow to guide your actions.
  • Profiling: Adds support for Zephelin profiling in Zephyr-based projects. This feature enables developers to capture runtime and AI inference-level performance data, and prepare captured CTF traces for visualization in the Zephelin Trace Viewer. Profiling can be enabled and configured directly from the System Planner for supported processors.
  • Peripheral configuration support: Adds configuration support for additional peripherals, including Inter-IC Sound Interface (I2S), One-Wire (OWM), and True Random Number Generator (TRNG). Existing peripherals such as ADC, I2C, RTC, SPI, Timers, UART, and WDT remain supported.

Workspace Creation Wizard enhancements

  • Workspace Creation Wizard enhancements: A new guided sidebar shows your progress at every step, making it easier to see where you are in the process. The workspace creation flow has also been streamlined for faster setup. Template selection is now built into the wizard alongside the manual option, so you no longer need to navigate to a separate page. Manual setup has also been simplified, with an intuitive step-by-step sequence that guides you through each core configuration in order. The result is a smoother, faster setup experience with fewer clicks and no extra steps.
  • TrustZone support: Added support for Arm® TrustZone® when creating workspaces for MAX32657. You can enable TrustZone using either the TF-M Secure Partition template or manual configuration.

Development platforms and tools

  • Support for Zephyr RTOS 4.2 Get started
  • Support for the MSDK Get started with MSDK
  • Support for the ADSP-2183x/SC83x SHARC-FX family:
    • Adds build and debug support for SHARC-FX–based devices on Windows.
    • ADI ICE drivers are required to debug SHARC-FX processors using ADI ICE probes.
      • During installation, select the checkbox ADI ICE Drivers (Requires Administrator) to install these drivers.
      • If you skip this option, you can install the drivers later. For details, see Install ICE drivers manually.
    • Requires installation of the Xtensa SHARC-FX toolchain through the Package Manager.
    • For multicore devices such as the ADSP-SC835W, start debugging on the SHARC-FX core first, then attach to the Arm Cortex-M33 core.
    • For additional information, see Debugging a SHARC-FX application.
    • System Planner currently provides Pin Mux configuration only for SHARC-FX devices in this release.
  • Advanced workflow support for Registers-only (bare-metal): A reference plugin that generates low-level MMR initialization code for use in custom toolchains. The option is available when manually creating a MAX32xxx and MAX78xxx supported workspace.
  • Compiler and debug support available for Zephyr (Arm Cortex-M only) and MSDK (Arm Cortex-M and RISC-V) on MAX32xxx and MAX78xxx microcontrollers, and SHARC-FX (ADSP-2183x/SC83x family).

Software component versions installed with CFS 2.0.0

Component Version Notes
Bare-metal ARM toolchain 14.3.Rel1 GCC toolchain for 32-bit Arm® targets
Bare-metal RISC-V toolchain 14.2.0 GCC toolchain for RISC-V targets
MSDK 2.0.0 Part support and examples for MAX32xxx and MAX78xxx microcontrollers
SHARC-FX SDK 3.0.3 SDK for the Cortex-M33 core on SHARC-FX targets
Zephyr RTOS 4.2.0 Real-time operating system for MAX32xxx and MAX78xxx microcontrollers
Zephyr SDK 0.17.4 GCC-based toolchain for 32-bit Arm® development with Zephyr RTOS

Host architecture support

CodeFusion Studio is supported on the following host operating systems:

  • Windows 11 (64-bit)
  • macOS 15 and macOS 26 (ARM64)
  • Ubuntu 22.04 and 24.04 (64-bit)

Earlier or newer OS versions may work but are not officially supported.

Target architecture support

Introduced support for the following processors:

Processor Bare-metal SDK1 Zephyr Config Tools2 AI Tools3 TESA4
MAX32650 Yes Yes Yes No Yes
MAX32657 No Yes Yes Yes Yes
MAX32670 Yes Yes Yes No Yes
MAX32690 Yes Yes Yes Yes Yes
MAX78000 Yes Yes Yes No Partial
MAX78002 Yes Yes Yes Yes No
ADSP-21834 / 21834W Yes No Partial Yes No
ADSP-21835 / 21835W Yes No Partial Yes No
ADSP-21836 / 21836W Yes No Partial Yes No
ADSP-21837 / 21837W Yes No Partial Yes No
ADSP-SC834 / SC834W Yes No Partial Yes No
ADSP-SC835 / SC835W Yes No Partial Yes No

Known issues and limitations

Plugin issues

  • SHARC-FX templates supported on Windows only
    • Workspace templates for ADSP-2183x and ADSP-SC83x processors are supported on Windows only. On macOS and Linux, creating a workspace with these templates is not supported, even if the option appears available.
  • Plugin update from com.analog.project.zephyr41.plugin to com.analog.project.zephyr.plugin
    • Zephyr plugins have been renamed to remove the version suffix. When opening legacy project configuration files, you may see the message:

      Missing Plugin Required.
      Please install `com.analog.project.zephyr41.plugin` in order to continue.
      

      Update the plugin reference in the .cfsconfig file to use the new name (com.analog.project.zephyr.plugin), or create a new workspace using the latest Zephyr 4.2 template.

Installation issues

  • Installer fails due to missing symlink permissions on Windows
    • On Windows, installation can fail with the message Installer Error: Error during installation process. Ensure you have permission to create symbolic links (for example, by enabling Developer Mode) before running the installer.

Installation issues

  • Uninstall does not remove package data
    • Uninstalling CodeFusion Studio 2.0.0 does not remove locally installed packages. To fully reset your environment before reinstalling, see Uninstall CodeFusion Studio.

Tools issues

System Planner

  • External clock pin configuration not emitted in Zephyr projects
    • In Zephyr projects, electrical properties of external clock pins (such as voltage levels or pull resistors) set in the System Planner UI are not written to the generated device tree overlay file. External clock pins in Zephyr projects always use the default options.
  • MAX32670 clock configuration issues in System Planner UI
    • In Zephyr projects:
      • The following configurations are not supported, as Zephyr does not currently support them:
        • Selecting the Always-On Domain Clock for the LPUART peripheral.
        • Selecting the IPO as a clock source for the WDT peripherals.
    • In MSDK and Zephyr projects:
      • Changing the IPO prescaler value is not supported, as there is currently no runtime support to change this value.
      • Selecting the Always-On Domain CLock for the LPTMR peripherals is not supported.
      • Assigning UART peripherals to IBRO as the clock source results in an incorrect baud rate: the actual rate is fixed at 57600 regardless of the configured value (for example, 115200).
  • RTC external clock option missing on MAX32657
    • Although the RTC module supports an external clock source on pin P0.12, this option does not appear in the RTC Clock Source dropdown in Clock Config. This behavior is due to a limitation in Zephyr.
  • External clock functionality limitations
    • Despite the presence of external clock enumeration values in the tmr.h header files, external clock functionality is not implemented for MAX32655, MAX78000, or MAX78002, and is incorrectly implemented for MAX32690 (LPTMRs). This limitation affects both MSDK and Zephyr projects.

AI Tools

  • Spaces in Embedded AI Tool filenames
    • The Compatibilty Checking and Profiling Report generation utilities do not support paths with spaces. Avoid spaces in paths.
  • C/C++ needed to build Tensorflow applications
    • In most non-AI templates (for example, Zephyr Single Core Blinky), the template language is C with main.c. When building a TFLM model - either using Embedded AI Tools or the cfsai build command - C++ is required. Use a supported AI-based template (such as Zephyr Single Core TensorFlow AI Model), otherwise replace main.c with main.cpp or use a C++ wrapper to interact with TensorFlow.
  • AI model assignment in SC83x Single Core template
    • In the Embedded AI Tools tab, you can add and enable AI models on both the SHARC-FX and Arm® Cortex-M33 cores when using the SC83x Single Core (TFLM) template. However, code generation is only supported for the SHARC-FX core in the Single Core template.

Debug and analysis tools

  • Zephelin profiler Prepare CTF trace for visualization (Zephelin) not supported on Windows
    • The Prepare CTF trace for visualization (Zephelin) task is supported on macOS, Linux, and on Windows only when using WSL2 (Windows Subsystem for Linux 2). Running this action on Windows outside of WSL2 displays an error notification indicating that the feature is not supported. To prepare and visualize CTF traces on Windows, run the task from a WSL2 Linux environment instead.
  • Zephelin profiler trace capture error when serial port is in use

    • Running Capture profiler trace (Zephelin) while a serial monitor or terminal is connected to the same UART device can cause the action to fail with the error:

      serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
      

      To resolve the issue, close any serial monitor or other application using the port before starting the capture.

  • Serial port name formatting in VS Code Serial Monitor (macOS)

    • When using Capture Profiler Trace (Zephelin) on macOS, the VS Code Serial Monitor extension may display serial port names with trailing spaces or extra suffixes (for example, - FTDI or - ARM). This can cause connection issues when the port is copied directly into the dialog. Remove any trailing spaces or extra text so the name matches the actual device path (for example, /dev/tty.usbserial-0001). The correct device name can be verified by listing ports in the /dev/ folder.
  • Core Dump Analysis and GDB Toolbox: GDB binary not Python-enabled on macOS

    • On macOS, you may encounter errors such as Error: failed to launch debug session in the GDB Toolbox or Core Dump Analysis if the GDB binary lacks Python support or uses an incompatible Python version. To enable Python-based scripts, complete the following actions:

      1. Install Python 3.10 using Homebrew:

        brew install python@3.10
        

        Python 3.9 and 3.10 are known to be compatible.

      2. Update your launch.json to point to the Python-enabled GDB binary. Each configuration (OpenOCD, J-Link, and Core Dump Analysis) includes a separate osx section.
        Update all three references (if used) to arm-none-eabi-gdb-py, for example:

        "osx": {
            "gdbPath": "${config:cfs.sdk.path}/Tools/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi-gdb-py"
        }
        
      3. Create and build a Zephyr project, then launch a debug session.

      4. Run a supported Python-based script (such as Thread Analyzer) from the GDB Toolbox panel to verify Python scripting is working.
        For instructions on running GDB Toolbox scripts, see Using the GDB Toolbox.

      If the script runs without error, Python support for GDB is correctly configured.

  • Linux: Python environment errors when running GDB Toolbox scripts

    • On some Linux systems, a minimal or broken Python 3.10 installation can cause import errors such as ModuleNotFoundError: No module named '_struct' or _posixsubprocess when launching GDB Toolbox scripts or Core Dump Analysis. Verify your installation and reinstall Python 3.10 to restore missing modules if needed:

      sudo apt install --reinstall python3.10
      
  • Serial monitor fails to open serial port on Linux

    • On Linux, the serial monitor may fail to access /dev/ttyUSB* devices during debugging, showing the message Failed to open the serial port. This occurs when the user account lacks permission to access serial ports. To resolve, add your user to the dialout group and restart the system:

      sudo usermod -aG dialout <username>
      

      Opening VS Code with elevated privileges also avoids the issue, but adding the user to the group is the recommended solution.

Other tools

  • Query execution on Symbol Explorer (ELF File Explorer)
    • The Symbol Explorer page in the ELF File Explorer supports filtering using SQL queries, subject to AlaSQL limitations. For example, queries that select multiple columns with the same name only display the first column. Use column aliases to distinguish repeated fields. Advanced SQL functions (such as conv) are not supported. See AlaSQL for supported features and limitations.

Debug issues

  • Not all debug functionality of the boards is accessible using the Segger J-Link. For a list of supported devices, see the Segger website.
Board Issue Alternatives
MAX32650EVKIT Serial output not available Use MAXPICO debugger if you need serial output
MAX32650FTHR Serial output not available Use MAXPICO debugger if you need serial output
MAX32655FTHR No JTAG connector for direct J-Link connection Use MAXPICO debugger instead
MAX32660EVSYS No JTAG connector for direct J-Link connection Use MAXPICO debugger instead
MAX32666FTHR Serial output not available Use MAXPICO debugger if you need serial output
MAX32670EVKIT J-Link supported, but board does not expose SWD/JTAG pins Use MAXPICO debugger instead
MAX32675CEVKIT Serial output not available Use MAXPICO debugger if you need serial output
MAX32690FTHR Serial output not available Use MAXPICO debugger if you need serial output
APARD32690 Serial output not available Use MAXPICO debugger if you need serial output
MAX78000FTHR Not supported Use MAXPICO debugger instead
  • Restarting a RISC-V debug session fails with an OpenOCD protocol error
    • On MAX32xxx and MAX78xxx evaluation boards, clicking Restart during a RISC-V debug session causes a Protocol error with Rcmd: FC. This is expected behavior and occurs because the RISC-V JTAG port must be re-enabled by the Arm core before reconnecting.
  • RISC-V debug session exits when modifying register values with OpenOCD
    • Editing a core register (such as a0 or a1) in the Variables view during a RISC-V debug session can cause the session to exit unexpectedly when execution is resumed (for example, with Step Over).

  1. Indicates support for bare-metal development workflows in CodeFusion Studio, including the MSDK for MAX32xxx and MAX78xxx microcontrollers, and the ADSP-2183x/SC83x SHARC-FX family. 

  2. Indicates support for configuration flows in System Planner. Yes = Full support, Partial = Pin Mux only, No = Not supported. 

  3. Indicates AI Tools support in CodeFusion Studio, including model integration and advanced analysis for embedded AI applications. 

  4. TESA security support: Yes = Full TESA support including UCL and USS, Partial = UCL support only, No = Not supported.