diff --git a/IDE/MCUEXPRESSO/README.md b/IDE/MCUEXPRESSO/README.md
new file mode 100644
index 000000000..de23d07a5
--- /dev/null
+++ b/IDE/MCUEXPRESSO/README.md
@@ -0,0 +1,10 @@
+
+- Open MCUEXPRESSO and set the workspace to wolfssl/IDE/MCUEXPRESSO
+- File -> Open Projects From File System... -> Directory : and set the browse to wolfssl/IDE/MCUEXPROSSO directory then click "select direcotry"
+- Select MCUEXPRESSO\wolfssl, MCUEXPRESSO\benchmark and MCUEXPRESSO\wolfcrypt_test then click "Finish"
+- Right click the projects -> SDK Management -> Refresh SDK Components and click "yes"
+- MCUEXPRESSO fails to generate the fils for wolfssl/MIMXRT685S, just copy the files from either benchmark or wolfcrypt_test into the directory
+- increase the size of configTOTAL_HEAP_SIZE in FreeRTOSConfig.h to be 200000 for wolfcrypt_test and benchmark projects
+- (note board files need to be recreated .... this can be done by creating a new project that has the same settings and copying over the generated board/* files)
+- Build the projects
+
diff --git a/IDE/MCUEXPRESSO/benchmark/.cproject b/IDE/MCUEXPRESSO/benchmark/.cproject
new file mode 100755
index 000000000..d1a2980d5
--- /dev/null
+++ b/IDE/MCUEXPRESSO/benchmark/.cproject
@@ -0,0 +1,744 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SDK_2.x_EVK-MIMXRT685
+ 2.12.0
+ middleware.freertos-kernel.MIMXRT685S;platform.drivers.lpc_iopctl.MIMXRT685S;platform.drivers.flexspi.MIMXRT685S;platform.drivers.cache_cache64.MIMXRT685S;platform.drivers.power.MIMXRT685S;platform.drivers.common.MIMXRT685S;platform.drivers.flexcomm_usart.MIMXRT685S;platform.drivers.lpc_gpio.MIMXRT685S;platform.drivers.clock.MIMXRT685S;platform.drivers.flexcomm.MIMXRT685S;platform.drivers.reset.MIMXRT685S;platform.drivers.trng.MIMXRT685S;platform.drivers.lpc_rtc.MIMXRT685S;device.MIMXRT685S_CMSIS.MIMXRT685S;CMSIS_Include_core_cm.MIMXRT685S;component.usart_adapter.MIMXRT685S;utility.debug_console.MIMXRT685S;component.serial_manager.MIMXRT685S;component.serial_manager_uart.MIMXRT685S;platform.utilities.assert.MIMXRT685S;platform.drivers.flash_config.evkmimxrt685.MIMXRT685S;component.lists.MIMXRT685S;project_template.evkmimxrt685.MIMXRT685S;middleware.freertos-kernel.template.MIMXRT685S;device.MIMXRT685S_startup.MIMXRT685S;middleware.freertos-kernel.extension.MIMXRT685S;
+ evkmimxrt685
+ MIMXRT685SFVKB
+ cm33
+ cm33_MIMXRT685S
+
+
+ <?xml version="1.0" encoding="UTF-8"?>
+<TargetConfig>
+<Properties property_3="NXP" property_4="MIMXRT685S" property_count="5" version="100300"/>
+<infoList vendor="NXP">
+<info chip="MIMXRT685S" name="MIMXRT685S">
+<chip>
+<name>MIMXRT685S</name>
+<family>MIMXRT600</family>
+<vendor>NXP</vendor>
+<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
+<memory id="RAM" size="4608" type="RAM"/>
+<memoryInstance derived_from="Flash" driver="MIMXRT600_FlexSPI_B_MXIC_OPI.cfx" edited="true" id="QSPI_FLASH" location="0x8000000" size="0x800000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM" location="0x80000" size="0x180000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_ROM" location="0x0" size="0x20000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_SHARED" location="0x20000" size="0x60000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_DSP" location="0x200000" size="0x280000"/>
+<memoryInstance derived_from="RAM" edited="true" id="USB_RAM" location="0x40140000" size="0x4000"/>
+</chip>
+<processor>
+<name gcc_name="cortex-m33">Cortex-M33</name>
+<family>Cortex-M</family>
+</processor>
+</info>
+</infoList>
+</TargetConfig>
+
+
+
+
\ No newline at end of file
diff --git a/IDE/MCUEXPRESSO/benchmark/.project b/IDE/MCUEXPRESSO/benchmark/.project
new file mode 100755
index 000000000..6cfa7bd2e
--- /dev/null
+++ b/IDE/MCUEXPRESSO/benchmark/.project
@@ -0,0 +1,34 @@
+
+
+ benchmark
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ com.nxp.mcuxpresso.core.datamodels.sdkNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ source/benchmark
+ 2
+ $%7BPARENT-3-PROJECT_LOC%7D/wolfcrypt/benchmark
+
+
+
diff --git a/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c b/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c
new file mode 100644
index 000000000..21e81319a
--- /dev/null
+++ b/IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c
@@ -0,0 +1,107 @@
+/* run_benchmark.c
+ *
+ * Copyright (C) 2006-2022 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+#include
+#include "board.h"
+#include "fsl_rtc.h"
+#include "fsl_trng.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "peripherals.h"
+#include "pin_mux.h"
+#include "clock_config.h"
+#include "MIMXRT685S_cm33.h"
+#include "fsl_debug_console.h"
+
+#include
+#include "benchmark.h"
+
+#define STACK_DEPTH 60000
+/* start the RTC and TRNG */
+static void setup()
+{
+ rtc_datetime_t date;
+ trng_config_t trngConfig;
+ status_t status;
+
+ RTC_Init(RTC);
+
+ /* setup a default start date */
+ date.year = 2022U;
+ date.month = 8U;
+ date.day = 17U;
+ date.hour = 15U;
+ date.minute = 10;
+ date.second = 0;
+
+ RTC_EnableTimer(RTC, false);
+ RTC_SetDatetime(RTC, &date);
+ RTC_EnableTimer(RTC, true);
+
+ TRNG_GetDefaultConfig(&trngConfig);
+
+ /* Commented in example NXP TRNG as an optional, better random mode */
+ trngConfig.sampleMode = kTRNG_SampleModeVonNeumann;
+
+ /* Initialize TRNG */
+ status = TRNG_Init(TRNG0, &trngConfig);
+ if (status != kStatus_Success) {
+ PRINTF("Issues starting TRNG\n");
+ }
+}
+
+static void doBenchmark(void* params)
+{
+ int ret;
+
+ /* initialize wolfCrypt and run tests */
+ if (wolfCrypt_Init() == 0) {
+ ret = benchmark_test(NULL);
+ PRINTF("Return of benchmark_test = %d\r\n", ret);
+ wolfCrypt_Cleanup();
+ }
+ else {
+ PRINTF("Failied to initialize wolfCrypt\r\n");
+ }
+}
+
+int main(void)
+{
+ TaskHandle_t b = NULL;
+
+ /* Init board hardware. */
+ BOARD_InitBootPins();
+ BOARD_InitBootClocks();
+ BOARD_InitBootPeripherals();
+#ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL
+ /* Init FSL debug console. */
+ BOARD_InitDebugConsole();
+#endif
+ setup(); /* set the RTC and start the TRNG */
+
+ if (xTaskCreate(doBenchmark, "wolfSSL Benchmark", STACK_DEPTH, NULL,
+ 0, &b) != pdPASS) {
+ PRINTF("Error creating benchmark task\r\n");
+ }
+ vTaskStartScheduler();
+ TRNG_Deinit(TRNG0);
+ vTaskDelete(b);
+ return 0 ;
+}
diff --git a/IDE/MCUEXPRESSO/include.am b/IDE/MCUEXPRESSO/include.am
new file mode 100644
index 000000000..6c93e9064
--- /dev/null
+++ b/IDE/MCUEXPRESSO/include.am
@@ -0,0 +1,18 @@
+# vim:ft=automake
+# included from Top Level Makefile.am
+# All paths should be given relative to the root
+
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfssl/.cproject
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfssl/.project
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfssl/.settings
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfssl/liblinks.xml
+
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfcrypt_test/.cproject
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfcrypt_test/.project
+EXTRA_DIST += IDE/MCUEXPRESSO/wolfcrypt_test/source/wolfcrypt_test.c
+
+EXTRA_DIST += IDE/MCUEXPRESSO/benchmark/.cproject
+EXTRA_DIST += IDE/MCUEXPRESSO/benchmark/.project
+EXTRA_DIST += IDE/MCUEXPRESSO/benchmark/source/run_benchmark.c
+
+EXTRA_DIST += IDE/MCUEXPRESSO/user_settings.h
diff --git a/IDE/MCUEXPRESSO/user_settings.h b/IDE/MCUEXPRESSO/user_settings.h
new file mode 100644
index 000000000..66c55f750
--- /dev/null
+++ b/IDE/MCUEXPRESSO/user_settings.h
@@ -0,0 +1,122 @@
+/* user_settings.h
+ *
+ * Copyright (C) 2006-2022 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+#ifndef USER_SETTINGS_H_
+#define USER_SETTINGS_H_
+
+#define FREERTOS
+#define NO_WOLFSSL_DIR
+#define WOLFSSL_NO_SOCK
+#define WOLFSSL_LWIP
+#define WOLFSSL_USER_IO
+
+#define DEBUG_WOLFSSL
+#define WOLFSSL_LOG_PRINTF
+
+/* macros for test suite and benchmark */
+//#define NO_CRYPT_TEST
+#ifndef NO_CRYPT_TEST
+ #define NO_MAIN_DRIVER
+
+ #include
+ #include
+ static void myPrintf(const char* fmt, ...)
+ {
+ int ret;
+ char line[150];
+ va_list ap;
+
+ va_start(ap, fmt);
+ ret = vsnprintf(line, sizeof(line), fmt, ap);
+ line[sizeof(line)-1] = '\0';
+
+ DbgConsole_Printf("%s", line);
+
+ /* add CR on newlines */
+ if (ret > 0 && line[ret-1] == '\n') {
+ DbgConsole_Printf("\r");
+ }
+ }
+ #define XPRINTF myPrintf
+ #define USE_CERT_BUFFERS_2048
+ #define USE_CERT_BUFFERS_1024
+ #define USE_CERT_BUFFERS_256
+ #define NO_WRITE_TEMP_FILES
+ #define BENCH_EMBEDDED
+
+ /* set high for handling wolfcrypt tests */
+ #define WOLFSSL_STATIC_MEMORY_TEST_SZ 350000
+#endif
+
+/* math implementation (fast math or sp math, choose one) */
+#define USE_FAST_MATH
+#ifdef USE_FAST_MATH
+ /* big enough for even 4096 bit RSA key */
+ #define FP_MAX_BITS 8192
+ #define TFM_TIMING_RESISTANT
+ #define ECC_TIMING_RESISTANT
+ #define ALT_ECC_SIZE
+#endif
+
+//#define WOLFSSL_SP_MATH_ALL
+#ifdef WOLFSSL_SP_MATH_ALL
+#endif
+
+/* optimizations for common public key operations
+ * adds a lot of code size in exchange for performance increase */
+#if 1
+#define WOLFSSL_HAVE_SP_RSA
+#define WOLFSSL_HAVE_SP_DH
+#define WOLFSSL_HAVE_SP_ECC
+#endif
+
+/* RT685 uses the same fsl_trng API, note that the application
+ * needs to initialize and teardown the TRNG (TRNG_Init, TRNG_Deinit) */
+#define FREESCALE_KSDK_2_0_TRNG
+#define FREESCALE_RTC
+
+/* use loaded stack as a pool of memory for allocations rather than
+ * using heap */
+#define WOLFSSL_STATIC_MEMORY
+#define WOLFSSL_SP_NO_MALLOC /* use no malloc version of SP if compiled in */
+#define WOLFSSL_NO_REALLOC
+
+/* this removes all system malloc calls, will fail on some compatibility
+ * layer API's and others that have no heap hint */
+//#define WOLFSSL_NO_MALLOC
+
+#define WC_RSA_BLINDING
+#define HAVE_ECC
+#define OPENSSL_EXTRA
+#define OPENSSL_ALL
+#define NO_WOLFSSL_SERVER
+#define HAVE_TLS_EXTENSIONS
+#define WC_RSA_PSS
+#define WOLFSSL_KEY_GEN
+#define HAVE_SMIME
+#ifdef HAVE_SMIME
+ #define HAVE_PKCS7
+ #define HAVE_X963_KDF
+ #define HAVE_AES_KEYWRAP
+ #define WOLFSSL_AES_DIRECT
+#endif
+
+#endif /* USER_SETTINGS_H_ */
diff --git a/IDE/MCUEXPRESSO/wolfcrypt_test/.cproject b/IDE/MCUEXPRESSO/wolfcrypt_test/.cproject
new file mode 100755
index 000000000..b422fd65a
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfcrypt_test/.cproject
@@ -0,0 +1,800 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SDK_2.x_EVK-MIMXRT685
+ 2.12.0
+ middleware.freertos-kernel.MIMXRT685S;platform.drivers.lpc_iopctl.MIMXRT685S;platform.drivers.flexspi.MIMXRT685S;platform.drivers.cache_cache64.MIMXRT685S;platform.drivers.power.MIMXRT685S;platform.drivers.common.MIMXRT685S;platform.drivers.flexcomm_usart.MIMXRT685S;platform.drivers.lpc_gpio.MIMXRT685S;platform.drivers.clock.MIMXRT685S;platform.drivers.flexcomm.MIMXRT685S;platform.drivers.reset.MIMXRT685S;platform.drivers.trng.MIMXRT685S;device.MIMXRT685S_CMSIS.MIMXRT685S;CMSIS_Include_core_cm.MIMXRT685S;component.usart_adapter.MIMXRT685S;utility.debug_console.MIMXRT685S;component.serial_manager.MIMXRT685S;component.serial_manager_uart.MIMXRT685S;platform.utilities.assert.MIMXRT685S;middleware.fatfs.MIMXRT685S;middleware.fatfs.ram.MIMXRT685S;middleware.lwip.MIMXRT685S;middleware.lwip.empty_ethernetif.MIMXRT685S;platform.drivers.flash_config.evkmimxrt685.MIMXRT685S;component.lists.MIMXRT685S;project_template.evkmimxrt685.MIMXRT685S;middleware.freertos-kernel.template.MIMXRT685S;middleware.fatfs.template_ram.MIMXRT685S;middleware.lwip.template.MIMXRT685S;device.MIMXRT685S_startup.MIMXRT685S;middleware.freertos-kernel.extension.MIMXRT685S;platform.drivers.lpc_rtc.MIMXRT685S;
+ evkmimxrt685
+ MIMXRT685SFVKB
+ cm33
+ cm33_MIMXRT685S
+
+
+ <?xml version="1.0" encoding="UTF-8"?>
+<TargetConfig>
+<Properties property_3="NXP" property_4="MIMXRT685S" property_count="5" version="100300"/>
+<infoList vendor="NXP">
+<info chip="MIMXRT685S" name="MIMXRT685S">
+<chip>
+<name>MIMXRT685S</name>
+<family>MIMXRT600</family>
+<vendor>NXP</vendor>
+<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
+<memory id="RAM" size="4608" type="RAM"/>
+<memoryInstance derived_from="Flash" driver="MIMXRT600_FlexSPI_B_MXIC_OPI.cfx" edited="true" id="QSPI_FLASH" location="0x8000000" size="0x800000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM" location="0x80000" size="0x180000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_ROM" location="0x0" size="0x20000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_SHARED" location="0x20000" size="0x60000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_DSP" location="0x200000" size="0x280000"/>
+<memoryInstance derived_from="RAM" edited="true" id="USB_RAM" location="0x40140000" size="0x4000"/>
+</chip>
+<processor>
+<name gcc_name="cortex-m33">Cortex-M33</name>
+<family>Cortex-M</family>
+</processor>
+</info>
+</infoList>
+</TargetConfig>
+
+
+
+
\ No newline at end of file
diff --git a/IDE/MCUEXPRESSO/wolfcrypt_test/.project b/IDE/MCUEXPRESSO/wolfcrypt_test/.project
new file mode 100755
index 000000000..55952e7eb
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfcrypt_test/.project
@@ -0,0 +1,34 @@
+
+
+ wolfcrypt_test
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ com.nxp.mcuxpresso.core.datamodels.sdkNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ source/test
+ 2
+ $%7BPARENT-3-PROJECT_LOC%7D/wolfcrypt/test
+
+
+
diff --git a/IDE/MCUEXPRESSO/wolfcrypt_test/source/wolfcrypt_test.c b/IDE/MCUEXPRESSO/wolfcrypt_test/source/wolfcrypt_test.c
new file mode 100644
index 000000000..4091a2c8a
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfcrypt_test/source/wolfcrypt_test.c
@@ -0,0 +1,102 @@
+/* wolfcrypt_test.c
+ *
+ * Copyright (C) 2006-2022 wolfSSL Inc.
+ *
+ * This file is part of wolfSSL.
+ *
+ * wolfSSL is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * wolfSSL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
+ */
+
+#include
+#include "board.h"
+#include "fsl_rtc.h"
+#include "fsl_trng.h"
+#include "peripherals.h"
+#include "pin_mux.h"
+#include "clock_config.h"
+#include "MIMXRT685S_cm33.h"
+#include "fsl_debug_console.h"
+
+#include
+#include
+#include "test.h"
+
+/* start the RTC and TRNG */
+static void setup()
+{
+ rtc_datetime_t date;
+ trng_config_t trngConfig;
+ status_t status;
+
+ RTC_Init(RTC);
+
+ /* setup a default start date */
+ date.year = 2022U;
+ date.month = 8U;
+ date.day = 17U;
+ date.hour = 15U;
+ date.minute = 10;
+ date.second = 0;
+
+ RTC_EnableTimer(RTC, false);
+ RTC_SetDatetime(RTC, &date);
+ RTC_EnableTimer(RTC, true);
+
+ TRNG_GetDefaultConfig(&trngConfig);
+
+ /* Commented in example NXP TRNG as an optional, better random mode */
+ trngConfig.sampleMode = kTRNG_SampleModeVonNeumann;
+
+ /* Initialize TRNG */
+ status = TRNG_Init(TRNG0, &trngConfig);
+ if (status != kStatus_Success) {
+ PRINTF("Issues starting TRNG\n");
+ }
+}
+
+int main(void)
+{
+ volatile static int i = 0;
+ int ret;
+
+ /* Init board hardware. */
+ BOARD_InitBootPins();
+ BOARD_InitBootClocks();
+ BOARD_InitBootPeripherals();
+#ifndef BOARD_INIT_DEBUG_CONSOLE_PERIPHERAL
+ /* Init FSL debug console. */
+ BOARD_InitDebugConsole();
+#endif
+ setup(); /* set the RTC and start the TRNG */
+
+ /* initialize wolfCrypt and run tests */
+ if (wolfCrypt_Init() == 0) {
+ PRINTF("Running wolfcrypt tests....\r\n");
+ wolfSSL_Debugging_ON();
+ ret = wolfcrypt_test(NULL);
+ PRINTF("Return of wolfcrypt_test = %d\r\n", ret);
+ wolfCrypt_Cleanup();
+ }
+ else {
+ PRINTF("Failied to initialize wolfCrypt\r\n");
+ }
+
+ TRNG_Deinit(TRNG0);
+ while(1) {
+ i++;
+ __asm volatile ("nop");
+ }
+ return 0 ;
+}
diff --git a/IDE/MCUEXPRESSO/wolfssl/.cproject b/IDE/MCUEXPRESSO/wolfssl/.cproject
new file mode 100644
index 000000000..02c08d66f
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/.cproject
@@ -0,0 +1,570 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SDK_2.x_EVK-MIMXRT685
+ 2.12.0
+ middleware.freertos-kernel.MIMXRT685S;platform.drivers.lpc_iopctl.MIMXRT685S;platform.drivers.flexspi.MIMXRT685S;platform.drivers.cache_cache64.MIMXRT685S;platform.drivers.power.MIMXRT685S;platform.drivers.common.MIMXRT685S;platform.drivers.flexcomm_usart.MIMXRT685S;platform.drivers.lpc_gpio.MIMXRT685S;platform.drivers.clock.MIMXRT685S;platform.drivers.flexcomm.MIMXRT685S;platform.drivers.reset.MIMXRT685S;platform.drivers.trng.MIMXRT685S;device.MIMXRT685S_CMSIS.MIMXRT685S;CMSIS_Include_core_cm.MIMXRT685S;component.usart_adapter.MIMXRT685S;utility.debug_console.MIMXRT685S;component.serial_manager.MIMXRT685S;component.serial_manager_uart.MIMXRT685S;platform.utilities.assert.MIMXRT685S;middleware.fatfs.MIMXRT685S;middleware.fatfs.ram.MIMXRT685S;middleware.lwip.MIMXRT685S;middleware.lwip.empty_ethernetif.MIMXRT685S;platform.drivers.flash_config.evkmimxrt685.MIMXRT685S;component.lists.MIMXRT685S;project_template.evkmimxrt685.MIMXRT685S;middleware.freertos-kernel.template.MIMXRT685S;middleware.fatfs.template_ram.MIMXRT685S;middleware.lwip.template.MIMXRT685S;device.MIMXRT685S_startup.MIMXRT685S;middleware.freertos-kernel.extension.MIMXRT685S;platform.drivers.lpc_rtc.MIMXRT685S;
+ evkmimxrt685
+ MIMXRT685SFVKB
+ cm33
+ cm33_MIMXRT685S
+
+
+ <?xml version="1.0" encoding="UTF-8"?>
+<TargetConfig>
+<Properties property_3="NXP" property_4="MIMXRT685S" property_count="5" version="100300"/>
+<infoList vendor="NXP">
+<info chip="MIMXRT685S" name="MIMXRT685S">
+<chip>
+<name>MIMXRT685S</name>
+<family>MIMXRT600</family>
+<vendor>NXP</vendor>
+<memory can_program="true" id="Flash" is_ro="true" size="0" type="Flash"/>
+<memory id="RAM" size="4608" type="RAM"/>
+<memoryInstance derived_from="Flash" driver="MIMXRT600_FlexSPI_B_MXIC_OPI.cfx" edited="true" id="QSPI_FLASH" location="0x8000000" size="0x800000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM" location="0x80000" size="0x180000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_ROM" location="0x0" size="0x20000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_SHARED" location="0x20000" size="0x60000"/>
+<memoryInstance derived_from="RAM" edited="true" id="SRAM_DSP" location="0x200000" size="0x280000"/>
+<memoryInstance derived_from="RAM" edited="true" id="USB_RAM" location="0x40140000" size="0x4000"/>
+</chip>
+<processor>
+<name gcc_name="cortex-m33">Cortex-M33</name>
+<family>Cortex-M</family>
+</processor>
+</info>
+</infoList>
+</TargetConfig>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/IDE/MCUEXPRESSO/wolfssl/.project b/IDE/MCUEXPRESSO/wolfssl/.project
new file mode 100644
index 000000000..23831aa1e
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/.project
@@ -0,0 +1,44 @@
+
+
+ wolfssl
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.cnature
+ com.nxp.mcuxpresso.core.datamodels.sdkNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+
+ source/user_settings.h
+ 1
+ $%7BPARENT-1-PROJECT_LOC%7D/user_settings.h
+
+
+ source/wolfcrypt
+ 2
+ $%7BPARENT-3-PROJECT_LOC%7D/wolfcrypt/src
+
+
+ source/wolfssl_src
+ 2
+ $%7BPARENT-3-PROJECT_LOC%7D/src
+
+
+
diff --git a/IDE/MCUEXPRESSO/wolfssl/.settings/language.settings.xml b/IDE/MCUEXPRESSO/wolfssl/.settings/language.settings.xml
new file mode 100644
index 000000000..3c62ad568
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.codan.core.prefs b/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 000000000..2a04510ae
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,75 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
+org.eclipse.cdt.codan.checkers.localvarreturn=-Warning
+org.eclipse.cdt.codan.checkers.localvarreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Returning the address of a local variable\\")"}
+org.eclipse.cdt.codan.checkers.nocommentinside=-Error
+org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
+org.eclipse.cdt.codan.checkers.nolinecomment=-Error
+org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
+org.eclipse.cdt.codan.internal.checkers.BlacklistProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.BlacklistProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function or method is blacklisted\\")",blacklist\=>()}
+org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")",checkMacro\=>true}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"}
+org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.FloatCompareProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.FloatCompareProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Direct float comparison\\")"}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MagicNumberProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MagicNumberProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Avoid magic numbers\\")",checkArray\=>true,checkOperatorParen\=>true,exceptions\=>(1,0,-1,2,1.0,0.0,-1.0)}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false}
+org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"}
+org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"}
+org.eclipse.cdt.codan.internal.checkers.MultipleDeclarationsProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.MultipleDeclarationsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Multiple variable declaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NoDiscardProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NoDiscardProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return value not evaluated\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
+org.eclipse.cdt.codan.internal.checkers.ShallowCopyProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ShallowCopyProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Miss copy constructor or assignment operator\\")",onlynew\=>false}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.StaticVariableInHeaderProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.StaticVariableInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Static variable in header file\\")"}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.SymbolShadowingProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.SymbolShadowingProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol shadowing\\")",paramFuncParameters\=>true}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error
+org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"}
diff --git a/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.core.prefs b/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.core.prefs
new file mode 100644
index 000000000..c8ec5df2d
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/IDE/MCUEXPRESSO/wolfssl/liblinks.xml b/IDE/MCUEXPRESSO/wolfssl/liblinks.xml
new file mode 100644
index 000000000..54e1691f2
--- /dev/null
+++ b/IDE/MCUEXPRESSO/wolfssl/liblinks.xml
@@ -0,0 +1,53 @@
+
+
+
+
+ ${MacroStart}workspace_loc:/${ProjName}/lwIP${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/other${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/lists${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/CMSIS${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/source${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/FreeRTOS kernel${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/utilities${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/drivers${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/fatfs${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/board${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/ram${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/flash_config${MacroEnd}
+
+
+ ${MacroStart}workspace_loc:/${ProjName}/lwIP${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/other${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/lists${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/CMSIS${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/source${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/FreeRTOS kernel${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/utilities${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/drivers${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/fatfs${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/board${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/ram${MacroEnd}
+ ${MacroStart}workspace_loc:/${ProjName}/flash_config${MacroEnd}
+
+
+ ${ProjName}
+
+
+ ${MacroStart}workspace_loc:/${ProjName}/Debug${MacroEnd}
+
+
+ ${MacroStart}workspace_loc:/${ProjName}/Release${MacroEnd}
+
+
+ ${ProjName}
+
+
diff --git a/IDE/include.am b/IDE/include.am
index 522e38051..6fbafa980 100644
--- a/IDE/include.am
+++ b/IDE/include.am
@@ -49,6 +49,7 @@ include IDE/NETOS/include.am
include IDE/IAR-MSP430/include.am
include IDE/zephyr/include.am
include IDE/AURIX/include.am
+include IDE/MCUEXPRESSO/include.am
EXTRA_DIST+= IDE/IAR-EWARM IDE/MDK-ARM IDE/MDK5-ARM IDE/MYSQL IDE/LPCXPRESSO IDE/HEXIWEAR IDE/Espressif
EXTRA_DIST+= IDE/OPENSTM32/README.md