Skip to content

2.0.1 Release Notes

Source

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

About this release

CodeFusion Studio 2.0.1 delivers stability improvements, bug fixes, and an expanded set of workspace templates. This release also adds support for the MAX32658 SoC and introduces Zephyr 4.3.0 support for the MAX32657 and MAX32658.

What's new

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

Workspace templates

This release adds 16 new workspace MSDK and Zephyr templates, expanding support for multicore development, AI workloads, and additional peripheral examples.

New MSDK templates

  • Single Core DMA
  • Single Core Hello World (C++)
  • Single Core I2C Scan
  • Single Core ICC
  • Single Core RTC
  • Single Core UART Loopback
  • Dual Core Sync (ARM + RISC-V)

New Zephyr templates

  • ADC Sequence
  • Basic Synchronization
  • Counter Alarm
  • C++ Synchronization
  • Dining Philosophers
  • Hello World (C++)
  • I2C Custom Target
  • LittleFS
  • Watchdog

For details see Supported templates.

Expanded SoC and RTOS support

  • MAX32658 SoC support: CodeFusion Studio now supports the new MAX32658 SoC, including System Planner configuration, Zephyr development, and debug support.
  • Zephyr 4.3.0 support: Added support for Zephyr 4.3.0 on MAX32657 and MAX32658. MAX32657 also continues to support Zephyr 4.2.0.
  • To develop with MAX32657 and MAX32658 on Zephyr 4.3.0, install the zephyr/4.3.0-b.1 package. This package currently targets these SoCs only. You can install this using (CFS) Install Package from the VS Code Command Palette or from the CFS Terminal by running:

    cfsutil pkg install zephyr/4.3.0-b.1
    

    For more details, see Package Manager overview.

Bug fixes

General stability and performance improvements across project setup, AI Tools, System Planner, and Package Manager workflows. Fixes include improved Package Manager error handling, System Planner UI fixes, refinements to AI tools, and a variety of usability and platform compatibility enhancements.

Development platforms and tools

  • Support for Zephyr RTOS 4.2 Get started
    • Added support for Zephyr RTOS 4.3 for MAX32657 and MAX32658
  • Support for the MSDK Get started with MSDK
  • Support for the ADSP-2183x/SC83x SHARC-FX family:
    • Adds build and debug support (Windows only)
    • Supports Pin Mux configuration only in System Planner
    • Requires ADI ICE drivers and the Xtensa SHARC-FX toolchain to be installed
    • See Debugging a SHARC-FX application for details
  • 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.1

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.1 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 processor:

Processor Bare-metal SDK1 Zephyr Config Tools2 AI Tools3 TESA4
MAX32658 No Yes Yes No Yes*

Known issues and limitations

Plugin issues

  • MSDK Single Core UART Loopback template (AD-APARD32690-SL)
    • When using the MSDK Single Core UART Loopback template on the AD-APARD32690-SL, flashing and running the example results in an Example failed message in the UART console. This occurs because the example attempts to transmit on UART0 TX, which the board already uses for console output, causing a signal conflict. This issue will be resolved in the next release by updating the example to use UART2 as the transmit interface.
  • TrustZone workspace creation
    • Manually creating a workspace and enabling TrustZone can lead to build errors in the Non-Secure partition. To avoid this, use the TF-M Secure Partition workspace template in the Workspace Creation Wizard instead of creating the workspace manually.
  • TrustZone / TF-M Secure Partition template debugging limitations (MAX32657 / MAX32658)
    • When debugging the TF-M Secure Partition workspace template on MAX32657 or MAX32658, only the debug configurations that match the project’s security build setting (as defined by cfs.project.board) are supported. By default, the template is built as Non-Secure.

      • If the project is built as Non-Secure (default), "cfs.project.board": "max32657evkit/max32657/ns" is used in vscode/settings.json, and only Non-Secure debug configurations are supported.
      • If the project is built as Secure, set "cfs.project.board": "max32657evkit/max32657". Only Secure debug configurations are supported.

      Important

      Switching between Secure and Non-Secure debug flows requires rebuilding the project with the corresponding cfs.project.board setting.

Tools issues

AI Tools

  • Compatibility Analyzer and Resource Profiling report fails to open correctly
    • If you open the AI Tools tab in System Planner, make no edits, and then click Open Compatibility Report or Open Profiling Report, System Planner closes unexpectedly, leaving only the selected report open. To reopen System Planner, click the .cfsconfig file or go to Config Tools > Open Config File.

Debug and analysis tools

  • GDB Toolbox – Analyze Threads (not supported on MAX32657 / MAX32658)
    • The Analyze Threads GDB Toolbox script is currently not supported on MAX32657 and MAX32658 devices. Running this action may result in errors such as: ERROR: Error analyzing thread...expected string or bytes-like object
  • Zephelin profiler not supported on Zephyr 4.3.0
    • While this latest release adds support for MAX32657 and MAX32658 with Zephyr 4.3.0, the Zephelin profiler remains unsupported on this version. For additional Zephelin profiler limitations, see the 2.0.0 known issues

Debug issues

  • OpenOCD (macOS) No J-Link device found with on-board J-Link only
    • On macOS, when running OpenOCD actions (Erase, Flash, Flash & Run) for MAX32657 / MAX32658, you may see the following error: No J-Link device found. This issue occurs only when neither a PICO nor an external Segger J-Link debugger is attached, and OpenOCD is using the on-board J-Link (J-Link OB-MAX32690-ADI). This behavior is specific to macOS and does not occur when an external debugger is connected.
  • J-Link / OpenOCD: Multiple devices found, specify the desired device

    • When flashing or debugging with J-Link, you may see an error similar to:

      Error: Multiple devices found, specify the desired device
      Info: Found 2 devices:
      Info: Device 0 serial: <serial_0>
      Info: Device 1 serial: <serial_1>
      

      This occurs when more than one J-Link debugger is visible to the host PC (for example, when both the on-board J-Link and an external J-Link are active on MAX32657 / MAX32658 EV kits).

      Disconnect any unused J-Link probes and ensure only one debugger is enabled. On MAX32657 / MAX32658 EV kits, you can also remove the shunt on JP6 to disable the on-board J-Link (J-Link OB-MAX32690-ADI) when using an external debugger. For the recommended jumper configuration when using an external J-Link on MAX32657 / MAX32658 EV kits, see Troubleshooting.

      As an advanced workaround for lab setups where multiple J-Links must remain connected, you can force the tools to select a specific probe in launch.json:

      // OpenOCD configuration
      "openOCDLaunchCommands": [
        "adapter serial <serial_number>"
      ]
      
      // J-Link configuration
      "serialNumber": "<serial_number>"
      

      Replace <serial_number> with the serial number of the desired J-Link device (you can copy it from the error message). For more details, see the OpenOCD and Cortex-Debug documentation.

  • J-Link v11 with OpenOCD: LIBUSB_ERROR_NOT_SUPPORTED

    • When using OpenOCD with the J-Link interface (interface/jlink.cfg) on boards such as MAX32657 / MAX32658 (for example: west flash --runner openocd --no-reset --config "interface/jlink.cfg"), you may see errors similar to the following:

      Warn : Failed to open device: LIBUSB_ERROR_NOT_SUPPORTED
      Error: No J-Link device found
      

      This issue is caused by the J-Link version. Installing Segger J-Link version 12.1 or later resolved the problem and allows OpenOCD to detect and use the probe correctly.

  • 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

See 2.0.0 known issues for other issues.


  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. * For MAX32658, use the MAX32657 USS and UCL examples. ↩