diff --git a/IDE/MDK5-ARM/Conf/config-Crypt.h b/IDE/MDK5-ARM/Conf/config-Crypt.h
deleted file mode 100644
index 49d7ef5c0..000000000
--- a/IDE/MDK5-ARM/Conf/config-Crypt.h
+++ /dev/null
@@ -1,304 +0,0 @@
-/* config-Crypt.h
- *
- * Copyright (C) 2006-2017 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
- */
-
-
-// <<< Use Configuration Wizard in Context Menu >>>
-
-// wolfCrypt Configuration
-
-// Cert/Key Strage
-// Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
-#define MDK_CONF_CERT_BUFF 0
-#if MDK_CONF_CERT_BUFF== 1
-#define USE_CERT_BUFFERS_1024
-#elif MDK_CONF_CERT_BUFF == 2
-#define USE_CERT_BUFFERS_2048
-#endif
-//
-
-// Crypt Algrithm
-
-// MD2
-#define MDK_CONF_MD2 1
-#if MDK_CONF_MD2 == 1
-#define WOLFSSL_MD2
-#endif
-//
-// MD4
-#define MDK_CONF_MD4 1
-#if MDK_CONF_MD4 == 0
-#define NO_MD4
-#endif
-//
-// MD5
-#define MDK_CONF_MD5 1
-#if MDK_CONF_MD5 == 0
-#define NO_MD5
-#endif
-//
-// SHA
-#define MDK_CONF_SHA 1
-#if MDK_CONF_SHA == 0
-#define NO_SHA
-#endif
-//
-// SHA-256
-#define MDK_CONF_SHA256 1
-#if MDK_CONF_SHA256 == 0
-#define NO_SHA256
-#endif
-//
-// SHA-384
-#define MDK_CONF_SHA384 1
-#if MDK_CONF_SHA384 == 1
-#define WOLFSSL_SHA384
-#endif
-//
-// SHA-512
-#define MDK_CONF_SHA512 1
-#if MDK_CONF_SHA512 == 1
-#define WOLFSSL_SHA512
-#endif
-//
-// RIPEMD
-#define MDK_CONF_RIPEMD 1
-#if MDK_CONF_RIPEMD == 1
-#define WOLFSSL_RIPEMD
-#endif
-//
-// BLAKE2
-#define MDK_CONF_BLAKE2 0
-#if MDK_CONF_BLAKE2 == 1
-#define HAVE_BLAKE2
-#endif
-//
-// HMAC
-#define MDK_CONF_HMAC 1
-#if MDK_CONF_HMAC == 0
-#define NO_HMAC
-#endif
-//
-// HMAC KDF
-#define MDK_CONF_HKDF 1
-#if MDK_CONF_HKDF == 1
-#define HAVE_HKDF
-#endif
-//
-
-// AES CCM
-#define MDK_CONF_AESCCM 1
-#if MDK_CONF_AESCCM == 1
-#define HAVE_AESCCM
-#endif
-//
-// AES GCM
-#define MDK_CONF_AESGCM 1
-#if MDK_CONF_AESGCM == 1
-#define HAVE_AESGCM
-#endif
-//
-
-// RC4
-#define MDK_CONF_RC4 1
-#if MDK_CONF_RC4 == 0
-#define NO_RC4
-#endif
-//
-
-// HC128
-#define MDK_CONF_HC128 1
-#if MDK_CONF_AESGCM == 0
-#define NO_HC128
-#endif
-//
-
-// RABBIT
-#define MDK_CONF_RABBIT 1
-#if MDK_CONF_RABBIT == 0
-#define NO_RABBIT
-#endif
-//
-
-// CHACHA
-#define MDK_CONF_CHACHA 1
-#if MDK_CONF_CHACHA == 1
-#define HAVE_CHACHA
-#endif
-//
-
-// POLY1305
-#define MDK_CONF_POLY1305 1
-#if MDK_CONF_POLY1305 == 1
-#define HAVE_POLY1305
-#define HAVE_ONE_TIME_AUTH
-#endif
-//
-
-// DES3
-#define MDK_CONF_DES3 1
-#if MDK_CONF_DES3 == 0
-#define NO_DES3
-#endif
-//
-
-// AES
-#define MDK_CONF_AES 1
-#if MDK_CONF_AES == 0
-#define NO_AES
-#endif
-//
-
-// CAMELLIA
-#define MDK_CONF_CAMELLIA 1
-#if MDK_CONF_CAMELLIA == 1
-#define HAVE_CAMELLIA
-#endif
-//
-
-// DH
-#define MDK_CONF_DH 1
-#if MDK_CONF_DH == 0
-#define NO_DH
-#endif
-//
-// DSA
-#define MDK_CONF_DSA 1
-#if MDK_CONF_DSA == 0
-#define NO_DSA
-#endif
-//
-
-// SRP
-#define MDK_CONF_SRP 1
-#if MDK_CONF_SRP == 1
-#define HAVE_SRP
-#endif
-//
-
-// PWDBASED
-#define MDK_CONF_PWDBASED 1
-#if MDK_CONF_PWDBASED == 0
-#define NO_PWDBASED
-#endif
-//
-
-// ECC
-#define MDK_CONF_ECC 1
-#if MDK_CONF_ECC == 1
-#define HAVE_ECC
-#endif
-//
-
-// CURVE25519
-#define MDK_CONF_CURVE25519 1
-#if MDK_CONF_CURVE25519 == 1
-#define HAVE_CURVE25519
-#define CURVED25519_SMALL
-//#define TFM_ECC256
-#endif
-//
-
-// ED25519
-#define MDK_CONF_ED25519 1
-#if MDK_CONF_ED25519 == 1
-#define HAVE_ED25519
-#endif
-//
-
-// PKCS7
-#define MDK_CONF_PKCS7 0
-#if MDK_CONF_PKCS7 == 1
-#define HAVE_PKCS7
-#endif
-//
-
-// NTRU (need License, "crypto_ntru.h")
-#define MDK_CONF_NTRU 0
-#if MDK_CONF_NTRU == 1
-#define HAVE_NTRU
-#endif
-//
-//
-
-// Hardware Crypt (See document for usage)
-// Hardware RNG
-#define MDK_CONF_STM32F2_RNG 0
-#if MDK_CONF_STM32F2_RNG == 1
-#define STM32F2_RNG
-#else
-
-#endif
-//
-// Hardware Crypt
-#define MDK_CONF_STM32F2_CRYPTO 0
-#if MDK_CONF_STM32F2_CRYPTO == 1
-#define STM32F2_CRYPTO
-#endif
-//
-
-//
-
-// Other Settings
-
-// Use Fast Math
-#define MDK_CONF_FASTMATH 1
-#if MDK_CONF_FASTMATH == 1
-#define USE_FAST_MATH
-#define TFM_TIMING_RESISTANT
-#endif
-//
-// Small Stack
-#define MDK_CONF_SmallStack 0
-#if MDK_CONF_SmallStack == 0
-#define NO_WOLFSSL_SMALL_STACK
-#endif
-//
-// ErrNo.h
-#define MDK_CONF_ErrNo 1
-#if MDK_CONF_ErrNo == 1
-#define HAVE_ERRNO
-#endif
-//
-// Error Strings
-#define MDK_CONF_ErrorStrings 1
-#if MDK_CONF_ErrorStrings == 0
-#define NO_ERROR_STRINGS
-#endif
-//
-// zlib (need "zlib.h")
-#define MDK_CONF_LIBZ 0
-#if MDK_CONF_LIBZ == 1
-#define HAVE_LIBZ
-#endif
-//
-// CAVIUM (need CAVIUM headers)
-#define MDK_CONF_CAVIUM 0
-#if MDK_CONF_CAVIUM == 1
-#define HAVE_CAVIUM
-#endif
-//
-
-//
-
-
-
-//
-// <<< end of configuration section >>>
diff --git a/IDE/MDK5-ARM/Conf/config-wolfSSL.h b/IDE/MDK5-ARM/Conf/config-wolfSSL.h
deleted file mode 100644
index 4a7c22dfd..000000000
--- a/IDE/MDK5-ARM/Conf/config-wolfSSL.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* config-wolfSSL.h
- *
- * Copyright (C) 2006-2016 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
- */
-
-
-/**** wolfSSL Configuration ****/
-
-#define __CORTEX_M3__
-
-// <<< Use Configuration Wizard in Context Menu >>>
-// wolfSSL Configuration
-
-// SSL (Included by default)
-//
-
-// TLS
-#define MDK_CONF_TLS 1
-#if MDK_CONF_TLS == 0
-#define NO_TLS
-#endif
-//
-
-// CRL
-#define MDK_CONF_DER_LOAD 0
-#if MDK_CONF_DER_LOAD == 1
-#define WOLFSSL_DER_LOAD
-#endif
-//
-// OpenSSL Extra
-#define MDK_CONF_OPENSSL_EXTRA 1
-#if MDK_CONF_OPENSSL_EXTRA == 1
-#define OPENSSL_EXTRA
-#endif
-//
-//
-
-// Cert/Key Generation
-// CertGen
-#define MDK_CONF_CERT_GEN 0
-#if MDK_CONF_CERT_GEN == 1
-#define WOLFSSL_CERT_GEN
-#endif
-//
-// KeyGen
-#define MDK_CONF_KEY_GEN 0
-#if MDK_CONF_KEY_GEN == 1
-#define WOLFSSL_KEY_GEN
-#endif
-//
-//
-
-// Others
-
-// Debug
-// Debug Message
-#define MDK_CONF_DebugMessage 0
-#if MDK_CONF_DebugMessage == 1
-#define DEBUG_WOLFSSL
-#endif
-//
-// Check malloc
-#define MDK_CONF_CheckMalloc 1
-#if MDK_CONF_CheckMalloc == 1
-#define WOLFSSL_MALLOC_CHECK
-#define USE_WOLFSSL_MEMORY
-#endif
-//
-
-
-//
-
-
-// <<< end of configuration section >>>
diff --git a/IDE/MDK5-ARM/Conf/user_settings.h b/IDE/MDK5-ARM/Conf/user_settings.h
index baa49f147..8aefe9444 100644
--- a/IDE/MDK5-ARM/Conf/user_settings.h
+++ b/IDE/MDK5-ARM/Conf/user_settings.h
@@ -1,77 +1,449 @@
#define NO_MAIN_DRIVER
#define BENCH_EMBEDDED
-
#define NO_DEV_RANDOM
-
#define WOLFSSL_USER_CURRTIME
#define SIZEOF_LONG_LONG 8
#define NO_WRITEV
+#define NO_DEV_RANDOM
+#define NO_BIG_INT
#define TFM_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#define WC_RSA_BLINDING
-/* #define SINGLE_THREADED or define RTOS option */
-#define WOLFSSL_CMSIS_RTOS
+#define WOLFSSL_USER_CURRTIME /* for benchmark */
+#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
-#define HAVE_AESGCM
-#define WOLFSSL_SHA512
-#define WOLFSSL_SHA384
-#define HAVE_ECC
-#define HAVE_CURVE25519
-/* #define CURVE25519_SMALL */
-#define HAVE_ED25519
-/* #define ED25519_SMALL */
-
-#define NO_ERROR_STRINGS
-#define NO_BIG_INT
-
-/* Hardware Crypt
-#define WOLFSSL_STM32_CUBEMX
-#define STM32_CRYPTO
-#define STM32_HASH
-#define STM32_RNG
-#define WOLFSSL_STM32F7
-#define STM32_HAL_TIMEOUT 0xFF
-*/
-
-
-/*
-#define WOLFSSL_TLS13
-#define HAVE_TLS_EXTENSIONS
-#define WC_RSA_PSS
-#define HAVE_HKDF
-*/
-
-/* #define NO_FILESYSTEM or define Filesystem option */
-#define NO_WOLFSSL_DIR
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
#define WOLFSSL_KEIL_TCP_NET
-#define NO_DEV_RANDOM
/* define your Rand gen for the operational use */
#define WOLFSSL_GENSEED_FORTEST
#define HAVE_HASHDRBG
-#define USE_WOLFSSL_MEMORY
-#define WOLFSSL_MALLOC_CHECK
#define XVALIDATE_DATE(d, f,t) (1)
-//#define TIME_OVERRIDES
-#include
-#define XGMTIME(a, b) gmtime(a, b)
-unsigned int HAL_GetTick(void);
-#define XTIME(a) HAL_GetTick()
+// <<< Use Configuration Wizard in Context Menu >>>
-#define HAVE_TIME_T_TYPE
-#define HAVE_TM_TYPE
-#define WOLFSSL_USER_CURRTIME /* for benchmark */
-#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */
+// Common options
+// Thread/RTOS<0=>Single Threaded <1=>FreeRTOS <2=>SafeRTOS<3=>Windows
+// <4=>PThread <5=>ThreadX<6=> ThreadX/NetX
+// <7=>Micrium <8=>EBSnet<9=>MQX
+// <10=>T-RTOS <11=>uITRON4<12=>uTKERNEL2
+// <13=>Frosted <14=>CMSIS RTOS<15=>Others
+#define MDK_CONF_THREAD 14
+#if MDK_CONF_THREAD== 0
+#define SINGLE_THREADED
+#elif MDK_CONF_THREAD == 1
+#define FREERTOS
+#elif MDK_CONF_THREAD == 3
+#define WOLFSSL_SAFERTOS
+#elif MDK_CONF_THREAD == 4
+#define USE_WINDOWS_API
+#elif MDK_CONF_THREAD == 5
+#define WOLFSSL_PTHREADS
+#elif MDK_CONF_THREAD == 6
+#define THREADX
+#define NETX
+#elif MDK_CONF_THREAD == 7
+#define MICRIUM
+#elif MDK_CONF_THREAD == 8
+#define EBSNET
+#elif MDK_CONF_THREAD == 9
+#define FREESCALE_MQX
+#define FREESCALE_KSDK_MQX
+#elif MDK_CONF_THREAD == 10
+#define WOLFSSL_TIRTOS
+#elif MDK_CONF_THREAD == 11
+#define WOLFSSL_uITRON4
+#elif MDK_CONF_THREAD == 12
+#define WOLFSSL_uTKERNEL2
+#elif MDK_CONF_THREAD == 13
+#define WOLFSSL_FROSTED
+#elif MDK_CONF_THREAD == 14
+#define WOLFSSL_CMSIS_RTOS
+#elif MDK_CONF_THREAD == 15
+#define SINGLE_THREADED
+#endif
+
+
+// File System
+#define MDK_CONF_FILESYSTEM 1
+#if MDK_CONF_FILESYSTEM == 0
+#define NO_FILESYSTEM
+#else
+#define WOLFSSL_KEIL_FS
+#define NO_WOLFSSL_DIR
+#endif
+//
+
+// Debug options
+
+// Debug Message
+#define MDK_CONF_DebugMessage 0
+#if MDK_CONF_DebugMessage == 1
+#define DEBUG_WOLFSSL
+#endif
+//
+// Check malloc
+#define MDK_CONF_CheckMalloc 1
+#if MDK_CONF_CheckMalloc == 1
+#define WOLFSSL_MALLOC_CHECK
+#define USE_WOLFSSL_MEMORY
+#endif
+//
+// ErrNo.h
+#define MDK_CONF_ErrNo 1
+#if MDK_CONF_ErrNo == 1
+#define HAVE_ERRNO
+#endif
+//
+// Error Strings
+#define MDK_CONF_ErrorStrings 1
+#if MDK_CONF_ErrorStrings == 0
+#define NO_ERROR_STRINGS
+#endif
+//
+
+//
+//
+
+// wolfCrypt Configuration
+
+// Crypt Algrithm
+
+// MD2
+#define MDK_CONF_MD2 1
+#if MDK_CONF_MD2 == 1
+#define WOLFSSL_MD2
+#endif
+//
+// MD4
+#define MDK_CONF_MD4 1
+#if MDK_CONF_MD4 == 0
+#define NO_MD4
+#endif
+//
+// MD5
+#define MDK_CONF_MD5 1
+#if MDK_CONF_MD5 == 0
+#define NO_MD5
+#endif
+//
+// SHA
+#define MDK_CONF_SHA 1
+#if MDK_CONF_SHA == 0
+#define NO_SHA
+#endif
+//
+// SHA-256
+#define MDK_CONF_SHA256 1
+#if MDK_CONF_SHA256 == 0
+#define NO_SHA256
+#endif
+//
+// SHA-384
+#define MDK_CONF_SHA384 1
+#if MDK_CONF_SHA384 == 1
+#define WOLFSSL_SHA384
+#endif
+//
+// SHA-512
+#define MDK_CONF_SHA512 1
+#if MDK_CONF_SHA512 == 1
+#define WOLFSSL_SHA512
+#endif
+//
+// RIPEMD
+#define MDK_CONF_RIPEMD 1
+#if MDK_CONF_RIPEMD == 1
+#define WOLFSSL_RIPEMD
+#endif
+//
+// BLAKE2
+#define MDK_CONF_BLAKE2 0
+#if MDK_CONF_BLAKE2 == 1
+#define HAVE_BLAKE2
+#endif
+//
+// HMAC
+#define MDK_CONF_HMAC 1
+#if MDK_CONF_HMAC == 0
+#define NO_HMAC
+#endif
+//
+// HMAC KDF
+#define MDK_CONF_HKDF 1
+#if MDK_CONF_HKDF == 1
+#define HAVE_HKDF
+#endif
+//
+
+// AES CCM
+#define MDK_CONF_AESCCM 1
+#if MDK_CONF_AESCCM == 1
+#define HAVE_AESCCM
+#endif
+//
+// AES GCM
+#define MDK_CONF_AESGCM 1
+#if MDK_CONF_AESGCM == 1
+#define HAVE_AESGCM
+#endif
+//
+
+// RC4
+#define MDK_CONF_RC4 1
+#if MDK_CONF_RC4 == 0
+#define NO_RC4
+#endif
+//
+
+// HC128
+#define MDK_CONF_HC128 1
+#if MDK_CONF_AESGCM == 0
+#define NO_HC128
+#endif
+//
+
+// RABBIT
+#define MDK_CONF_RABBIT 1
+#if MDK_CONF_RABBIT == 0
+#define NO_RABBIT
+#endif
+//
+
+// CHACHA
+#define MDK_CONF_CHACHA 1
+#if MDK_CONF_CHACHA == 1
+#define HAVE_CHACHA
+#endif
+//
+
+// POLY1305
+#define MDK_CONF_POLY1305 1
+#if MDK_CONF_POLY1305 == 1
+#define HAVE_POLY1305
+#define HAVE_ONE_TIME_AUTH
+#endif
+//
+
+// DES3
+#define MDK_CONF_DES3 1
+#if MDK_CONF_DES3 == 0
+#define NO_DES3
+#endif
+//
+
+// AES
+#define MDK_CONF_AES 1
+#if MDK_CONF_AES == 0
+#define NO_AES
+#endif
+//
+
+// CAMELLIA
+#define MDK_CONF_CAMELLIA 1
+#if MDK_CONF_CAMELLIA == 1
+#define HAVE_CAMELLIA
+#endif
+//
+
+// DH
+#define MDK_CONF_DH 1
+#if MDK_CONF_DH == 0
+#define NO_DH
+#endif
+//
+// DSA
+#define MDK_CONF_DSA 1
+#if MDK_CONF_DSA == 0
+#define NO_DSA
+#endif
+//
+
+// SRP
+#define MDK_CONF_SRP 1
+#if MDK_CONF_SRP == 1
+#define HAVE_SRP
+#endif
+//
+
+// PWDBASED
+#define MDK_CONF_PWDBASED 1
+#if MDK_CONF_PWDBASED == 0
+#define NO_PWDBASED
+#endif
+//
+
+// ECC
+#define MDK_CONF_ECC 1
+#if MDK_CONF_ECC == 1
+#define HAVE_ECC
+#endif
+//
+
+// CURVE25519
+#define MDK_CONF_CURVE25519 1
+#if MDK_CONF_CURVE25519 == 1
+#define HAVE_CURVE25519
+#define CURVED25519_SMALL
+#endif
+//
+// CURVE25519 SMALL
+#define MDK_CONF_CURVE25519_SMALL 0
+#if MDK_CONF_CURVE25519_SMALL == 1
+#define CURVED25519_SMALL
+#endif
+//
+// ED25519
+#define MDK_CONF_ED25519 1
+#if MDK_CONF_ED25519 == 1
+#define HAVE_ED25519
+#endif
+//
+// ED25519 SMALL
+#define MDK_CONF_ED25519_SMALL 0
+#if MDK_CONF_ED25519_SMALL == 1
+#define ED25519_SMALL
+#endif
+//
+// PKCS7
+#define MDK_CONF_PKCS7 0
+#if MDK_CONF_PKCS7 == 1
+#define HAVE_PKCS7
+#endif
+//
+
+// NTRU (need License, "crypto_ntru.h")
+#define MDK_CONF_NTRU 0
+#if MDK_CONF_NTRU == 1
+#define HAVE_NTRU
+#endif
+//
+//
+
+// Hardware Crypt (See document for usage)
+// Hardware RNG
+#define MDK_CONF_STM32F2_RNG 0
+#if MDK_CONF_STM32F2_RNG == 1
+#define WOLFSSL_STM32_CUBEMX
+#define STM32_RNG
+#define WOLFSSL_STM32F7
+#define STM32F7xx
+#define WC_ASYNC_DEV_SIZE 320+24
+#define STM32_HAL_TIMEOUT 0xFF
+#else
+
+#endif
+//
+// Hardware Crypt
+#define MDK_CONF_STM32F2_CRYPTO 0
+#if MDK_CONF_STM32F2_CRYPTO == 1
+#define WOLFSSL_STM32_CUBEMX
+#define STM32_CRYPTO
+#define WOLFSSL_STM32F7
+#define STM32F7xx
+#define WC_ASYNC_DEV_SIZE 320+24
+#define STM32_HAL_TIMEOUT 0xFF
+#endif
+//
+// Hardware Hash
+#define MDK_CONF_STM32F2_HASH 0
+#if MDK_CONF_STM32F2_HASH == 1
+#define WOLFSSL_STM32_CUBEMX
+#define STM32_HASH
+#define WOLFSSL_STM32F7
+#define STM32F7xx
+#define WC_ASYNC_DEV_SIZE 320+24
+#define STM32_HAL_TIMEOUT 0xFF
+#endif
+//
+//
+// Cert/Key Strage
+// Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
+#define MDK_CONF_CERT_BUFF 0
+#if MDK_CONF_CERT_BUFF== 1
+#define USE_CERT_BUFFERS_1024
+#elif MDK_CONF_CERT_BUFF == 2
+#define USE_CERT_BUFFERS_2048
+#endif
+//
+// Cert/Key Generation
+// CertGen
+#define MDK_CONF_CERT_GEN 0
+#if MDK_CONF_CERT_GEN == 1
+#define WOLFSSL_CERT_GEN
+#endif
+//
+// KeyGen
+#define MDK_CONF_KEY_GEN 0
+#if MDK_CONF_KEY_GEN == 1
+#define WOLFSSL_KEY_GEN
+#endif
+//
+//
+// Use Fast Math
+#define MDK_CONF_FASTMATH 1
+#if MDK_CONF_FASTMATH == 1
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
+#endif
+//
+// Small Stack
+#define MDK_CONF_SmallStack 0
+#if MDK_CONF_SmallStack == 0
+#define NO_WOLFSSL_SMALL_STACK
+#endif
+//
+
+//
+
+
+/**** wolfSSL Configuration ****/
+
+// wolfSSL Configuration
+
+// TLS 1.3
+#define MDK_CONF_TLS 0
+#if MDK_CONF_TLS == 1
+#define WOLFSSL_TLS13
+#define HAVE_TLS_EXTENSIONS
+#define WC_RSA_PSS
+#define HAVE_HKDF
+#define HAVE_FFDHE_2048
+#endif
+//
+
+// Include Old TLS
+#define MDK_CONF_NO_OLDTLS 0
+#if MDK_CONF_NO_OLDTLS == 0
+#define NO_OLD_TLS
+#endif
+//
+// CRL
+#define MDK_CONF_CRL 0
+#if MDK_CONF_CRL == 1
+#define HAVE_CRL
+#define WOLFSSL_DER_LOAD
+#endif
+//
+// OCSP
+#define MDK_CONF_OCSP 0
+#if MDK_CONF_OCSP == 1
+#define HAVE_OCSP
+#endif
+//
+// OpenSSL Extra
+#define MDK_CONF_OPENSSL_EXTRA 1
+#if MDK_CONF_OPENSSL_EXTRA == 1
+#define OPENSSL_EXTRA
+#endif
+//
+
+//
-/* #define DEBUG_WOLFSSL for Debug Log */
diff --git a/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h b/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h
index a0fcab9c4..243bf0ad7 100644
--- a/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h
+++ b/IDE/MDK5-ARM/Inc/wolfssl_MDK_ARM.h
@@ -73,7 +73,9 @@ typedef int socklen_t ;
#define tcp_socket wolfssl_tcp_soket
#define tcp_listen wolfssl_tcp_listen
#define tcp_select(a,b) (0)
-
+#define connect(a,b,c) connect(a, (SOCKADDR *)(b), c)
+#define SOCKADDR struct sockaddr
+
/** KEIL-RL TCPnet ****/
/* TCPnet BSD socket does not have following functions. */
extern char *inet_ntoa(struct in_addr in);