Version 8.22a
Build
- Remove struct timeval from time.h.
- Updated segger-ld to version 4.44.01.
Version 8.22
Build
- Updated segger-cc compiler to version 18.1.6
- Updated segger-ld to version 4.44.00.
- Remove redundant ARM/Thumb Interworking project property.
Debug
- Updated J-Link software to version V8.10l.
Editor
- Clicking on a symbol with Ctrl key pressed will now go to definition.
- Clicking on a #include filename with Ctrl key pressed will now open the include file.
- Clicking on a link with Ctrl key pressed will now open link.
- Added Link color scheme entry.
- Fixed XML syntax colorer not highlighting single quote strings.
- Fixed tooltips being displayed when hovering over tabbed spaces.
- Go To Definition, Go To Declaration and Find References now use the selection start position rather than the current cursor position if a range is selected.
IDE
- Added Windows > Memory > Selecting Modifies Start Address environment option.
- Added Environment > User Interface > Default Document Markup Language Operation environment option and made the default value View.
- Added support for viewing Markdown files.
- Renamed Transcript output view to Build.
Version 8.20
Build
- Updated segger-cc compiler to version 18.1.5
- Add support for std::chrono::steady_clock::now using a user supplied clock_gettime function.
- Fix DeviceName macro not defined when using emBuild.
Debug
- Add Memory Simulation Words and Memory Simulation Half Words to simulator project properties and equivalent options to command line simulator.
- Fixed debugger locating to 64-bit PC addresses.
- Improve disasssembly at the boundary of restricted address ranges.
- Updated J-Link software to version V8.10h.
Editor
- Fixed crash after using File > Save and Close.
IDE
- Fixed find and replace window results being truncated under certain circumstances.
- Find Extras > Find in Solution, Find Extras > Find in Project and Find Extras > Find in Document now focus the find and replace window if no editor text is selected.
- Added copy actions to find windows.
Version 8.18
Build
- Updated segger-cc compiler to version 18.1.3
- Fixed riscv32-none-elf gcc not renaming .sbss and .sdata sections when Code > Section > Zeroed Section Name and Code > Section > Data Section Name properties are modified.
- Fixed compiler driver overwriting the linker symbols that control printf/scanf/heap/stack linkage when using the gnu linker.
- Fixed not supplying the linker symbols that control printf/scanf/heap/stack linkage to compiler driver when using the segger linker.
- Fixed crash importing EWARM/MDK-ARM projects generated by STM32CubeMX.
- Updated segger-rtl to version 4.28.05.
- Updated segger-ld to version 4.40.00.
Debug
- Added TargetInterface.setBytes, TargetInterface.setMultUint16 and TargetInterface.setMultUint32 target script functions.
- Updated J-Link software to version V8.10.
Editor
- Added Class, Enum, Enum Member, Macro, Type and Variable color scheme entries.
- Fixed C++ member initializers being syntax colored as function calls.
- Added Light Modern, Light High Contrast, Dark Modern and Dark High Contrast color schemes.
- Fixed removal of bookmarks when deleting lines.
- Fixed C preprocessor highlighting not updating when definitions are modified by changing a property group value.
IDE
- Fixed replace in files not replacing all instances of search string.
- Fixed missing icons when using dark theme.
Version 8.16
Build
- Fix not always displaying error messages in windows builds that terminate on error.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 13.3.Rel1 source release (Arm only).
- Updated segger-rtl to version 4.28.03.
- Fixed update of interleaved source text in disassembly after build.
- Updated segger-ld to version 4.38.13.
- Add Thread Model and DSO Handle Value project properties.
- Build log removes nodes that don't have messages and puts Notes and Includes under the relevant node.
Debug
- Fixed simulation of RISC-V rev8 instruction.
- Add support for 64-bit addresses in ARM64 and RISC-V 64 projects.
- Updated J-Link software to version V7.98c.
Editor
- Fixed code format of selected text formatting one line beyond the end of selection.
- Fixed incorrect clipping of diagnostic highlights when scrolled horizontally off screen to the left.
- Fixed replace all in block selection when selection has been made from bottom left to top right.
- Fixed incorrect positioning of inline diagnostics when line contains tab characters.
- Fixed LSP operations failing after deleting a range that extends beyond the end of line or the end of the text document.
- Fixed editor not showing extra lines and columns when scroll bars are hidden.
- Fixed cursor disappearing off screen one character to the right while typing when Text Editor > Cursor Fence > Right Margin is set to 0.
- Fixed editor scrolling left on opening a file when certain screen resolutions and scaling factors are used.
- Improved suggestion selection dialog.
- Added Return or Enter or Tab option to Text Editor > Programmer Assistance > Code Completion Suggestion Selection Key environment option and made this the default value.
- Changed Text Editor > Programmer Assistance > Select First Code Completion Selection environment option default value to No.
- Fixed missing < and > characters in macro definition tooltips.
IDE
- Fixed the finish button not being the default on the last page of the new project dialog.
- Added support for ABGR32, BGR32, BGR565, BGR666, BGR555, BGR888, BGR444, GRAY8, GRAY4 and GRAY2 formats to the frame buffer window.
- Added Show Grid option to the frame buffer window.
- Fixed unreadable text colors in some widgets when using dark theme on certain Linux distributions.
- Added expand and collapse all actions to output window.
Version 8.14
Build
- Updated segger-cc compiler to version 18.1.2
- Reduced path length of library build intermediate files to fix build on Windows machines that don't have LongPathsEnabled.
- Fixed memory_copy and memory_set in ARM64_crt0.s.
- Updated segger-ld to version 4.38.12.
Debug
- Updated J-Link software to version V7.96q.
Editor
- Added Ctrl+Space as the alternative default keyboard shortcut for the EditShowSuggestions command.
- Fixed some LSP operations not working correctly with file paths containing Unicode characters.
- Fixed backspace working incorrectly when the multi-line cursor is enabled and there are collapsed folds above the cursor.
- Fixed incorrect multi-line cursor height if edit deletes a collapsed fold within the multi-line cursor range.
IDE
- Fixed duplicate files being searched in the find and replace window when the search dependencies option is enabled.
Version 8.12
Build
- Updated segger-cc compiler to version 18.1.1
- Add support for assembly file dependencies with .incbin directives.
- Fix use of Memory Segments in preference to Memory Map Files in linker script generation.
- Removed Project Can Build In Parallel project property.
- Fixed undefining __clang__ when used with clang-tidy.
- Add Enable Locales project property.
- Updated segger-ld to version 4.38.11.
- Updated segger-rtl to version 4.26.01.
- Add RISC-V ISA P Extension project property.
- Enable use of std::atomic_*<std::shared_ptr> with a user supplied implementation of __sp_mut.
- Restored Project Can Build In Parallel project property.
- Updated libcxx with 12.0.1 source.
- Updated libcxxabi and libunwind with 18.1.1 source.
Debug
- Fixed setting startup breakpoint when first one fails.
- Fixed Debug > Switch Debug Mode.
- Increase semihosting file access read/write size to 1Mbyte.
- Updated J-Link software to version V7.96j.
Editor
- Fixed editor incorrectly showing code suggestions when typing certain characters.
- Fixed coding assistance features not working with C/C++ files with non-standard file extensions.
- Fixed vertical scroll bar error and warning indicators not updating after a build completes.
- Inactive code highlighting now updates if a definition in an included header has been modified and saved within the IDE.
- Code suggestions are no longer displayed when block selection cursor is enabled.
- Fixed code error highlights not updating after installing a support package that fixes the errors.
- Files without file extensions are now treated as C++ header files.
- Added When Not Debugging option to the Text Editor > Programmer Assistance > Show Inactive Code environment option.
- A code editor will now disable inactive code highlighting for the duration of the current debug session if the inactive code regions do not match the debug information.
- Added Languages > C and C++ > On Type Formatting option. When this option is enabled, the code formatter will be used to format the code as you type.
- Added Languages > JavaScript environment options.
- Added Rename Symbol action.
- Added syntax coloring and code folding support for JSON files.
- Fixed suggestion and signature popup disappearing too soon.
- Improved clangd support for solutions with multiple projects.
IDE
- Fixed launcher not including itself in list of installations.
- Source navigator window now displays hint message when no symbol search filter has been entered.
- Improved resizing behaviour of property editor windows.
Licensing
- Fixed license check against the target device for RISC-V projects.
Version 8.10
What's New
- Single Embedded Studio distribution supporting multiple targets
- Improved code completion and navigation
- In-place error and warning diagnostics as you type
- Quick fix suggestions
- ST-Link support
Build
- Updated segger-cc compiler to version 16.0.8
- Add support for C++ 20 modules.
- Add support for a single project precompiled header file.
- Add support for -Oz with gcc compilers.
- Add None (do not supply) to project properties.
- Add gcc compatible argument processing to command-line compiler driver.
- Fix build checking Memory Map file modification date when Linker Script file is used.
- Fixed C++ floating point classification functions (RISC-V only).
- Changed default Warning Level to Level 2.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 13.2.Rel1 source release (Arm only).
- Updated the RISC-V GCC/BINUTILS tools build to use the GCC 13.2.0/Binutils 2.41 source release (RISC-V only).
- Fixed __cxa_throw and __cxa_rethrow corrupting callee save registers.
- Fixed restoring saved VFP registers on __cxa_throw and __cxa_rethrow (Arm only).
- Fixed C library build of _Zmmul build configurations (RISC-V only).
- Updated the Andes Technology RISC-V GCC/BINUTILS tools build to use the ast-v5_2_1-release-v5 source release (RISC-V only).
- Andes toolchain projects build the library with the Andes toolchain (RISC-V only).
- Updated segger-ld to version 4.38.8.
Debug
- Fixed crash when calling SEGGER_RTT_GetKey() in a tight loop and holding down a key that generates multiple characters.
- Add -count and -trace options to command-line simulator.
- Changed Startup Completion Point to be a stringlist with default changed to __startup_complete;main.
- Add max command line option to instruction set simulator.
- Fixed debugger bitfield display of compiler generated DW_AT_data_bit_offset debug info.
- Add Don't to debugger Start From Entry Point Symbol which doesn't start execution.
- Add Erase All to J-Link project options.
- Updated J-Link software to version V7.94c.
Editor
- Fixed incorrect movement of multi-line cursor when cursor is below a collapsed fold.
- Added Edit > Folding > Collapse Level n Folds menu commands.
- Fixed Text Editor > Visual Appearance > Mate Match Off Screen option.
IDE
- Fixed editor not locating cursor in the centre of the screen when selecting a result in the find window and the cursor is off screen.
- Fixed crash on startup when running on macOS Sonoma.
- Frame buffer window now supports non-word aligned frame widths.
- Fixed incorrect positioning of combo box menus on multi display systems where the displays have been positioned at different offsets (Linux only).
- Outline window now refreshes if file being viewed is reloaded.
Version 7.32
Build
- Updated segger-cc compiler to version 16.0.6
- Updated segger-ld to version 4.38.6.
- Updated segger-rtl to version 4.24.5.
Debug
- Fixed debugger incorrectly accessing VBAR register on Cortex-R devices (Arm only).
- Updated J-Link software to version V7.92a.
IDE
- String list property editor now removes text formatting when pasting.
- Find and replace window now opens editor when locating to a match found in a project file.
- Variable, disassembly and memory window address colors can now be customized using the Address color scheme entry.
- Fixed incorrect positioning of popup menus on multi display systems where the displays have been positioned at different offsets (Linux only).
System Requirements
- Linux versions now require GLIBC 2.27 and CXXABI 1.3.11 or later.
Version 7.30
Build
- Updated segger-cc compiler to version 16.0.3
- Updated segger-rtl to version 4.24.4.
- Add support for Stack Overflow Protection (Arm only).
Debug
- Updated J-Link software to version V7.88g.
Editor
- Fixed Edit > Format command using incorrect start directory for .clang-format file search.
- Fixed cursor positioning when moving cursor by mouse click on Linux.
- C/C++ syntax highlighter now highlights arm_neon.h and arm_mve.h types (Arm only).
- Only one editor will now be opened if the same file is opened from multiple linked locations.
Version 7.22
Build
- Updated segger-ld to version 4.38.5.
- Updated segger-rtl to version 4.24.2.
- Fix segger-cc command line for compilation of arm_mve.h (Arm only).
Debug
- Fixed the V8M simulator not initializing the stack pointer register correctly under certain circumstances (Arm only).
- Add support for ARM64 Simulator debug (Arm only).
- Fixed crash when debug stop is activated during download (Arm only).
- Updated J-Link software to version V7.88c.
Editor
- Added Text Editor > Save > Format On Save environment option.
- The Edit > Format command no longer saves the editor contents prior to running the formatter.
IDE
- Variable, register and memory window value colors can now be customized using the Value and Value Changed color scheme entries.
- Project file is sorted with case insensitivity.
Version 7.20
Build
- Updated segger-cc compiler to version 15.2.5
- Updated segger-rtl to version 4.24.1.
- Updated segger-ld to version 4.38.4.
- The Unaligned Access Support property selects the aligned/unaligned versions of mem/str functions to be linked.
- Fixed Disable Interrupts heap locking support.
- Add support for ARM64 build (Arm only).
Debug
- Fixed editor breakpoints when relative paths have been supplied to segger-cc.
- Fixed editor breakpoints in included source files.
- Fixed always reading the Cortex-M CPUID register on J-Link connect (Arm only).
- Fixed clearing breakpoints that have been stepped to.
- Updated J-Link software to version V7.86h.
- Fixed corrupting MSPLIM/PSPLIM registers on Cortex-M33 devices that do not have TrustZone (Arm only).
- Add support for ARM64 J-Link debug (Arm only).
Editor
- Fixed delimiter matching when there is a string or character literal containing an escaped backslash character between the delimiters.
- Added smart indenting for XML files.
- Added Languages > XML environment options.
- Delete key now unindents when auto indenting is enabled.
- Added preprocessor directive folding.
- Syntax colorer now colors single line doxygen style comments.
- Fixed syntax colorer ignoring the end of a multiline doxygen style comment when it comes after an incomplete command.
IDE
- Fixed find strings not being added to history when operation is started from outside of the find and replace window.
- Fixed opening the frame buffer window's context menu when another window is focused.
- Fixed code completion and code outline window not treating a .h file as a C++ file when used in a C++ project.
Version 7.12
Build
- Updated segger-cc compiler to version 15.2.2
- Fix C++ exception catching (Arm only).
- Removed supplying architecture extensions to Analyze command (RISC-V only).
- Fixed library building in default installation directory on Windows machines that don't have long paths enabled (Arm only).
- Added support for mtvt, mnxti, mintstatus, mscratchcsw and mscratchcswl CSR registers to GNU assembler (RISC-V only).
- Rebuild of Externally Built projects will now run the clean command before the build command.
- Updated segger-ld to version 4.38.2.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 12.2.Rel1 source release (Arm only).
- Add ARMv8.1-M Mainline library builds (Arm only).
- Fix incorrect definition of puts in SEMIHOST (host-formatted) builds.
- Updated the Andes Technology RISC-V GCC/BINUTILS tools build to use the ast-v5_1_1-release-v5 source release (RISC-V only).
- Fixed emScript access to ElfFile class.
Debug
- Fixed modifying double precision floating point registers in registers window (Arm only).
- Fixed modifying double precision VFP registers in registers window (Arm only).
- Fixed incorrectly accessing J-Link secure/non secure registers on devices that don't have secure mode (Arm only).
- Fixed single stepping of V8.1-M loop instructions (Arm only).
- Updated J-Link software to version V7.86a.
- Fixed Debug | Step Over not doing build up to date check.
Editor
- Fixed editor scrolling to the end of the file when Edit > Format inserts lines.
- Added EditToggleHeaderCodeFile command (Ctrl+K,Ctrl+O).
IDE
- Find and replace window will now replace in files not currently being edited.
- Fixed multiple "Project modified externally" dialogs when project has been modified externally and an editor has been modified.
- Fixed the dashboard window's list of recent projects not being immediately updated when a new project is created or a non-existent project is loaded.
- Fixed crash when upgrading from a package version that has been removed from the package repository.
- The package upgrade button now automatically selects the latest package versions in the package manager.
- Added support for ARGB32, RGB32, RGB888, RGB565, RGB666, RGB555, RGB444 and monochrome formats to frame buffer window.
- Added auto-refresh, auto-evaluate, zoom and pixel information tooltip to frame buffer window.
- Fixed clipping of project window columns when using dark theme.
- Added save and copy commands to frame buffer window.
Version 7.10
Build
- Updated segger-cc compiler to version 15.0.1
- Updated segger-ld to version 4.38.0.
- Updated segger-rtl to version 4.22.0.
- The $(StudioDir)/lib directory is now writable, libraries are built from source code as required.
- The SEGGER C++ library package is now supplied as source code and built into the $(StudioDir)/lib directory as required.
- Add support for 0X hexadecimal prefix in debug expressions.
- Add "Supply Input Character Set" and "Supply Execution Character Set" project properties.
Debug
- Updated J-Link software to version V7.82c.
IDE
- Fixed prompt to install missing packages not appearing when manually installing packages and no package list has been downloaded.
Version 6.40
Build
- Updated segger-cc compiler to version 15.0.0
- Fixed External Build handling of embedded quotation marks in preprocessor defines and additional compiler options.
- Add support for Cortex-M85 processor (Arm only).
- Added "Package > Package Directory" solution property.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 11.3.Rel1 source release (Arm only).
- Changed "ARM Library Architecture" project property default to "Default" (Arm only).
- Add support for rv32ea, rv32eac, rv32iac, rv64iac and rv*_Zmmul architectures (RISC-V only).
- Changed "RISC-V ABI" project property default to "Default" (RISC-V only).
- Package libraries now available for Library and Object File project types.
- Updated the LLVM/Clang tools build to use the 15.0.0 source release.
- Fixed "Generate Listing File" when using segger-cc/clang compilers.
- Fixed arm_neon.h so that it can compile with both segger-cc and clang compilers (Arm only).
- Updated the RISC-V GCC/BINUTILS tools build to use the GCC 12.20/Binutils 2.39 source release (RISC-V only).
- Fixed usage of llvm LTO with compiler driver.
- Removed clang and segger-cc-ng binaries from distribution.
- Updated segger-ld to version 4.36.0.
- Updated segger-rtl to version 4.20.0.
Debug
- Add simulator support for primask, basepri registers (Arm only).
- The Restrict Memory Access option applies to backtracing.
- The registers window ABI register group selection is restricted to the value of the ISA project property (RISC-V only).
- Reassigned Alt+F11 to do instruction single step.
- Fixed unsigned decimal and octal display when Show Digit Separator is used.
- Fixed simulation of ARM encoded rev16/revsh instructions (Arm only).
- The secure/non-secure state of Cortex-M23/Cortex-M33 devices is displayed in the status bar (Arm only).
- Add option Show Struct Offsets to variable display windows.
- Add support for duplicate names in locals display.
- Add prompt for array slice in variable display windows.
- Fixed simulator clearing the execution trace on debug go.
- Execution trace window now locates to the last entry by default.
- Fixed incorrect % calculation in Execution profile window when used with J-Link.
- Updated J-Link software to version V7.82.
Editor
- Fixed Edit > Selection > Decrease Line Indent when line is below a collapsed fold.
IDE
- Added parallel download and install to package manager.
- Renamed Add Existing Project to Add Link To Existing Solution.
- Add Environment > Startup > Sort Project File On Save environment option which defaults to Yes.
- Add Import Linker Script action to project explorer context menu.
- Fixed graying of inactive code for header and assembly code files.
- Fixed preprocessor tools to use segger-cc when it is set as the compiler variant (Arm only).
- Add Import CMake Generated Ninja Project to Import Project menu.
Version 6.34
Build
- Updated segger-cc compiler to version 14.2.1
- Updated segger-cc-ng compiler to version 14.92.0
- Fixed Source Navigator/Analyze command lines for libcxx projects.
- Fixed use of "Unwind Tables" with segger-cc compiler.
- Updated the LLVM/Clang tools build to use the 14.0.6 source release.
- Updated segger-ld to version 4.34.2.
- Updated segger-rtl to version 4.18.0.
Debug
- Fixed crash with watch window.
- Fixed crash with quick watch window.
- Fixed registers window displaying registers defined in svd files (RISC-V only).
- Updated J-Link software to version V7.70a.
Editor
- Fixed editor using incorrect file encoding when file is opened when a breakpoint is hit.
IDE
- Fixed license manager not allowing ARM and RISC-V licenses to be installed on one J-Link.
Version 6.32
Build
- Fixed percentage memory used calculation.
- Add "Library Heap Locking" project property.
Debug
- Add Show Digit Separator to variables and registers windows.
- Added Debug > GDB Server > CSR Registers project property (RISC-V only).
- Updated J-Link software to version V7.66c.
Editor
- Multi-line comments can now be folded.
- Fixed removal of editor tooltips when mouse cursor moves away.
- Added collapsed fold preview tooltip.
IDE
- Dark theme is now supported on macOS.
- Fixed crash when continue to debug used with no executable file.
- ANSI escape codes are now removed when copying text to the clipboard from the text build log.
- Add existing file now uses the standard native file open dialog on Windows.
Version 6.30
Build
- Updated segger-cc compiler to version 14.0.1
- Updated segger-cc-ng compiler to version 14.90.1
- The C++ new operator now calls abort() on failure.
- Add "Analyze Command" project properties.
- Changed "ARM Architecture" project property default to "None" (Arm only).
- Changed "RISC-V ISA" project property default to "None" (RISC-V only).
- Fixed quoted zero length command line arguments being discarded when spawning processes.
- Updated the Andes Technology RISC-V GCC/BINUTILS tools build to use the ast-v5_1_0-release-v5 source release (RISC-V only).
- Updated the LLVM/Clang tools build to use the 14.0.0 source release.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 11.2-2022.02 source release (Arm only).
- Stack Usage window now works without linker relocations section.
- Updated segger-rtl to version 4.16.0.
- Updated segger-ld to version 4.34.1.
- Fixed LTO support for big-endian targets.
- Updated default libcxx packages to version 1.06
Debug
- Add simulator support for vcvt[bt].f64.f16/vcvt[bt].f16.f64 instructions (Arm only).
- Fixed simulator not getting memory ranges from memory map file (RISC-V only).
- Updated J-Link software to version V7.64c.
- Added "Trap On Unaligned Memory Access" to simulator project properties (RISC-V only).
- Fixed Step Into debugging start (Arm only).
Editor
- Fixed incorrect column selection when file contains tabs and there are collapsed folds.
- Fixed incorrect syntax coloring after reloading externally edited file.
- Text decoding is now verified when a file is loaded. This can be disabled using the Text Editor > International > Verify Text File Decoding environment option.
- The Text Editor > Visual Appearance > Font Rendering environment option now defaults to Auto.
- Improved detection of proportional width fonts.
- Improved rendering performance of text containing proportional width characters or tab characters.
- Fixed incorrect spacing between lines when using certain fonts and font sizes.
IDE
- Invalid filename characters are now removed when pasting text into the new project/file dialog's name field rather than preventing the paste altogether.
- Fixed disassembly window reload when object file has been modified externally.
- Print preview can now be scrolled using mouse wheel.
- Fixed license manager allowing invalid license activation strings to be installed.
Installer
- Added --full-install and --minimal-install command line options.
Version 6.22
Build
- Updated segger-cc compiler to version 13.2.2
- Fixed static initialization of compressed sections created by segger-ld (RISC-V only).
- Updated segger-rtl to version 2.30.0.
- Updated segger-ld to version 4.16.1.
Debug
- Fixed crash tracing 2 byte address ranges with J-Trace Pro.
- Updated J-Link software to version V7.62b.
- Fixed RTT input on simulator target.
Editor
- Fixed the entering of characters using input method editors (IME).
IDE
- Increased large icon DPI threshold.
- Fixed incorrect width of build log's status column on high DPI displays.
- Progress bar color can now be customized.
- Fixed reading of tools.xml file containing DOS format line breaks.
Licensing
- Fixed crash using the license manager when there is no solution loaded.