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.1package. This package currently targets these SoCs only. You can install this using(CFS) Install Packagefrom the VS Code Command Palette or from the CFS Terminal by running:cfsutil pkg install zephyr/4.3.0-b.1For 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 failedmessage 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.
- When using the MSDK Single Core UART Loopback template on the AD-APARD32690-SL, flashing and running the example results in an
- 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 invscode/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.boardsetting. - If the project is built as Non-Secure (default),
-
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
.cfsconfigfile or go to Config Tools > Open Config File.
- 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
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
- The Analyze Threads GDB Toolbox script is currently not supported on MAX32657 and MAX32658 devices. Running this action may result in errors such as:
- 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 foundwith 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.
- On macOS, when running OpenOCD actions (Erase, Flash, Flash & Run) for MAX32657 / MAX32658, you may see the following error:
-
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 foundThis 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.
-
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. ↩
-
Indicates support for configuration flows in System Planner. Yes = Full support, Partial = Pin Mux only, No = Not supported. ↩
-
Indicates AI Tools support in CodeFusion Studio, including model integration and advanced analysis for embedded AI applications. ↩
-
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. ↩