Skip to content

Releases: analogdevicesinc/VSCode-Maxim

v1.7.0

10 Feb 03:55
Compare
Choose a tag to compare

Compatability

Tested with

The MSDK has been updated with these project files and all examples have been populated.

Change Notes

Remove Component Dependencies

Dependencies on other MSDK installer components have been removed for the VSCode-Maxim component. This allows users to uninstall them without also removing the VSCode-Maxim component (resolves analogdevicesinc/msdk#786).

Increase Remote Timeout for Flash Tasks

The .vscode/flash.gdb scripts now run set remotetimeout 10 to increase the GDB remote timeout.

This should fix error Remote replied unexpectedly to 'vMustReplyEmpty': on some machines (primarily found on linux).

License Update

Update licensing to Apache 2.0

J-Link Support

J-Link support has been improved. Projects should now work with Segger J-Link debuggers out of the box after changing the OpenOCD interface file to jlink.cfg.

"M4_OCD_interface_file":"jlink.cfg"

Updating the VSCode-Maxim component to at least v1.7.0 will install the jlink.cfg file automatically. Otherwise, it is available in the release .zip and should be placed at $MAXIM_PATH/Tools/OpenOCD/scripts/interface/jlink.cfg.

v1.6.2

27 Oct 15:28
Compare
Choose a tag to compare

Compatability

Tested with

The MSDK has been updated with these v1.6.2 project files, and all examples have been populated.

Change Notes

Support for Native Make Binaries on Windows

The primary feature of this release is the settings.json change to support native Make binaries Windows for Windows. See the MSDK October Release Notes for more details.

--- a/.vscode/settings-old.json
+++ b/.vscode/settings.json
@@ -1,6 +1,6 @@
 {
     "terminal.integrated.env.windows": {
-        "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:Make_path};${env:PATH}",
+        "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:MSYS_path}/usr/bin;${config:Make_path};${env:PATH}",
         "MAXIM_PATH":"${config:MAXIM_PATH}"
     },
     "terminal.integrated.defaultProfile.windows": "Command Prompt",
@@ -33,7 +33,8 @@
     "OCD_path":"${config:MAXIM_PATH}/Tools/OpenOCD",
     "ARM_GCC_path":"${config:MAXIM_PATH}/Tools/GNUTools/${config:v_Arm_GCC}",
     "xPack_GCC_path":"${config:MAXIM_PATH}/Tools/xPack/riscv-none-elf-gcc/${config:v_xPack_GCC}",
-    "Make_path":"${config:MAXIM_PATH}/Tools/MSYS2/usr/bin",
+    "Make_path":"${config:MAXIM_PATH}/Tools/GNUTools/Make",
+    "MSYS_path":"${config:MAXIM_PATH}/Tools/MSYS2",

     "C_Cpp.default.includePath": [
         "${workspaceFolder}",

RISC-V Debug Launch Profiles Update

RISC-V launch profiles GDB (RISC-V) have been updated to use the latest riscv-none-elf-gdb instead of the now deprecated riscv-none-embed-gdb.

--- a/MaximSDK/Inject/.vscode/launch.json
+++ b/MaximSDK/Inject/.vscode/launch.json
@@ -91,15 +91,15 @@
             "externalConsole": false,
             "MIMode": "gdb",
             "linux": {
-                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-embed-gdb",
+                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
                 "debugServerPath": "${config:OCD_path}/openocd",
             },
             "windows": {
-                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-embed-gdb.exe",
+                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb.exe",
                 "debugServerPath": "${config:OCD_path}/openocd.exe",
             },
             "osx": {
-                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-embed-gdb",
+                "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb",
                 "debugServerPath": "${config:OCD_path}/bin/openocd",
             },
             "logging": {

v1.6.1

29 Jun 16:25
Compare
Choose a tag to compare

Compatability

Tested with

The MSDK has been updated with these v1.6.1 project files, and all examples have been populated.

Change Notes

Intellisense Improvements

The VS Code project files now "force include" a project_defines header file in settings.json.

"C_Cpp.default.forcedInclude": [
        "${workspaceFolder}/build/project_defines.h"
    ]

This file is generated by the updated MSDK build system as of the June 2023 MSDK release, and it will be placed in the build folder. (see gcc.mk for implementation details).

This new feature allows the intellisense engine to detect compiler definitions that originate purely from the build system or compiler itself. Previously, these had to be manually added, and VS Code would sometimes assume os-specific compiler flags. Now, the intellisense engine will match the compiled project 1:1.

It should be noted that the updated definitions will only happen after a build has completed.

image

Explicitly Source ~/.zshrc on MacOS

build, clean, and clean-periph have been modified in tasks.json to explicitly source ~/.zshrc before running make commands. This is a workaround to microsoft/vscode#186244.

See "Completing the Installation on MacOS" for MacOS setup instructions. This change ensures that the modifications to ~/.zshrc suggested by the Homebrew install instructions for Make v4+ work for VS Code's tasks. As a side effect, zsh is now the only supported shell for the MSDK. This aligns with Apple's decision to move towards zsh as the default shell.

Update RISCV toolchain

The VS Code project files now come configured for the xPack riscv-none-elf-gcc toolchain v12.2.0-3.1 for RISCV projects, which is available in the MSDK as of the June 2023 release.

Fix Duplicate Array Entries

Some projects had duplicate array entries for include and browse paths. These have now been removed.

Fix Mismatched BOARD Settings

Some projects are listed as pre-configured for specific Board Support Packages. In some cases, the "board" setting in VS Code did not match the BSP enforced by the build system. The project generator has been updated so that all project settings should match the correct BSP out of the box.

v1.6.0

28 Mar 00:20
Compare
Choose a tag to compare

Compatability

Tested with

The MSDK has been updated with these v1.6.0 project files, and all examples have been populated.

Change Notes

Cortex-Debug Support

Improved debugging and peripheral browsing has been added for Arm-core debugging with the addition of an official cortex-debug launch profile.

image

To use this new profile, first install the cortex-debug extension. Then, select the new profile from the launch profile dropdown.

image

Documentation Migration

  • The VSCode-Maxim User Guide has now become a part of the official MSDK User Guide. Documentation will continue to be consolidated into the MSDK User Guide.
  • The wiki info has moved to the MSDK User Guide.

Improvements to Parallel Build Output

  • Build tasks now drive Makefiles properly for parallel builds with the addition of the --output-sync option. Previously, any errors in the build output ran the risk of mangling the terminal output as the parallel build threads attempted to write to the same console, forcing non-parallel recompilation to see the build error. Parallel builds should now be nice and clean. Ex:

image

v1.5.0

21 Nov 19:58
Compare
Choose a tag to compare

** Tested with **

The MSDK has been updated with these v1.5.0 project files, and all examples have been populated.


Change Notes

  • We now have a Wiki

  • The readme has been cleaned up, and some info has moved to the new wiki.

  • Makefile and build system improvements (see Build Configuration for documentation):

    • Projects will now auto-detect source code on VPATH.
    • Added a project.mk to each project easy project-specific customization
    • Improved and documented the available configuration variables.
    • Added SBT integration and set signed builds as default for secure microcontrollers
    • Streamlined library integration with new library toggle switches
    • Configuration variables now behave more consistency across command-line, environment variables, and IDEs
    • Fixed bug that was causing setting LINKERFILE to fail when MAXIM_PATH was set on MSYS2
    • Builds now print binary size and info on completion
  • Debugger improvements:

    • Set the program counter to the Reset_Handler on reset. This improves reset consistency and allows for debugging standard .elf files on secure microcontrollers for development.
  • Build task now runs make instead of make all. This allows projects to override the default make goal if needed (including SBT).

  • Add Segger J-Link debugger support. See this wiki page.

  • Update readme and UG

v1.5.0-beta

17 Aug 23:46
Compare
Choose a tag to compare
v1.5.0-beta Pre-release
Pre-release

Beta release for v1.5.0

These project files have not been pushed out to the SDK yet, but the beta is made available for early adopters.

See the attached assets for v1.5.0-beta project templates, and the new J-Link project template.

Change Notes

  • We now have a Wiki!

  • The readme has been cleaned up a bit, and some info has moved to the new wiki.

  • Add Segger J-Link debugger support. See this wiki page.

  • Improve reset and flashing compatibility with secure microcontrollers. It's now possible to flash and debug projects on secure micros, effectively bypassing the bootloader for development. Wiki page to come, but this should just work out of the box - no special configuration required.

  • Massive upgrade of the Makefile system. See Makefile and project.mk for more details. Some notable features:

    • Auto-detection of source code (no more SRCS += ... required)
    • Streamlined library integration with new library toggle switches
    • Improved documentation of "API" variables with easy project.mk access-point
  • Update readme and UG

v1.4.3

02 Aug 01:03
8558542
Compare
Choose a tag to compare

Tested with

Change Notes

  • Add "flash & run" utility task
  • Fix bug in OpenOCD utility task searching the wrong directory
  • Add "flash erase" utility task
  • Update readme

Supported Microcontrollers:

  • MAX32520
  • MAX32570
  • MAX32572
  • MAX32650
  • MAX32655
  • MAX32660
  • MAX32665
  • MAX32670
  • MAX32672
  • MAX32675
  • MAX32680
  • MAX32690
  • MAX78000
  • MAX78002

v1.4.2

16 May 18:45
ad624c3
Compare
Choose a tag to compare

Tested with

Change Notes

  • Improve debugger documentation in readme
  • Add note to readme to only use forward slashes / in MAXIM_PATH
  • Fix bug in RISC-V launch profile pointing to wrong toolchain

Supported Microcontrollers:

  • MAX32520
  • MAX32570
  • MAX32650
  • MAX32655
  • MAX32660
  • MAX32665
  • MAX32670
  • MAX32672
  • MAX32675
  • MAX32680
  • MAX32690
  • MAX78000
  • MAX78002

v1.4.1

25 Apr 20:25
Compare
Choose a tag to compare

Tested with

Change Notes

  • Use "cmd" as the default terminal on Windows. This fixes a bug on Windows that causes the "flash" build task to fail. If you experience an error similar to the one below after running "flash" ensure that you have the default terminal profile set to "command prompt", not "powershell". As of v1.4.1 this will be the default setting on Windows in the VSCode-Maxim project files. Powershell parses the flash task incorrectly and should not be used.
Excess command line arguments ignored. (MAXxxxx.cfg)
C:/MaximSDK/Tools/OpenOCD: Is a directory.
C:\Users\Jake.Carter\codespace\Hello_World/cmsis-dap.cfg: No such file or directory.
The target architecture is set to "armv7e-m".
Missing argument 0 in user function.
The terminal process "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command arm-none-eabi-gdb --cd="C:\Users\Jake.Carter\codespace\Hello_World" --se="build/Hello_World.elf" --symbols=build/Hello_World.elf -ix="C:\Users\Jake.Carter\codespace\Hello_World/.vscode/flash.gdb" --ex="flash_m4 C:/MaximSDK/Tools/OpenOCD cmsis-dap.cfg MAX78002.cfg" --batch" terminated with exit code: 1.
  • Update readme

Supported Microcontrollers:

  • MAX32520
  • MAX32570
  • MAX32650
  • MAX32655
  • MAX32660
  • MAX32665
  • MAX32670
  • MAX32672
  • MAX32675
  • MAX32680
  • MAX32690
  • MAX78000
  • MAX78002

v1.4.0

12 Apr 16:44
39f9265
Compare
Choose a tag to compare

Tested with

Change Notes

  • Add support for MacOS
  • Major changes to installation procedure.
    • System-wide environment variable setup is no longer necessary.
    • MAXIM_PATH has moved to global user settings.json file.
    • This project is now fully integrated into the MaximSDK installer.
  • Major changes to toolchain integration
    • Arm and RISC-V GCC have been upgraded.
      • Arm GCC is now v10.3
      • RISC-V GCC is now 10.2.0-1.2
    • MSYS support has been upgraded from MSYS1 to MSYS2, which improves build speed and resolves memory error when building the Cordio library
  • Include paths, browse paths, and compiler definitions have moved into settings.json

The MaximSDK installer is now the preferred way to get this project, but working through the installation procedure is still required for first-time setup.

Supported Microcontrollers:

  • MAX32520
  • MAX32570
  • MAX32650
  • MAX32655
  • MAX32660
  • MAX32665
  • MAX32670
  • MAX32672
  • MAX32675
  • MAX32680
  • MAX32690
  • MAX78000
  • MAX78002