Releases: analogdevicesinc/msdk
October 2024 Release
Installation
See the "Installation" in the MSDK User Guide for instructions on installing the MSDK via the online installer.
For existing users, see the "Maintenance" section of the User Guide for instructions on updating the MSDK.
Offline installers tagged at this version of the MSDK are available at the bottom of this release page. Note: The offline installers have the same pre-requisites as the online installers that must be met before running.
New Features
Examples
- Add dedicated UART_DMA example to MAX32650, MAX32655, MAX32665, MAX32670, MAX32672, MAX32690, and MAX78000 (#1115) by @ozan956
67ed311dd6
- Add autotest to test Examples for MAX78002 (#1184) by [email protected]
f931c56eb3
- Add 2048 Demo to MAX32655 (#1178) by @sihyung-maxim
53fc0989eb
- Add example allowing firmware updates through HCI for MAX32655 (#1098) by [email protected]
18d0cc049c
- Add MAX32672 ADC + DMA Example Project (#1081) by @BrentK-ADI
f5e5a67b32
- Add SDHC example for MAX32655FTHR (#1079) by @OzgunKanal
a064240432
- Add I2S_DMA_Target example to MAX32690 (#1066) by @ersahatmacaa
db71b80db5
- Add MAX32650 LCD + FreeRTOS Example (#1036) by @BrentK-ADI
d1f60078bf
- Add autotest to test Examples for MAX32690 (#1063) by [email protected]
e78e9ccecd
- Add RTOS Debug Features to MAX78000 FreeRTOSDemo (#962) by @Brandon-Hurst
a5782360bc
- Add Dual Core Sync examples for MAX32690 (#928) by @sihyung-maxim
fd5d5116f7
Build
- Optimize Build Examples Test (#1135) by [email protected]
ada818ef4e
- Trigger Rebuilds in Dual-Core Projects if RISCV Project Content Changes (#1172) by [email protected]
9cca7624c3
- Add --print-memory-usage to linker options (#1117) by @BrentK-ADI
039fabd7e1
- Add Ability to Selectively Introspect Build Variables (#931) by [email protected]
47ac9e535d
Tools
- Add Keil
Project Wizard
App v0.1.0-prerelease (#992) by @sihyung-maxim6a3b1ab339
BLE
- Add placeholder for VS Commands for RSSI and Signal Generation (#1197) by @EricB-ADI
293a2320a3
- Add header file for PAL version. (#1118) by [email protected]
330aef5a9a
- Add User Configurable Duplicate Filtering (#1022) by @BrentK-ADI
9b935d9654
- Add HCI-accessible BLE Stats (#1064) by @EricB-ADI
6ff04ecf17
- Add PRBS15 support to MAX32655, and RSSI calculation in code mode for MAX32690 (#993) by @EricB-ADI
25ca28d50b
- Add WSF-NVM Storage Full Error Handling (#975) by @EricB-ADI
1644294b06
- Add API to check whether a test is actively running (#939) by @EricB-ADI
b2762b6be3
Boards
- Add AD-APARD32690-SL Board Support (#950) by @BrentK-ADI
7a9bcc16b9
CMSIS
- Update CMSIS-DSP Library to v1.16.2 (#1165) by [email protected]
1ce220def6
- Add CMSIS 6.0 support to MAX32657 (#1180) by @ozersa
cc12853835
- Enable SPIXF cache controller (SFCC) in SystemInit for MAX32572 (#930) by @sihyung-maxim
c7dc24619e
MiscDrivers
- Add Ability to Set Pushbutton Polarity (#1166) by [email protected]
159d804416
- Add APS6404 SRAM Drivers (#1095) by [email protected]
3fa3d214e6
- Add API for Setting SDHC Data Width (#1045) by @EricB-ADI
e6474dec89
PeriphDrivers
- Allow info block unlock function be overwritten for MAX32657 (#1213) by @ozersa
469f7f71d9
- Enable System Clock Divide Support for MAX78002 (#1170) by @hfakkiz
5c1a332338
- Add Clock Setter APIs for MAX32690 & MAX78002 Peripherals, Add Dual Mode TMR Support, Add MAX32690 Clock Calibration API for IPO, Add MAX32690 RISCV Clock Setter, CFS Support Functions (#1108) by [email protected]
3f96590c5f
- Enable System Clock Divide Support for MAX32690 (#1078) by @ozersa
a52a937959
- Add PinMux tool supporting functions (#997) by @lorne-maxim
6cb136f68c
- Add SPI v2 support to MAX32690 (#964) by @sihyung-maxim
755e6ffa0d
- Allow Skipping Clock and GPIO Initialization on CAN (#959) by @[email protected]
2ecc1e45a7
- Allow Skipping Clock and GPIO Initialization on I2C, SPI, and UART (#932) by @ozersa
e75ecd7791
ThirdParty
- Add TinyUSB library to MSDK (#1101) by @BrentK-ADI
6b6f2c3e37
- Add USS Library Support (#1102) by [email protected]
98e234ea67
Other
- Add MAX78002 SoC into the Zephyr build system (#1158) by @hfakkiz
d155b3168e
- Enable building zephyr for risc-v targets (#1051) by [email protected]
1d180aa1c9
Bug Fixes
Documentation
- Update MXC_UART_Init return docstring (#1215) by @EricB-ADI
ef6e1115d6
- Fix note on UART for MAX32690 Hello_World example (#1159) by [email protected]
4664d3bad3
- Fix USB README Required Connections for SW2 for MAX32690 (#1155) by [email protected]
98f7b6746a
- Fix Inaccurate SPI Threshold Docstrings (#1096) by [email protected]
428abd6cc6
- Fix More Broken Links (#929) by [email protected]
dd18bc8660
Examples
- Clarify UART capabilities (#1171) by @perkinsmg
74a08bdd0a
- Fix DUTY_CYCLE Functionality for MAX32660 TMR Example (#1131) by [email protected]
9d4af247a0
- Update msdk examples to use PREFIX for toolchain utility (#1088) by @kmccalluADI
7ccf20d53b
- Fix broken checkpoint links in Face Detection Library for MAX78000, MAX78002 Facial Recognition Demos (#1056) by [email protected]
ff8bd531f2
- Fix RF Test RTOS Scheduling Bug (#1011) by @BrentK-ADI
323668c521
- Update CAM02 examples (#963) by @vicloginov
0038d43afc
Build
- Allow Cordio to Build with Custom BSPs (#1209) by @EricB-ADI
ffa42a7689
- Don't update version when working in non-GitHub environments (#1199) by @sihyung-maxim
aee8e41e31
- Fix Cordio Build Error for
BT_VER = 11
(#1013) by [email protected]d01ad7b226
- Fix
-Wstrict-prototypes
warnings (#954) by [email protected]bd92beaab1
- Fix Broken macOS PATH in VS Code, Fix Broken README Links (#934) by [email protected]
ebac5c430c
Tools
- Update Keil support for ECC enabled versions of the MAX32675 (#1001) by @lorne-maxim
187ff74eb7
- Add JLink Flashing support for MAX32670/75 (#966) by @BrentK-ADI
342b204611
BLE
- Add Backwards compatibility for HCI Vendor-Specific opcodes (#1198) by @AbbyWolf-ADI
f4649e2f28
- Separate PHY features and set default Window Widening to 16us (#1130) by [email protected]
c42d977517
- Enable IRQ in PalUartInit (#1134) by @EricB-ADI
7645ef9762
- Add assertion to PalUart init to make sure UART is not being used (#1129) by @EricB-ADI
94edd39552
- Set default TIFS time (#1124) by [email protected]
186bb2c60b
- Fix GCR and SIR register name fixes for BTLE LDO Trim (#1120) by @EricB-ADI
51ec9ada64
- Fix HCI Reset Reference Count when HCI aborted (#1100) by @EricB-ADI
6a13b39e4b
- Add stability fixes for MAX32690 PHY, Enable PAL UART HW Flow Control PAL to fix overflow error, Fix clean.cordio recipe with env variables (#1080) by @EricB-ADI
b47c56e352
- Fix clean.cordio build target (#1083) by [email protected]
8fc1336aef
- Fix build error in OTAS Example (#1071) by @EricB-ADI
4d53dd087b
- Update MAX32665 libphy and fix sys_me14 (#1060) by @EricB-ADI
dbd8bc5e5e
- Upate BLE examples workflow to use CI actions V1.1 (#1032) by @EricB-ADI
601c5e3b72
- Fix Platform build error (#1020) by @EricB-ADI
700e2d32ce
- Fix error in FreeRTOS Timer queue (#1010) by @BrentK-ADI
398ef7a094
- Update PAL_UART to recover from error (#999) by @EricB-ADI
62377a9e4c
- Fix MAX32690 DATC Hardfaulting with enabling ICC (#988) by @EricB-ADI
0665fe09a8
- Fix FreeRTOS-tickless not being properly restored if advertising is off and put into deepsleep (#985) by @EricB-ADI
52174ec453
- Fix PalTimer Calibration boundaries when timer was in between 100ms intervals (#951) by @BrentK-ADI
65259f2d83
Boards
- Configure push buttons with alternate function hyper ram to use VDDIO (#1216) by @EricB-ADI
6041cc9880
- Update MAX78002 examples list for Eclipse project wizard (#1139) by @sihyung-maxim
b2ebb83b9b
CMSIS
- Fix
AFE_ADC_n_CTRL.ref_sel
enum fields and remove deprecated registers (#1069) by @sihyung-maximace41b22ae
- Set CTB clock to max frequency for MAX32572 startup (#1087) by @sihyung-maxim
69cc1f0023
- Fix zephyr build issues (#1030) by @ozersa
daa71f8462
- Declare libc function stubs as weak (#1029) by [email protected]
2e450edadf
- Add GPIOWAKE_IRQn to MAX32675 (#989) by @sihyung-maxim
b71451d3b8
- Reduce Available MAX32670 Flash by 8KB, Reserve Final Page for Bootloader (#968) by [email protected]
8ed11c0d00
MiscDrivers
- Fix Blank MAX78000EVKIT TFT Display (#979) by [email protected]
aad12c74de
- Refactor TFT SPI transmit for tft_ssd2119 (#943) by @ahmetyazicii
31748bc3bb
PeriphDrivers
- Correct HART UART Driver Transmit Bugs (#1207) by [email protected]
979f0889bf
- Replace pow() with left shift in MAX32670 and MAX32672 UART drivers (#1217) by [email protected]
363015232f
- Resize the USN buffer in checksum verification for MAX32655, MAX32662, and MAX32670 (#1192) by @crsz20
0a0614fb06
- Correct pin definitions for BLE chips (#1191) by @EricB-ADI
e27c3cd0c6
- Improve accuracy of timer stop watch (#1187) by @perkinsmg
c8cd2cb029
- Fix UART clock source issues (#1168) by @hfakkiz
df047606ca
- Don't cache TMR clock frequency if locked (#1188) by @perkinsmg
822491ef7a
- Set default osr value (#1164) by @perkinsmg
11dfd2e785
- Fix UART Functional Regression for MAX32670, MAX32672, MAX32675, MAX32657 (#1150) by [email protected]
79af4e9980
- Fix TMR prescaler for revb (#1157) by @perkinsmg
a7230c2471
- Fix I2C DMA Issues When Slave Does Not A...
February 2024 Release
Installation
See the "Installation" in the MSDK User Guide for instructions on installing the MSDK via the online installer.
For existing users, see the "Maintenance" section of the User Guide for instructions on updating the MSDK.
Offline installers tagged at this version of the MSDK are available at the bottom of this release page. Note: The offline installers have the same pre-requisites as the online installers that must be met before running.
New Features
BLE
- Add documentation for vendor specific HCI commands (#812) by @EricB-ADI
- Integrate HCI docs into main Cordio doc (#813) by @EricB-ADI
- Implement RSSI and Phy Enable/Disable in HCI for Cordio HCI (#836) by @EricB-ADI
Build
- Fix broken
make flash.openocd
on Windows + MSYS2 (#876) by @Jake-Carter - Add Compiler Flag for Checking Target Micro (#911) by @Jake-Carter
- Update All Project Files MSDKGen 2-13-2024 (#918) by @Jake-Carter
CMSIS
- Add IAR startup files for MAX32690 (#898) by @sihyung-maxim
Examples
- Add 24LC256 EEPROM driver, add I2C EEPROM example for MAX32655 (#751) by @kenan-balci
- Add AUDIO_Playback Example to MAX32665 (#815) by @ersahatmacaa
- Add new faceID demos for MAX78000, MAX78002 (#837) by @oguzhanbsolak
- Add SPIMSS_DMA example and SPIMSS Master Trans DMA APIs (#840) by @kilicomercan
- Add Ref Trim procedure to MAX32690 ADC Example (#841) by @BrentK-ADI
- Add Action Recognition Demo for MAX78000 and Known Answer Test for MAX78002 (#851) by @alicangok
- Add Power Down Mode to MAX32655 LP Example (#882) by @ahmetalincak
- Add 3 Wire SPI example for MAX32665 (#885) by @kenan-balci
MiscDrivers
- Add 24LC256 EEPROM driver, add I2C EEPROM example for MAX32655 (#751) by @kenan-balci
- Add Ability to Override TS_MAX_BUTTONS for TSC2046 (#790) by @Jake-Carter
- Replace 2.4" TFT fonts with Liberation fonts (#792) by @vicloginov
- Add N01S830HA Drivers for MAX78000FTHR Board (#802) by @Jake-Carter
PeriphDrivers
- Add clock selection feature to WDT (#808) by @hfakkiz
- Allow Skipping Clock and GPIO Initialization on Additional Peripherals (#809) by @ozersa
- Add Ability to Set UART Pin Mapping for MAX32672 (#783) by @Jake-Carter
- Add SPIMSS_DMA example and SPIMSS Master Trans DMA APIs (#840) by @kilicomercan
- Add System Clock Div APIs for MAX32670 and MAX32660 (#857) by @ozersa
- Add System Clock Div APIs for MAX32 MCUs (#873) by @ozersa
SDHC
- Add Ability to Override SDHC_CLK_FREQ (#791) by @Jake-Carter
Fixes
BLE
- Allow advertising updates while advertising (#734) by @EdwinFairchild
- Add declaration for refresh keys function (#764) by @EdwinFairchild
- Fix default PAL_NVM_SIZE, add compiler checks for NVM erase functions (#776) by @EdwinFairchild
- Update documentation regarding BLE_periphs intentional use case (#778) by @EricB-ADI
- Add Parenthesis Around Some Cordio Ternaries (#803) by @Jake-Carter
- Cancel Connection Parameter Update Requests upon max attempts or connection interval agreement (#805) by @EricB-ADI
- Use PRBS15 continuous instead of AA packetized for BLE_fcc example (#822) by @EricB-ADI
- Remove Unused Tools (#768) by @EricB-ADI
- Update Libphy to support MAX32655 RevB (#839) by @EricB-ADI
Boards
- Add default interrupt handlers for the touchscreen (#795) by @Jacob-Scheiffler
- Add GC0308 Camera Drivers, Add MAX78000 CAM02_RevA Board Support Package, Add CAM02 face-detect demo (#842) by @Jake-Carter
- Remove TFT Lib include from the MAX32690 WLP_V1 (no TFT) (#897) by @EricB-ADI
Build
- Fix default PAL_NVM_SIZE, add compiler checks for NVM erase functions (#776) by @EdwinFairchild
- Fix unrecognized option '--no-warn-rwx-segments' on riscv (#793) by @Jake-Carter
- MSDKGen update project files 11-16-2023 (#799) by @Jake-Carter
CMSIS
- Update copyrights in all CMSIS register files (#788) by @sihyung-maxim
- Update OWM_STAT.presence_detect field position [7] for MAX32690 (#794) by @sihyung-maxim
- Properly set RISCV vector table addresses for MAX32655 (#819) by @EricB-ADI
- Fix MAX32690 SRAM Size Calculation (#843) by @ozersa
- Update RTC SEC and SSEC register size (#859) by @ozersa
- Add OVR Correction to SystemCoreClock Calculation for MAX32662, MAX32672, and MAX32675 (#867) by @ahmetalincak
- Fix logic error in SYS Clock Enable/Disable functions and INRO frequency for MAX32662 (#895) by @kilicomercan
Documentation
- Remove Misleading Doxygen Comment for I2C Init (Doesn't Set Speed) (#782) by @Jake-Carter
- Update documentation of MAX78002 CSI2 example (#861) by @vicloginov
- Fix Broken README Links (#909) by @Jake-Carter
Examples
- Fix bug in FaceId RISC-V example (#807) by @vicloginov
- Highlight JP9/JP10 in printfs for MAX32690EVKIT I2C Example (#828) by @Jake-Carter
- Updated wording in FCC Examples (#832) by @EricB-ADI
- Add GC0308 Camera Drivers, Add MAX78000 CAM02_RevA Board Support Package, Add CAM02 face-detect demo (#842) by @Jake-Carter
- Add ADT7420 I2C Sensor Driver and Example for MAX32655EVKIT (#853) by @selimgullulu
- Add ADT7320 Temperature Sensor Driver and Example for MAX32665 (#860) by @ersahatmacaa
- Fix MAX78002 TFT_Demo Example for TFT=ADAFRUIT (#869) by @selimgullulu
- Fix SW number in MAX32670 RTC example and update MAX32655EVKIT examples list (#916) by @kenan-balci
MAXUSB
MiscDrivers
- Add Missing C++ Guards to Camera and Display Files (#827) by @Jake-Carter
- Add GC0308 Camera Drivers, Add MAX78000 CAM02_RevA Board Support Package, Add CAM02 face-detect demo (#842) by @Jake-Carter
- Clear out-of-bounds warnings seen with GCC v13.2 (#852) by @ahmetalincak
- Add ADT7420 I2C Sensor Driver and Example for MAX32655EVKIT (#853) by @selimgullulu
- Add ADT7320 Temperature Sensor Driver and Example for MAX32665 (#860) by @ersahatmacaa
PeriphDrivers
- Fix UART DMA Transactions and Allow for Full Duplex (#763) by @Jake-Carter
- Fix false stop detection in I2C interrupt handler (#765) by @Jacob-Scheiffler
- Update UART Rev. A to support TransactionAsync calls from callback function (#769) by @Jacob-Scheiffler
- Fix typos in SPI Rx Request Select, new SVD file for MAX32690 (#775) by @Vitorbnc
- Add update to force scale select sample to occur with ADC and ADC RefSelect for REVA API (#779) by @EricB-ADI
- Fix OWM Presence Detect Bit and GPIO Alternate Functions, Use VDDIOH by Default (#811) by @ozersa
- Fix MAX32672
MXC_TMR_GetPeriod
for 16-32Mhz Clock (#814) by @Jake-Carter - Fix ADC RevB clock source configurations (#817) by @hfakkiz
- Fix Stuck Timer when PWM is set to 0 (#818) by @ozersa
- Fix MAX32655 WDT clock source order (#820) by @hfakkiz
- Fix TMR Rev B Initialization Bug with Non-Default Clock Sources (#829) by @Jake-Carter
- Fix MAX32675, MAX32680 A5 Silicon AFE Init and Speedups (#830) by @jdk-maxim
- Fix TMR Shutdown Bug, Stop Timer Before Clearing CTRL0 (#834) by @hfakkiz
- Add API to lock Debug Access Port (#845) by @Jacob-Scheiffler
- Add missing timer dual edge capture mode (#846) by @mertekren
- Fix confused usage of wsize and bits_word register fields in I2S driver (#847) by @ahmetalincak
- Add I2C RX FIFO status check to receive more than 256-byte of data for I2C synchronous transactions (#868) by @ahmetalincak
- Update MAX32662 GPIO PAD configuration (#874) by @hfakkiz
- Add GPIO Chip Select Configuration for MAX32665 SPI driver (#877) by @Brandon-Hurst
- Re-order VSSEL selection to avoid possible damages on pads (#880) by @ahmetalincak
- Fix MXC_UART_Shutdown Typo for LPUART0 Pin De-Initialization (#888) by @Jake-Carter
- Fix logic error in SYS Clock Enable/Disable functions and INRO frequency for MAX32662 (#895) by @kilicomercan
- Fix IAR build errors and most warnings for MAX32690 (#899) by @sihyung-maxim
- Remove unused aes_me18.c (#904) by @sihyung-maxim
- Fix SPI RevA1 DMA Bug When Transaction Length is Less Than the FIFO Size (#905) by @Jake-Carter
- Add Missing SEC/MSEC/USEC Utility Macros to MAX32650 (#912) by @Jake-Carter
Other
- Misc fixes from Feb 2024 Release testing (#925) by @Jake-Carter
October 2023 Release
Installation
See the "Installation" in the MSDK User Guide for instructions on installing the MSDK via the online installer.
For existing users, see the "Maintenance" section of the User Guide for instructions on updating the MSDK.
Offline installers tagged at this version of the MSDK are available at the bottom of this release page. Note: The offline installers have the same pre-requisites as the online installers that must be met before running.
What's Changed
API Updates
- fix(Examples)!: Require DMA Channel as Input Argument for ADC DMA Conversions, Fix ADC DMA Transfer Bug for Channels > 0 by @Vignesh-VVadivel in #643
- feat(PeriphDrivers)!: Add support for configuring GPIO Drive Strength by @sihyung-maxim in #673
- feat(Examples,PeriphDrivers)!: Add SPI v2 Target Transaction functions by @sihyung-maxim in #662
(Opt-in) Native Make Support on Windows
Installation
As of #653 Native Make binaries are now available on Windows. This is a new default component, so existing installs must manually add it through the maintenance tool. Fresh installs will install it by default.
Eclipse and VS Code have been updated to look for the native Windows binaries after the MSYS2 binaries to make this an "opt in" feature and preserve compatibility with existing projects.
To opt in to the native binaries on Windows, uninstall the MSYS2 component and install the GNU Make component. Testing showed some incompatibilities having both MSYS2 tools and native Make on the PATH at the same time. Primarily, the colorized output for parallel builds is broken when both are present.
Updating Existing VS Code Projects
The latest .vscode/settings.json
in the MSDK projects have made the following changes to add the binary to the path. Existing projects should make the same change.
--- 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}",
Verification
The following version string can be used to verify the PATH is set up correctly to load the native binaries.
$ make --version
GNU Make 4.4.1
Built for Windows32
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
SDHC Fixes and FatFS Version Upgrade
As of #720 a critical bug in the SDHC library was fixed, which was causing SD cards to be formatted with the incorrect size. Support for FatFS version R0.15 has also been added to enable the exFAT format and higher capacity SDXC cards.
Users who would like to upgrade their projects to R0.15 can use the new FATFS_VERSION
build configuration variable to ff15
. The previous version (R0.13) has been left the default for this release.
FatFS changed the f_mkfs API to accept a format struct. Existing code can make the following change to comply with the new API:
- if ((err = f_mkfs("", FM_ANY, 0, work, sizeof(work))) !=
+ MKFS_PARM format_options = {
+ .fmt = FM_ANY
+ };
+
+ if ((err = f_mkfs("", &format_options, work, sizeof(work))) !=
FR_OK) {
printf("Error formatting SD card: %s\n", FF_ERRORS[err]);
}
New Command-Line Interface Library
- As of #679, a pre-written UART CLI library is now available. Supporting documentation can be found in the MSDK User Guide
Helper String Added to Build Output
As of #742 the build system prints the following helper string to improve exposure to the MSDK's supporting documentation and resources.
****************************************************************************
* Analog Devices MSDK
* - User Guide: https://analog-devices-msdk.github.io/msdk/USERGUIDE/
* - Get Support: https://www.analog.com/support/technical-support.html
* - Report Issues: https://github.com/Analog-Devices-MSDK/msdk/issues
* - Contributing: https://analog-devices-msdk.github.io/msdk/CONTRIBUTING/
****************************************************************************
It can be disabled by setting SUPPRESS_HELP = 1
in the build system.
Other Bug Fixes and Improvements
- fix(workflow): Make pull_request_template.md visible and update trigger-types for auto-labeler workflow by @sihyung-maxim in #647
- fix(BLE): Struct used in volatile context now marked as volatile by @EricB-ADI in #645
- docs(BLE): Update MTU configuration procedure by @EdwinFairchild in #636
- fix(Examples): Fix return value logic for verifyData function in I2C examples by @Jacob-Scheiffler in #651
- chore(Examples): Test examples on Rev. B production silicon for MAX32655 by @Jacob-Scheiffler in #649
- fix(BLE,Examples): Log packet count on BLE dats speed test by @EdwinFairchild in #648
- feat(Examples,MiscDrivers): Add OV5640 DVP camera driver by @vicloginov in #644
- feat(workflow): Add new workflow for Releases by @ALofthou in #656
- fix(Examples): Fix double-type subseconds calculation for MAX32655, MAX78000, and MAX78002 by @sihyung-maxim in #650
- fix(workflow): Expand labeler file filters in case root of repo is unknown by @sihyung-maxim in #655
- chore(Examples): Remove obsolete directories from project include paths by @ttmut in #659
- feat(Examples): Update MAX32650 CLCD example to swap Maxim logo for ADI logo by @ronyaugustine in #658
- fix(Boards): Add weak definition of GPIO0 IRQ handler to MAX32665's MAXREFDES178 BSP by @Jacob-Scheiffler in #664
- fix(Build): Fix "empty.c file not found" Error on Make v3.81 or Older by @Jake-Carter in #657
- fix(Build): Allow Users to Give Absolute Paths to SRCS by @Jake-Carter in #666
- fix(workflow): Fix globstar paths in labeler workflow and revise PR template by @sihyung-maxim in #675
- feat(Examples): Speedup TFT update in UNet-highres-demo and aisegment_unet-demo for MAX78000 by @aniktash in #670
- fix(CMSIS, PeriphDrivers): Add support for all 16 PT channels in the MAX32690 by @Jacob-Scheiffler in #678
- fix(ThirdParty): Fix Wrong Output Filename for lwIP Library by @Jake-Carter in #669
- refactor(PeriphDrivers): Fix -Warray-bounds warnings for can and dma by @ozersa in #682
- fix(Build): Link with libphy_hard.a when MFLOAT_ABI = hard by @khpeterson in #676
- feat(Examples): MSDK-1220: Review and update SDK examples by @ttmut in #663
- feat(Examples): Speedup TFT update for MAX78002 CameraIF by @vicloginov in #672
- perf(PeriphDrivers): Reduce SPI_RevA Code Size by @Jake-Carter in #690
- feat(PeriphDrivers): Provide user a way to manually drive SPI slave select pin by @ozersa in #674
- fix(PeriphDrivers): Configure SPI0 pins for MAX32672 by @sihyung-maxim in #660
- fix(CMSIS): Fix OWM_C...
June 2023 Release
This is the June 2023 release of the MSDK.
Installation
See the "Installation" in the MSDK User Guide for instructions on installing the MSDK via the online installer.
For existing users, see the "Maintenance" section of the User Guide for instructions on updating the MSDK.
Offline installers tagged at this version of the MSDK are available at the bottom of this release page. Note: The offline installers have the same pre-requisites as the online installers that must be met before running.
What's Changed
RISC-V Toolchain Upgrade
- The RISC-V toolchain has been upgraded to the latest GNU RISC-V Embedded GCC from xPack.
- Upgrade RISC-V Toolchain, Update Project Files by @Jake-Carter in #628
C++ Support
- Official support for C++ has been added to the MSDK.
- The
AUTOSEARCH
mechanism of the build system will now search for .cpp files in the project to add to the build. - All microcontrollers now include a
Hello_World_Cpp
example demonstrating basic language features such as classes. - Add C++ Support, Add Basic C++ Example, Consolidate GCC Makefiles by @Jake-Carter in #619
Driver Files for Board Support Packages Move
- Driver files for some Board Support Packages have been consolidated to the MiscDrivers folder as of _MiscDrivers: Update all boards to use PB, LED, and stdio source files in MiscDrivers. by @Jacob-Scheiffler in #587
- The BSPs inside the MSDK have been updated to reflect this, but custom BSPs may throw missing file errors if they were using LED/PB/TFT/stdio drivers from the old location.
To resolve these errors, add the updated locations of the source files of your board.mk
of your BSP. If these files are included from your project only, add these locations to your project.mk
file.
# Locate MiscDrivers directory
MISC_DRIVERS_DIR ?= $(MAXIM_PATH)/Libraries/MiscDrivers
# Note: The following additions add all of the MiscDrivers folders to the build.
# You probably don't need all of them.
# Add MiscDrivers folders to search for source files
VPATH += $(MISC_DRIVERS_DIR)
VPATH += $(MISC_DRIVERS_DIR)/ADC
VPATH += $(MISC_DRIVERS_DIR)/BarcodeDecoder
VPATH += $(MISC_DRIVERS_DIR)/Camera
VPATH += $(MISC_DRIVERS_DIR)/CODEC
VPATH += $(MISC_DRIVERS_DIR)/Display
VPATH += $(MISC_DRIVERS_DIR)/ExtMemory
VPATH += $(MISC_DRIVERS_DIR)/LED
VPATH += $(MISC_DRIVERS_DIR)/PMIC
VPATH += $(MISC_DRIVERS_DIR)/PushButton
VPATH += $(MISC_DRIVERS_DIR)/TempSensor
VPATH += $(MISC_DRIVERS_DIR)/Touchscreen
# Add MiscDrivers folder to search for header files
IPATH += $(MISC_DRIVERS_DIR)
IPATH += $(MISC_DRIVERS_DIR)/ADC
IPATH += $(MISC_DRIVERS_DIR)/BarcodeDecoder
IPATH += $(MISC_DRIVERS_DIR)/Camera
IPATH += $(MISC_DRIVERS_DIR)/CODEC
IPATH += $(MISC_DRIVERS_DIR)/Display
IPATH += $(MISC_DRIVERS_DIR)/ExtMemory
IPATH += $(MISC_DRIVERS_DIR)/LED
IPATH += $(MISC_DRIVERS_DIR)/PMIC
IPATH += $(MISC_DRIVERS_DIR)/PushButton
IPATH += $(MISC_DRIVERS_DIR)/TempSensor
IPATH += $(MISC_DRIVERS_DIR)/Touchscreen
Build System Improvements
- "project.mk" is now a tracked file in the dependency graph for the build. When a change is made to project.mk, the project will automatically rebuild. (Rebuild Project when project.mk Changes by @Jake-Carter in #591)
- User's ability to create custom BSPs and load them from directories outside of the MSDK has been improved. (Allow Users to Set BSP Search Directory, Make mxc.h Safe Against LIB_BOARD=0, Remove MiscDrivers Files from mxc.h by @Jake-Carter in #613)
- BLE project build times have been reduced by packing Cordio as a static library file. (Build Cordio as a Library File by @kevin-gillespie in #492)
- A new rule for generating a
project_defines.h
file with build-time and compiler-specific definitions has been added (Update Project Files by @Jake-Carter in #628) - Allow Overriding Linkerfile for SBT Projects by @Jake-Carter in #592
- Makefile targets for flashing have been added (ex
make flash.openocd
) (Added Makefile targets for flashing. by @kevin-gillespie in #519)
VS Code Project File Update
Library Updates
- Add zbar Barcode Decoder Library by @ozersa in #500
- Update LittleFS Library by @Jacob-Scheiffler in #548
Other Notable Features
- CSI2/ImgCapture Image Processing Pipeline Rework, New MAX78002 QSPI Example, New RetinaNet Example by @Jake-Carter in #583
- Add GPIO3 support to MAX32655, MAX32680, MAX78000, and MAX78002 by @Jacob-Scheiffler in #597
- Update HART UART with new transmit features and fixes for MAX32675 and MAX32680 by @jdk-maxim in #600
- Add Cordio API to get Bluetooth MAC address, trace output of MAC address and advertising name for MAX32655, MAX32665, MAX32690 by @EdwinFairchild in #615
- Update AppSwitcher example to use new features with External Flash instead of SDHC by @MertCanBoz1 in #571
- Add Facial Recognition Demo for MAX78000FTHR by @vicloginov in #569
- Add MAX78000CAM01 Board Support, Add CAM01 Face Detection Demo, Move Debayering Implementation by @Jake-Carter in #611
- Add SPI v2 Implementation to MAX78002 by @sihyung-maxim in #632
- Add Examples for Building and Using Static Libraries by @ttmut in #476, #543
Other Changes & Bug Fixes
- Clang-formatter: Updated to Node 16 by @sihyung-maxim in #446
- Cleaning Up ME21 Examples by @Jacob-Scheiffler in #470
- Integrate bootloader with OTAS program code by @AbbyWolf-ADI in #472
- Make a faster PER test by @yc-adi in #482
- Fix Build Issues, Improve Test Coverage by @Jake-Carter in #483
- fix me18 WLP_V1 PER failure by @yc-adi in #478
- Fix ln_args parsing bug on MSYS2 by @Jake-Carter in #479
- Fix RISC-V Debug Functional Test Errors by @Jake-Carter in #489
- MSDK-531: Add OTP_Dump example for MAX32520 by @ttmut in #460
- Dev me12 fthr support by @karaanil in #469
- Added PER mask by @yc-adi in #496
- MSDK-1060: Fix unknown type error in ME10 mxc_lock.h by @ttmut in #486
- Add more info in PER plot by @yc-adi in #499
- Fix Spelling & Grammar Errors in User Guide by @Jake-Carter in #491
- Erase ext flash on failed status by @EdwinFairchild in #506
- Update MAX32570 camera interface by @ozersa in #498
- RTC: Added missing OSCCTRL control bits across all parts. by @sihyung-maxim in #503
- bump llibphy by @EdwinFairchild in #514
- Fix Windows Build Errors from CLI Character Limit by @kevin-gillespie in #524
- Modifying MAX32672 LP example to get lowest current measurements. by @Jacob-Scheiffler in #529
- Adding ME17B SDK changes. by @Jacob-Scheiffler in #511
- User Guide: Add Make to MacOS Dependencies, Add IAR/Keil sections, Add J-Link Setup for Eclipse by @Jake-Carter in #522
- Remove CRC files for MAX32672 by @Jake-Carter in #531
- Add MXC_I2C_AsyncStop and MXC_I2C_AbortAsync Functions by @Jacob-Scheiffler in #538
- Add FaceID Examples for MAX78002, Add requirements.txt for db_gen Utility, Fix AttributeError for db_gen Utility by @aniktash in #537
- MAX32675: Add Pin Definitions for I2C1 by @ozersa in #544
- Adding SFE configuration in MAX32520 Flash example by @Jacob-Scheiffler in #539
- MXC_SYS: Add Support for External Clock Inputs, Fix MXC_SYS API Documentation by @Jake-Ca...
March 2023 Release
To install the SDK:
-
Download and extract the installer for your chosen operating system.
-
On Linux, retrieve the installer's dependencies before running the installer. These are required by the QT installer framework even on headless systems.
sudo apt install libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-shm0 libxcb-util1 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcb1 libxkbcommon-x11-0 libxkbcommon0 libgl1 libusb-0.1-4 libhidapi-libusb0 libhidapi-hidraw0
- Run the included MaximMicrosSDK_2023_03 executable.
What's Changed
- Update readme MacOS M1 instructions by @Jake-Carter in #262
- Adding the SPI_MasterSlave example to all micros with EV Kits that support it. by @Jacob-Scheiffler in #264
- Update KWS20_demo by @aniktash in #266
- Add UCL project files by @ozersa in #232
- MAX32675: Updated WriteCharacter functions. by @sihyung-maxim in #283
- MAX32570: Fix tsc2046 build errors, add TS_SPI transport functions by @Jake-Carter in #284
- Updated documentation of ARM/RISC-V demos by @vicloginov in #268
- MAX32670: Adding the Temp_Monitor example by @Jacob-Scheiffler in #281
- Add User Guide by @Jake-Carter in #273
- Update MAX32655/MAX32690 examples by @EdwinFairchild in #313
- Port the SPIXF_ICC example to MAX32665 by @Jacob-Scheiffler in #276
- Fixing CTB RevA Hash default value bug. by @Jacob-Scheiffler in #294
- MAX78000: Update KWS updated with v3 model + audio waveform display on TFT, P3.1 wakeup event removed from LP example in Power Down mode by @aniktash in #299
- Update CMSIS-Core to v5.9.0 by @Jake-Carter in #333
- Add secure rom bl host example by @ozersa in #316
- Update All Example Return Values by @Jake-Carter in #317
- PTG: Added READY and STOP registers for MAX32662, MAX32690 by @sihyung-maxim in #337
- AESKEYS: Organized and Scrubbed AESKEYS SVD and register files. by @sihyung-maxim in #329
- SPI RevA: Fixing async status variable overwrite. by @Jacob-Scheiffler in #312
- [MAX78000]: Adding EEEPROM_Emulator example. by @Jacob-Scheiffler in #330
- Fix C++ build issue by @ozersa in #350
- Adding MAX32690 GPIO4 support. by @Jacob-Scheiffler in #343
- Update Flash Examples, Add API for Critical Sections by @Jake-Carter in #357
- Add missing display examples (MAX32672FTHR & MAX32665EvKIT) by @ozersa in #378
- Add MAX32655 external flash example by @ozersa in #386
- Resolving hardfault in MAX32672 LP example. by @Jacob-Scheiffler in #391
- Updated board files for MAX32690 by @EricB-ADI in #394
- Updating FreeRTOS and FreeRTOS-Plus libraries to latest FreeRTOS release. by @Jacob-Scheiffler in #361
- Setting default BT_VER to 9. by @kevin-gillespie in #397
- MAX32672EVKIT display example update by @ozersa in #392
- Add MAX78002 KWS20 Demo by @Jake-Carter in #385
- MAX32520: Fixing I2C slave address register offset. by @Jacob-Scheiffler in #384
- Add EEPROM_Emulator example by @Jacob-Scheiffler in #379
- Clean Up CAN Library by @Jacob-Scheiffler in #400
- Add SBT vs non-SBT Linkerfile Selection to LP Example by @Jake-Carter in #401
- Fix MAX78000/MAX78002 Image Capture Examples (ImgCapture, CSI2) by @Jake-Carter in #420
- Miscellaneous MAX78000 Bug Fixes. by @sihyung-maxim in #408
- Add Coremark example. by @Jacob-Scheiffler in #336
- Fix LP back-power bug on MAX78002EVKIT by @Jake-Carter in #406
- MAX78002: Update KWS weights to improve unknown words detection by @aniktash in #422
- (MAX78000/MAX78002) Support MXC_LP_EnterSleepMode on RISC-V by @Jake-Carter in #307
- MAX32670: Added LP OVR Feature Support. by @sihyung-maxim in #441
- Add TFT Streaming for CameraIF example by @maximreza in #437
- (VSCode, Eclipse, Makefile) Fix Output Mangling for Parallel Builds by @Jake-Carter in #443
- Update all LP Examples by @Jacob-Scheiffler in #434
- Add MAX11261 Driver by @ttmut in #416
- Fix ADC Bugs by @ttmut in #433
- Fix RISC-V Build Errors for MAX78002 by @Jake-Carter in #459
- Resolve TFT Null Pointer issue. by @lorne-maxim in #471
- Update User Guide & Readmes by @Jake-Carter in #473
- Fix Miscellaneous Build Errors for All Examples Across all Boards by @Jake-Carter in #474
New Contributors
- @dependabot made their first contribution in #271
- @EricB-ADI made their first contribution in #344
- @tim-magnusen made their first contribution in #338
- @viviand0097 made their first contribution in #428
Full Changelog: v2022_11_Release...v2023_03_Release
November 2022 Release
Initial GitHub based release. To install the SDK:
-
Download and extract the installer for your chosen operating system.
-
On Linux, retrieve the installer's dependencies before running the installer. These are required by the QT installer framework even on headless systems.
sudo apt install libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-shm0 libxcb-util1 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcb1 libxkbcommon-x11-0 libxkbcommon0 libgl1 libusb-0.1-4 libhidapi-libusb0 libhidapi-hidraw0
- Run the included MaximMicrosSDK_2022_11 executable.