From 55fdeacf876dafc7210ce1078d5595b994924023 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:26:41 +0900 Subject: [PATCH 01/21] CryptTest, CryptBenchmark/main.c for CMSIS-RTOSv2 --- IDE/MDK5-ARM/Projects/CryptBenchmark/main.c | 59 +++++++++++++-------- IDE/MDK5-ARM/Projects/CryptTest/main.c | 48 +++++------------ 2 files changed, 52 insertions(+), 55 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c b/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c index 25d9e3b5e..2ab319494 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/main.c @@ -30,8 +30,16 @@ #include #include +#if defined(WOLFSSL_CMSIS_RTOS) +#include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) +#include "cmsis_os2.h" +#endif + /* Dummy definition for test RTC */ -#define RTC_YEAR 2018 +#define RTC_YEAR 2019 +#define RTC_MONTH 1 +#define RTC_DAY 1 #define RTC_MONTH 1 #define RTC_DAY 1 @@ -56,32 +64,30 @@ static void CPU_CACHE_Enable (void) { } -#ifdef RTE_CMSIS_RTOS_RTX +#if defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2) + +#if defined(WOLFSSL_CMSIS_RTOS) extern uint32_t os_time; -static time_t epochTime; - -uint32_t HAL_GetTick(void) { - return os_time; -} - -time_t time(time_t *t){ - return epochTime ; -} - -void setTime(time_t t){ - epochTime = t; -} #endif -#ifdef WOLFSSL_CURRTIME_OSTICK - -#include -extern uint32_t os_time; +uint32_t HAL_GetTick(void) +{ + #if defined(WOLFSSL_CMSIS_RTOS) + return os_time; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return osKernelGetTickCount(); + #endif +} double current_time(int reset) { - if(reset) os_time = 0 ; - return (double)os_time /1000.0; + if (reset) + return 0; + #if defined(WOLFSSL_CMSIS_RTOS) + return (double)os_time / 1000.0; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return (double)osKernelGetTickCount() / 1000.0; + #endif } #else @@ -103,6 +109,17 @@ double current_time(int reset) } #endif +static time_t epochTime; +time_t time(time_t *t) +{ + return epochTime; +} + +void setTime(time_t t) +{ + epochTime = t; +} + /*----------------------------------------------------------------------------- * Initialize a Flash Memory Card *----------------------------------------------------------------------------*/ diff --git a/IDE/MDK5-ARM/Projects/CryptTest/main.c b/IDE/MDK5-ARM/Projects/CryptTest/main.c index 3d88e2e7d..199a78df2 100644 --- a/IDE/MDK5-ARM/Projects/CryptTest/main.c +++ b/IDE/MDK5-ARM/Projects/CryptTest/main.c @@ -28,8 +28,13 @@ #include #include +#if defined(WOLFSSL_CMSIS_RTOS) + #include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) + #include "cmsis_os2.h" +#endif /* Dummy definition for test RTC */ -#define RTC_YEAR 2018 +#define RTC_YEAR 2019 #define RTC_MONTH 1 #define RTC_DAY 1 @@ -55,14 +60,19 @@ static void CPU_CACHE_Enable (void) { } -#ifdef RTE_CMSIS_RTOS_RTX +#if defined(WOLFSSL_CMSIS_RTOS) extern uint32_t os_time; -static time_t epochTime; +#endif uint32_t HAL_GetTick(void) { - return os_time; + #if defined(WOLFSSL_CMSIS_RTOS) + return os_time; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return osKernelGetTickCount(); + #endif } +static time_t epochTime; time_t time(time_t *t){ return epochTime ; } @@ -70,36 +80,6 @@ time_t time(time_t *t){ void setTime(time_t t){ epochTime = t; } -#endif -#ifdef WOLFSSL_CURRTIME_OSTICK - -#include -extern uint32_t os_time; - -double current_time(int reset) -{ - if(reset) os_time = 0 ; - return (double)os_time /1000.0; -} - -#else - -#include -#define DWT ((DWT_Type *) (0xE0001000UL) ) -typedef struct -{ - uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ - uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ -} DWT_Type; - -extern uint32_t SystemCoreClock ; - -double current_time(int reset) -{ - if(reset) DWT->CYCCNT = 0 ; - return ((double)DWT->CYCCNT/SystemCoreClock) ; -} -#endif /*----------------------------------------------------------------------------- * Initialize a Flash Memory Card From 13f4086d532da17f6828561291024b536bc63a4e Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:27:58 +0900 Subject: [PATCH 02/21] SImpleClient/main.c for CMSIS-RTOSv2 and net4 --- IDE/MDK5-ARM/Projects/SimpleClient/main.c | 139 +++++++++++----------- 1 file changed, 68 insertions(+), 71 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/SimpleClient/main.c b/IDE/MDK5-ARM/Projects/SimpleClient/main.c index 472098717..c78944529 100644 --- a/IDE/MDK5-ARM/Projects/SimpleClient/main.c +++ b/IDE/MDK5-ARM/Projects/SimpleClient/main.c @@ -25,10 +25,15 @@ #include "wolfssl/wolfcrypt/settings.h" -#include "cmsis_os.h" /* CMSIS RTOS definitions */ #include "rl_net.h" /* Network definitions */ #include +#if defined(WOLFSSL_CMSIS_RTOS) + #include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) + #include "cmsis_os2.h" +#endif + #if defined(STM32F7xx) #include "stm32f7xx_hal.h" #elif defined(STM32F4xx) @@ -64,27 +69,59 @@ // RTC: for validate certificate date // Year <1970-2099> -#define RTC_YEAR 2018 -// Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec +#define RTC_YEAR 2019 +// Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aug<9=>Sep<10=>Oct<11=>Nov<12=>Dec #define RTC_MONTH 1 // Day <1-31> #define RTC_DAY 1 // //------------- <<< end of configuration section >>> ----------------------- + #warning "write MPU specific Set ups\n" -static void SystemClock_Config (void) { - +static void SystemClock_Config(void) +{ } -static void MPU_Config (void) { - +static void MPU_Config(void) +{ } -static void CPU_CACHE_Enable (void) { - +static void CPU_CACHE_Enable(void) +{ } +#if defined(WOLFSSL_CMSIS_RTOS) +extern uint32_t os_time; +#endif + +uint32_t HAL_GetTick(void) { + #if defined(WOLFSSL_CMSIS_RTOS) + return os_time; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return osKernelGetTickCount(); + #endif +} + +static time_t epochTime; +time_t time(time_t *t){ + return epochTime ; +} + +void setTime(time_t t){ + epochTime = t; +} + +double current_time(int reset) +{ + if (reset) + return 0; + #if defined(WOLFSSL_CMSIS_RTOS) + return (double)os_time / 1000.0; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return (double)osKernelGetTickCount() / 1000.0; + #endif +} /*----------------------------------------------------------------------------- * Initialize a Flash Memory Card @@ -111,62 +148,21 @@ static void init_filesystem (void) { } #endif +extern void client_test(void const*arg); -void net_loop(void const *arg) -{ - while(1) { - net_main (); - osThreadYield (); - } -} - -osThreadDef(net_loop, osPriorityLow, 2, 0); - -#ifdef RTE_CMSIS_RTOS_RTX -extern uint32_t os_time; -static time_t epochTime; - -uint32_t HAL_GetTick(void) { - return os_time; -} - -time_t time(time_t *t){ - return epochTime ; -} - -void setTime(time_t t){ - epochTime = t; -} -#endif - -#ifdef WOLFSSL_CURRTIME_OSTICK - -#include -extern uint32_t os_time; - -double current_time(int reset) -{ - if(reset) os_time = 0 ; - return (double)os_time /1000.0; -} - +#if defined(WOLFSSL_CMSIS_RTOSv2) +void app_main(void *arg) #else - -#include -#define DWT ((DWT_Type *) (0xE0001000UL) ) -typedef struct +void app_main(void const*arg) +#endif { - uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */ - uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ -} DWT_Type; - -extern uint32_t SystemCoreClock ; - -double current_time(int reset) -{ - if(reset) DWT->CYCCNT = 0 ; - return ((double)DWT->CYCCNT/SystemCoreClock) ; + if(netInitialize () == netOK) + client_test(arg); + else printf("ERROR: netInitialize\n"); } + +#if defined(WOLFSSL_CMSIS_RTOS) +osThreadDef(app_main, osPriorityLow, 1, 32*1024); #endif /*---------------------------------------------------------------------------- @@ -178,7 +174,6 @@ typedef struct func_args { char** argv; } func_args; -extern void client_test(func_args * args) ; int myoptind = 0; char* myoptarg = NULL; @@ -192,17 +187,19 @@ int main (void) { char *verStr[] = { "SSL3", "TLS1.0", "TLS1.1", "TLS1.2", "TLS1.3"}; #define VERSIZE 2 - char ver[VERSIZE]; + static char ver[VERSIZE]; MPU_Config(); /* Configure the MPU */ CPU_CACHE_Enable(); /* Enable the CPU Cache */ HAL_Init(); /* Initialize the HAL Library */ SystemClock_Config(); /* Configure the System Clock */ - + #if defined(WOLFSSL_CMSIS_RTOSv2) + osKernelInitialize(); + #endif + #if !defined(NO_FILESYSTEM) init_filesystem (); #endif - net_initialize (); #if defined(DEBUG_WOLFSSL) printf("Turning ON Debug message\n") ; @@ -217,12 +214,12 @@ int main (void) { printf(" Other options: %s\n", OTHER_OPTIONS); setTime((time_t)((RTC_YEAR-1970)*365*24*60*60) + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60); - osThreadCreate (osThread(net_loop), NULL); - - client_test(&args) ; - - while(1) - osDelay(1000); + #if defined(WOLFSSL_CMSIS_RTOS) + osThreadCreate (osThread(app_main), (void *)&args); + #elif defined(WOLFSSL_CMSIS_RTOSv2) + osThreadNew(app_main, (void *)&args, NULL); + #endif + osKernelStart(); } From cca27f672478af3fba10c47bcad8125b8295f091 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:29:19 +0900 Subject: [PATCH 03/21] examples/celient.c, server.c: removing unused headers --- examples/client/client.c | 2 -- examples/server/server.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index adb7ec708..1a7f85a07 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -31,10 +31,8 @@ #if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET) #include #include - #include "cmsis_os.h" #include "rl_fs.h" #include "rl_net.h" - #include "wolfssl_MDK_ARM.h" #endif #include diff --git a/examples/server/server.c b/examples/server/server.c index 713963a7f..1e0bf61ca 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -33,10 +33,8 @@ #if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET) #include #include - #include "cmsis_os.h" #include "rl_fs.h" #include "rl_net.h" - #include "wolfssl_MDK_ARM.h" #endif #include From 6f760d796c0d17774a049e6fac091a37eeafafd0 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:31:25 +0900 Subject: [PATCH 04/21] update project files: CryptTest, benchmark, SimpleClient --- .../CryptBenchmark/CryptBenchmark.uvoptx | 24 +- .../CryptBenchmark/CryptBenchmark.uvprojx | 164 +- .../Projects/CryptTest/CryptTest.uvoptx | 25 +- .../Projects/CryptTest/CryptTest.uvprojx | 92 +- .../Projects/SimpleClient/SimpleClient.uvoptx | 88 +- .../SimpleClient/SimpleClient.uvprojx | 238 ++- .../wolfSSL-Lib/wolfSSL-Lib.uvguix.takas | 1900 +++++++++++++++++ .../Projects/wolfSSL-Lib/wolfSSL-Lib.uvoptx | 96 +- 8 files changed, 2291 insertions(+), 336 deletions(-) create mode 100644 IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvoptx b/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvoptx index b1fbf5236..e598c5563 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvoptx +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvoptx @@ -101,7 +101,7 @@ 0 0 1 - 5 + 1 @@ -112,9 +112,14 @@ - STLink\ST-LINKIII-KEIL_SWO.dll + BIN\ULP2CM3.DLL + + 0 + ULP2CM3 + -UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) + 0 ST-LINKIII-KEIL_SWO @@ -138,7 +143,7 @@ 0 DLGUARM - (105=-1,-1,-1,-1,0) + 0 @@ -155,8 +160,13 @@ - C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd - Keil.MDK-Middleware.7.5.0 + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd + ARM.CMSIS.5.3.0 1 @@ -197,6 +207,10 @@ + + + + 1 0 diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvprojx b/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvprojx index 4997dd9f7..095377e60 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvprojx +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/CryptBenchmark.uvprojx @@ -16,7 +16,7 @@ STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -176,7 +176,7 @@ 0 "Cortex-M7" - 1 + 0 0 0 1 @@ -446,6 +446,12 @@ + + + + + + @@ -460,8 +466,14 @@ - - + + + + + + + + @@ -496,14 +508,14 @@ - - + + - - + + @@ -532,128 +544,128 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -661,57 +673,71 @@ - RTE\CMSIS\RTX_Conf_CM.c + RTE\CMSIS\RTX_Conf_CM.c + + + + RTE\CMSIS\RTX_Config.c + + - + + RTE\CMSIS\RTX_Config.h + + + + + + + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + @@ -766,8 +792,8 @@ RTE\wolfSSL\user_settings.h - - + + diff --git a/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvoptx b/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvoptx index c0dbc1d86..e3db5d534 100644 --- a/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvoptx +++ b/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvoptx @@ -101,7 +101,7 @@ 0 0 1 - 5 + 1 @@ -112,7 +112,7 @@ .\STM32_SWO.ini - STLink\ST-LINKIII-KEIL_SWO.dll + BIN\ULP2CM3.DLL @@ -128,7 +128,7 @@ 0 ULP2CM3 - -UP0940001 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIE1 -TIP1 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) + -UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO1 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP9 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) 0 @@ -143,7 +143,7 @@ 0 DLGUARM - (105=-1,-1,-1,-1,0) + 0 @@ -160,13 +160,18 @@ - C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd - Keil.MDK-Middleware.7.5.0 + C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.3\EventRecorder.scvd + Keil.ARM_Compiler.1.3.3 1 - C:\Keil_v5\ARM\PACK\Keil\ARM_Compiler\1.3.2\EventRecorder.scvd - Keil.ARM_Compiler.1.3.2 + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd + ARM.CMSIS.5.3.0 1 @@ -207,6 +212,10 @@ + + + + 1 0 diff --git a/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvprojx b/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvprojx index f79650902..8e4dcd595 100644 --- a/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvprojx +++ b/IDE/MDK5-ARM/Projects/CryptTest/CryptTest.uvprojx @@ -16,7 +16,7 @@ STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -176,7 +176,7 @@ 0 "Cortex-M7" - 1 + 0 0 0 1 @@ -456,6 +456,12 @@ + + + + + + @@ -470,8 +476,14 @@ - - + + + + + + + + @@ -512,14 +524,14 @@ - - + + - - + + @@ -644,20 +656,20 @@ - - + + - - + + - - + + @@ -665,9 +677,23 @@ - RTE\CMSIS\RTX_Conf_CM.c + RTE\CMSIS\RTX_Conf_CM.c + + + + RTE\CMSIS\RTX_Config.c + + + + + + + + RTE\CMSIS\RTX_Config.h + + @@ -680,50 +706,50 @@ - + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + @@ -742,8 +768,8 @@ RTE\wolfSSL\user_settings.h - - + + diff --git a/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvoptx b/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvoptx index 1e0d06b85..38fdb5408 100644 --- a/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvoptx +++ b/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvoptx @@ -101,7 +101,7 @@ 0 0 1 - 5 + 1 @@ -112,9 +112,14 @@ - STLink\ST-LINKIII-KEIL_SWO.dll + BIN\ULP2CM3.DLL + + 0 + ULP2CM3 + -UP1135060 -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) + 0 ST-LINKIII-KEIL_SWO @@ -138,7 +143,7 @@ 0 DLGUARM - (105=-1,-1,-1,-1,0) + 0 @@ -146,56 +151,7 @@ -UV0998FBE -O207 -S10 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(5BA02477) -L00(0) -TO18 -TC216000000 -TP21 -TDS80B8 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) - - - 0 - 0 - 185 - 1 -
134219474
- 0 - 0 - 0 - 0 - 0 - 1 - .\main.c - - \\SimpleClient\main.c\185 -
- - 1 - 0 - 181 - 1 -
134219494
- 0 - 0 - 0 - 0 - 0 - 1 - .\main.c - - \\SimpleClient\main.c\181 -
- - 2 - 0 - 306 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\main.c - - -
-
+ 0 @@ -204,8 +160,18 @@ - C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.4.1\FileSystem\FileSystem.scvd - Keil.MDK-Middleware.7.4.1 + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\Network\Network.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd + ARM.CMSIS.5.3.0 1 @@ -246,6 +212,10 @@ + + + + 1 0 @@ -337,7 +307,7 @@ ::Board Support - 0 + 1 0 0 1 @@ -353,7 +323,7 @@ ::CMSIS Driver - 0 + 1 0 0 1 @@ -377,7 +347,7 @@ ::File System - 1 + 0 0 0 1 @@ -385,7 +355,7 @@ ::Network - 0 + 1 0 0 1 diff --git a/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx b/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx index 4476a45e1..913abe82b 100644 --- a/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx +++ b/IDE/MDK5-ARM/Projects/SimpleClient/SimpleClient.uvprojx @@ -16,7 +16,7 @@ STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -176,7 +176,7 @@ 0 "Cortex-M7" - 1 + 0 0 0 1 @@ -489,6 +489,12 @@
+ + + + + + @@ -515,8 +521,14 @@ - - + + + + + + + + @@ -551,50 +563,50 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -629,244 +641,264 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - RTE\CMSIS\RTX_Conf_CM.c + + RTE\CMSIS\RTX_Conf_CM.c + + + + RTE\CMSIS\RTX_Config.c + + - + + RTE\CMSIS\RTX_Config.h + + + + + + + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + - + RTE\Network\Net_Config.c - - + + - + RTE\Network\Net_Config_BSD.h - - + + - + RTE\Network\Net_Config_DNS_Client.h - - + + - + RTE\Network\Net_Config_ETH_0.h - - + + - + RTE\Network\Net_Config_TCP.h - - + + - + RTE\Network\Net_Config_UDP.h - - + + + + RTE\Network\Net_Debug.c + + + + RTE\wolfSSL\config-Crypt.h @@ -879,10 +911,10 @@ - + RTE\wolfSSL\user_settings.h - - + + diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas new file mode 100644 index 000000000..6fb50b242 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas @@ -0,0 +1,1900 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 115 389 + + + 346 + Code Coverage + 770 160 + + + 204 + Performance Analyzer + 930 + + + + + + 1506 + Symbols + + 64 64 64 + + + 1936 + Watch 1 + + 64 64 64 + + + 1937 + Watch 2 + + 64 64 64 + + + 1935 + Call Stack + Locals + + 64 64 64 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser - *** Not Enabled *** + 500 + 300 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 0 + 1 + + -32000 + -32000 + + + -1 + -1 + + + 33 + 225 + 1525 + 869 + + + + 0 + + 1143 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000080000000100000054453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C776F6C6653534C5C757365725F73657474696E67732E68000000000F757365725F73657474696E67732E6800000000C5D4F200FFFFFFFF5E433A5C4B65696C5F76355C41524D5C5041434B5C4B65696C5C53544D3332463778785F4446505C322E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C2E63000000000F73746D3332663778785F68616C2E6300000000FFDC7800FFFFFFFF54433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6673736C5C776F6C6663727970745C706F72745C73745C73746D33322E68000000000773746D33322E6800000000BECEA100FFFFFFFF4E433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6673736C5C776F6C6663727970745C77635F706F72742E68000000000977635F706F72742E6800000000F0A0A100FFFFFFFF51453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C4E6574776F726B5C4E65745F436F6E6669672E63000000000C4E65745F436F6E6669672E6300000000BCA8E100FFFFFFFF4F453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C434D5349535C5254585F436F6E6669672E63000000000C5254585F436F6E6669672E63000000009CC1B600FFFFFFFF4F453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C434D5349535C5254585F436F6E6669672E68000000000C5254585F436F6E6669672E6800000000F7B88600FFFFFFFF4A433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6663727970745C7372635C77635F706F72742E63000000000977635F706F72742E6300000000D9ADC200FFFFFFFF3C433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C7372635C746C732E630000000005746C732E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF0200008F000000ED05000021020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C40000004F00000070040000C3000000 + + + 16 + AD0100008F0000005905000003010000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FF010000C8010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FF010000C8010000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FF010000C8010000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FF010000C8010000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 00000000AD0100007004000035020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 199 + 199 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + C7000000660000006D040000AA000000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000FF010000C8010000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A1000000C202000015010000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000FC01000001050000F1020000 + + + 16 + 8A000000A10000006D01000075020000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + B3030000660000006D040000A4010000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 940 + 0 + 8192 + 0 + + 16 + 0000000000000000B70300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000000A030000040500001D030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 463 + 0 + 8192 + 1 + + 16 + 000000001C000000DA01000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 612 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000C40100006D0400001C020000 + + + 16 + 8A000000A10000004A01000049010000 + + + + 3258 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000C300000070040000C7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000AD0100008F0000005905000003010000C40000004F00000070040000C30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000BD010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000990400008F00000059050000FD010000B00300004F00000070040000BD01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF020200004F00000006020000E101000001000000020000100400000001000000ABFEFFFF56030000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000E90000008F000000EB02000021020000000000004F00000002020000E10100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000A901000070040000AD01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000E9000000ED010000590500007502000000000000AD010000700400003502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000AD0100003C0200003502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000E101000004050000E50100000100000001000010040000000100000002FEFFFFB2000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000E900000025020000ED0500004A03000000000000E5010000040500000A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2331 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000076F735F74696D6596000000000000001400076F735F74696D650C4241445F46554E435F4152470A6D616C6C6F635F636E740F49544D5F52656365697665436861720D776F6C6673736C5F66676574731062656E63685F55736167655F6D73673114455448305F5448524541445F5052494F5249545911574F4C4653534C5F4D444B5F5348454C4C12574F4C4653534C5F4E4F5F435552524449520B636C694365727446696C65076F75724365727409776F6C6653534C4950085254435F594541520D43616E6E6F6E206372656174650A4472697665725F5350490A5354415449435F525341064E4F5F41534E0674696D652E6808574F4C465F433939067573617274310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020004001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 684 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000B776F6C6653534C2D4C6962960000000000000001000B776F6C6653534C2D4C6962000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1536 + 864 + + + + + + 1 + 0 + + 100 + 8 + + .\RTE\wolfSSL\user_settings.h + 0 + 40 + 57 + 1 + + 0 + + + C:\Keil_v5\ARM\PACK\Keil\STM32F7xx_DFP\2.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal.c + 0 + 55 + 62 + 1 + + 0 + + + C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfssl\wolfcrypt\port\st\stm32.h + 0 + 81 + 101 + 1 + + 0 + + + C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfssl\wolfcrypt\wc_port.h + 0 + 1 + 1 + 1 + + 0 + + + RTE\Network\Net_Config.c + 0 + 1 + 12 + 1 + + 0 + + + RTE\CMSIS\RTX_Config.c + 0 + 1 + 1 + 1 + + 0 + + + RTE\CMSIS\RTX_Config.h + 0 + 1 + 1 + 1 + + 0 + + + C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfcrypt\src\wc_port.c + 0 + 1253 + 1 + 1 + + 0 + + + C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\src\tls.c + 19 + 7874 + 7885 + 1 + + 0 + + + + +
diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvoptx b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvoptx index 5308bcfa7..1f0fdd699 100644 --- a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvoptx +++ b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvoptx @@ -8,7 +8,7 @@ *.c *.s*; *.src; *.a* - *.obj + *.obj; *.o *.lib *.txt; *.h; *.inc *.plm @@ -26,7 +26,7 @@ 0x4 ARM-ADS - 120000000 + 12000000 1 1 @@ -78,23 +78,6 @@ 1 18 - - - 0 - Schematics (MCBSTM32F200) - C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf - - - 1 - User Manual (MCBSTM32F200) - C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm - - - 2 - MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200) - http://www.keil.com/mcbstm32f200/ - - 0 1 @@ -117,7 +100,8 @@ 1 0 0 - 7 + 1 + 1 @@ -131,6 +115,16 @@ BIN\ULP2CM3.DLL + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20020000 -FC1000 -FN2 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FF1STM32F7x_1024dual -FS18000000 -FL1100000 -FP0($$Device:STM32F765NGHx$CMSIS\Flash\STM32F7x_1024.FLM) -FP1($$Device:STM32F765NGHx$CMSIS\Flash\STM32F7x_1024dual.FLM)) + + + 0 + ULP2CM3 + -UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO3 -TC10000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.flm -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm) + 0 DLGUARM @@ -146,16 +140,6 @@ ARMDBGFLAGS - - 0 - ULP2CM3 - -UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO3 -TC10000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.flm -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm) - - - 0 - UL2CM3 - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm)) - @@ -174,6 +158,16 @@ 0 + + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\Network\Network.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd + ARM.CMSIS.5.3.0 + 1 + 0 @@ -205,6 +199,17 @@ + 0 + 0 + 0 + + + + + + + + @@ -219,33 +224,6 @@ 1 5 0 - 0 - 0 - 0 - .\RTE\wolfSSL\config-Crypt.h - config-Crypt.h - 0 - 0 -
- - 1 - 2 - 5 - 0 - 0 - 0 - 0 - .\RTE\wolfSSL\config-wolfSSL.h - config-wolfSSL.h - 0 - 0 - - - 1 - 3 - 5 - 0 - 0 0 0 .\RTE\wolfSSL\user_settings.h @@ -273,7 +251,7 @@ ::CMSIS - 0 + 1 0 0 1 @@ -297,7 +275,7 @@ ::Network - 0 + 1 0 0 1 From 50598dcbac76ca63aa6a65673ca15cc2257c0c8a Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:49:20 +0900 Subject: [PATCH 05/21] wc_port.c nad header files for ROTSv2 --- wolfcrypt/src/wc_port.c | 37 +++++++++++++++++++++++++++++++++++++ wolfssl/internal.h | 10 +++++----- wolfssl/test.h | 13 +++++++------ wolfssl/wolfio.h | 3 ++- 4 files changed, 51 insertions(+), 12 deletions(-) diff --git a/wolfcrypt/src/wc_port.c b/wolfcrypt/src/wc_port.c index 0a8483b3a..6b8d1ae93 100644 --- a/wolfcrypt/src/wc_port.c +++ b/wolfcrypt/src/wc_port.c @@ -1260,6 +1260,43 @@ int wolfSSL_CryptHwMutexUnLock(void) { osMutexRelease (*m); return 0; } + +#elif defined(WOLFSSL_CMSIS_RTOSv2) + int wc_InitMutex(wolfSSL_Mutex *m) + { + static const osMutexAttr_t attr = { + "wolfSSL_mutex", osMutexRecursive, NULL, 0}; + + if ((*m = osMutexNew(&attr)) != NULL) + return 0; + else + return BAD_MUTEX_E; + } + + int wc_FreeMutex(wolfSSL_Mutex *m) + { + if (osMutexDelete(*m) == osOK) + return 0; + else + return BAD_MUTEX_E; + } + + + int wc_LockMutex(wolfSSL_Mutex *m) + { + if (osMutexAcquire(*m, osWaitForever) == osOK) + return 0; + else + return BAD_MUTEX_E; + } + + int wc_UnLockMutex(wolfSSL_Mutex *m) + { + if (osMutexRelease(*m) == osOK) + return 0; + else + return BAD_MUTEX_E; + } #elif defined(WOLFSSL_MDK_ARM) diff --git a/wolfssl/internal.h b/wolfssl/internal.h index f2e4853ed..53a731885 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -146,14 +146,14 @@ /* do nothing */ #elif defined(WOLFSSL_CMSIS_RTOS) #include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) + #include "cmsis_os2.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) + #include "cmsis_os2.h" #elif defined(WOLFSSL_MDK_ARM) - #if defined(WOLFSSL_MDK5) - #include "cmsis_os.h" - #else + #if !defined(WOLFSSL_MDK5) #include #endif -#elif defined(WOLFSSL_CMSIS_RTOS) - #include "cmsis_os.h" #elif defined(MBED) #elif defined(WOLFSSL_TIRTOS) /* do nothing */ diff --git a/wolfssl/test.h b/wolfssl/test.h index adb321309..5e13cb386 100644 --- a/wolfssl/test.h +++ b/wolfssl/test.h @@ -52,18 +52,19 @@ #include #include "rl_net.h" #define SOCKET_T int - typedef int socklen_t ; - static unsigned long inet_addr(const char *cp) + typedef int socklen_t ; + #define inet_addr wolfSSL_inet_addr + static unsigned long wolfSSL_inet_addr(const char *cp) { unsigned int a[4] ; unsigned long ret ; sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) ; ret = ((a[3]<<24) + (a[2]<<16) + (a[1]<<8) + a[0]) ; return(ret) ; } - #if defined(HAVE_KEIL_RTX) - #define sleep(t) os_dly_wait(t/1000+1) ; - #elif defined (WOLFSSL_CMSIS_RTOS) - #define sleep(t) osDelay(t/1000+1) ; + #if defined(HAVE_KEIL_RTX) + #define sleep(t) os_dly_wait(t/1000+1); + #elif defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2) + #define sleep(t) osDelay(t/1000+1); #endif #elif defined(WOLFSSL_TIRTOS) #include diff --git a/wolfssl/wolfio.h b/wolfssl/wolfio.h index 2e810753a..6c1bac030 100644 --- a/wolfssl/wolfio.h +++ b/wolfssl/wolfio.h @@ -69,11 +69,12 @@ #elif defined(FREESCALE_KSDK_MQX) #include #elif (defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)) - #include "cmsis_os.h" #include "rl_net.h" #include "errno.h" #elif defined(WOLFSSL_CMSIS_RTOS) #include "cmsis_os.h" + #elif defined(WOLFSSL_CMSIS_RTOSv2) + #include "cmsis_os2.h" #elif defined(WOLFSSL_TIRTOS) #include #elif defined(FREERTOS_TCP) From 6a25b42efba8e1ca4e058ade0402ba35342fc950 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:49:49 +0900 Subject: [PATCH 06/21] fix worning --- src/tls.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tls.c b/src/tls.c index fd6591d08..0ee64c9d6 100644 --- a/src/tls.c +++ b/src/tls.c @@ -7430,7 +7430,7 @@ word16 TLSX_PreSharedKey_GetSizeBinders(PreSharedKey* list, byte msgType) word16 len; if (msgType != client_hello) - return SANITY_MSG_E; + return (word16)SANITY_MSG_E; /* Length of all binders. */ len = OPAQUE16_LEN; @@ -7459,7 +7459,7 @@ word16 TLSX_PreSharedKey_WriteBinders(PreSharedKey* list, byte* output, word16 len; if (msgType != client_hello) - return SANITY_MSG_E; + return (word16)SANITY_MSG_E; /* Skip length of all binders. */ lenIdx = idx; @@ -7535,7 +7535,7 @@ static word16 TLSX_PreSharedKey_Write(PreSharedKey* list, byte* output, for (i=0; list != NULL && !list->chosen; i++) list = list->next; if (list == NULL) - return BUILD_MSG_ERROR; + return (word16)BUILD_MSG_ERROR; /* The index of the identity chosen by the server from the list supplied * by the client. @@ -7853,7 +7853,7 @@ static word16 TLSX_PskKeModes_GetSize(byte modes, byte msgType) return len; } - return SANITY_MSG_E; + return (word16)SANITY_MSG_E; } /* Writes the PSK KE modes extension into the output buffer. @@ -7882,7 +7882,7 @@ static word16 TLSX_PskKeModes_Write(byte modes, byte* output, byte msgType) return idx; } - return SANITY_MSG_E; + return (word16)SANITY_MSG_E; } /* Parse the PSK KE modes extension. From 4821d06dff24c334ef3e28d8b31ed2abc8408b08 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 07:50:15 +0900 Subject: [PATCH 07/21] fix worning --- src/tls13.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tls13.c b/src/tls13.c index 3a1983944..19312135a 100644 --- a/src/tls13.c +++ b/src/tls13.c @@ -6215,7 +6215,6 @@ static int DoTls13KeyUpdate(WOLFSSL* ssl, const byte* input, word32* inOutIdx, break; default: return INVALID_PARAMETER; - break; } /* Move index to byte after message. */ From 64a528f318b8da17c9dd06443475fe9b69916e1a Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 08:03:49 +0900 Subject: [PATCH 08/21] remove unused code --- IDE/MDK5-ARM/Src/ssl-dummy.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/IDE/MDK5-ARM/Src/ssl-dummy.c b/IDE/MDK5-ARM/Src/ssl-dummy.c index b62ac347a..3fe9926b3 100644 --- a/IDE/MDK5-ARM/Src/ssl-dummy.c +++ b/IDE/MDK5-ARM/Src/ssl-dummy.c @@ -24,30 +24,16 @@ #include #endif -#include -#include +#include +#include Signer* GetCA(void* vp, byte* hash) { return NULL ; } -int CyaSSL_dtls(CYASSL* ssl) -{ - return NULL ; -} - -int CyaSSL_get_using_nonblock(CYASSL* ssl) -{ - return NULL ; -} - Signer* GetCAByName(void* vp, byte* hash) { return NULL ; } -int CyaSSL_PemCertToDer(const char* fileName, unsigned char* derBuf, int derSz) -{ - return NULL ; -} From 034d1dff21b85eb8217220e514df51e02480daa9 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 08:05:11 +0900 Subject: [PATCH 09/21] remove unused project file --- .../wolfSSL-Lib/wolfSSL-Lib.uvguix.takas | 1900 ----------------- 1 file changed, 1900 deletions(-) delete mode 100644 IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas deleted file mode 100644 index 6fb50b242..000000000 --- a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvguix.takas +++ /dev/null @@ -1,1900 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - - - - 38003 - Registers - 115 389 - - - 346 - Code Coverage - 770 160 - - - 204 - Performance Analyzer - 930 - - - - - - 1506 - Symbols - - 64 64 64 - - - 1936 - Watch 1 - - 64 64 64 - - - 1937 - Watch 2 - - 64 64 64 - - - 1935 - Call Stack + Locals - - 64 64 64 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - *** Not Enabled *** - 500 - 300 - - - - - - - - 1 - 1 - 0 - 0 - -1 - - - - - - - 44 - 0 - 1 - - -32000 - -32000 - - - -1 - -1 - - - 33 - 225 - 1525 - 869 - - - - 0 - - 1143 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000009000000080000000100000054453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C776F6C6653534C5C757365725F73657474696E67732E68000000000F757365725F73657474696E67732E6800000000C5D4F200FFFFFFFF5E433A5C4B65696C5F76355C41524D5C5041434B5C4B65696C5C53544D3332463778785F4446505C322E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C2E63000000000F73746D3332663778785F68616C2E6300000000FFDC7800FFFFFFFF54433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6673736C5C776F6C6663727970745C706F72745C73745C73746D33322E68000000000773746D33322E6800000000BECEA100FFFFFFFF4E433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6673736C5C776F6C6663727970745C77635F706F72742E68000000000977635F706F72742E6800000000F0A0A100FFFFFFFF51453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C4E6574776F726B5C4E65745F436F6E6669672E63000000000C4E65745F436F6E6669672E6300000000BCA8E100FFFFFFFF4F453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C434D5349535C5254585F436F6E6669672E63000000000C5254585F436F6E6669672E63000000009CC1B600FFFFFFFF4F453A5C537570706F72745C4D444B5C776F6C6673736C5C4944455C4D444B352D41524D5C50726F6A656374735C776F6C6653534C2D4C69625C5254455C434D5349535C5254585F436F6E6669672E68000000000C5254585F436F6E6669672E6800000000F7B88600FFFFFFFF4A433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C776F6C6663727970745C7372635C77635F706F72742E63000000000977635F706F72742E6300000000D9ADC200FFFFFFFF3C433A5C4B65696C5F76355C41524D5C5041434B5C776F6C6653534C5C776F6C6653534C5C332E31352E375C776F6C6673736C5C7372635C746C732E630000000005746C732E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF0200008F000000ED05000021020000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C40000004F00000070040000C3000000 - - - 16 - AD0100008F0000005905000003010000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000FF010000C8010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000FF010000C8010000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000FF010000C8010000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000FF010000C8010000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 00000000AD0100007004000035020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - C7000000660000006D040000AA000000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000FF010000C8010000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A1000000C202000015010000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000FC01000001050000F1020000 - - - 16 - 8A000000A10000006D01000075020000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - B3030000660000006D040000A4010000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 940 - 0 - 8192 - 0 - - 16 - 0000000000000000B70300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000000A030000040500001D030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 463 - 0 - 8192 - 1 - - 16 - 000000001C000000DA01000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000C40100006D0400001C020000 - - - 16 - 8A000000A10000004A01000049010000 - - - - 3258 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000C300000070040000C7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000AD0100008F0000005905000003010000C40000004F00000070040000C30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000BD010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000990400008F00000059050000FD010000B00300004F00000070040000BD01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF020200004F00000006020000E101000001000000020000100400000001000000ABFEFFFF56030000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000E90000008F000000EB02000021020000000000004F00000002020000E10100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000A901000070040000AD01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000E9000000ED010000590500007502000000000000AD010000700400003502000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000AD0100003C0200003502000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000E101000004050000E50100000100000001000010040000000100000002FEFFFFB2000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000E900000025020000ED0500004A03000000000000E5010000040500000A0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF1346696E6420416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2331 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000076F735F74696D6596000000000000001400076F735F74696D650C4241445F46554E435F4152470A6D616C6C6F635F636E740F49544D5F52656365697665436861720D776F6C6673736C5F66676574731062656E63685F55736167655F6D73673114455448305F5448524541445F5052494F5249545911574F4C4653534C5F4D444B5F5348454C4C12574F4C4653534C5F4E4F5F435552524449520B636C694365727446696C65076F75724365727409776F6C6653534C4950085254435F594541520D43616E6E6F6E206372656174650A4472697665725F5350490A5354415449435F525341064E4F5F41534E0674696D652E6808574F4C465F433939067573617274310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020004001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 684 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000B776F6C6653534C2D4C6962960000000000000001000B776F6C6653534C2D4C6962000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1536 - 864 - - - - - - 1 - 0 - - 100 - 8 - - .\RTE\wolfSSL\user_settings.h - 0 - 40 - 57 - 1 - - 0 - - - C:\Keil_v5\ARM\PACK\Keil\STM32F7xx_DFP\2.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal.c - 0 - 55 - 62 - 1 - - 0 - - - C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfssl\wolfcrypt\port\st\stm32.h - 0 - 81 - 101 - 1 - - 0 - - - C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfssl\wolfcrypt\wc_port.h - 0 - 1 - 1 - 1 - - 0 - - - RTE\Network\Net_Config.c - 0 - 1 - 12 - 1 - - 0 - - - RTE\CMSIS\RTX_Config.c - 0 - 1 - 1 - 1 - - 0 - - - RTE\CMSIS\RTX_Config.h - 0 - 1 - 1 - 1 - - 0 - - - C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\wolfcrypt\src\wc_port.c - 0 - 1253 - 1 - 1 - - 0 - - - C:\Keil_v5\ARM\PACK\wolfSSL\wolfSSL\3.15.7\wolfssl\src\tls.c - 19 - 7874 - 7885 - 1 - - 0 - - - - -
From 92fd92c208470eac09ee2bc46045955847bb403e Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 08:51:29 +0900 Subject: [PATCH 10/21] SimpleServer/main.c for RTOSv2 and RLnet4 --- IDE/MDK5-ARM/Projects/SimpleServer/main.c | 121 +++++++++++++--------- 1 file changed, 70 insertions(+), 51 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/main.c b/IDE/MDK5-ARM/Projects/SimpleServer/main.c index 7de2c64d8..33c00bc14 100644 --- a/IDE/MDK5-ARM/Projects/SimpleServer/main.c +++ b/IDE/MDK5-ARM/Projects/SimpleServer/main.c @@ -20,15 +20,22 @@ */ #ifdef HAVE_CONFIG_H - #include +#include #endif #include "wolfssl/wolfcrypt/settings.h" -#include "cmsis_os.h" /* CMSIS RTOS definitions */ #include "rl_net.h" /* Network definitions */ #include +#if defined(WOLFSSL_CMSIS_RTOS) +#include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) +#include "cmsis_os2.h" +#endif + +/* Dummy definition for test RTC */ +#define RTC_YEAR 2019 #if defined(STM32F7xx) #include "stm32f7xx_hal.h" #elif defined(STM32F4xx) @@ -59,7 +66,7 @@ // RTC: for validate certificate date // Year <1970-2099> -#define RTC_YEAR 2018 +#define RTC_YEAR 2019 // Month <1=>Jan<2=>Feb<3=>Mar<4=>Apr<5=>May<6=>Jun<7=>Jul<8=>Aut<9=>Sep<10=>Oct<11=>Nov<12=>Dec #define RTC_MONTH 1 // Day <1-31> @@ -106,43 +113,30 @@ static void init_filesystem (void) { } #endif +#if defined(WOLFSSL_CMSIS_RTOS) || defined(WOLFSSL_CMSIS_RTOSv2) -void net_loop(void const *arg) -{ - while(1) { - net_main (); - osThreadYield (); - } -} - -osThreadDef(net_loop, osPriorityLow, 2, 0); - -#ifdef RTE_CMSIS_RTOS_RTX +#if defined(WOLFSSL_CMSIS_RTOS) extern uint32_t os_time; -static time_t epochTime; - -uint32_t HAL_GetTick(void) { - return os_time; -} - -time_t time(time_t *t){ - return epochTime ; -} - -void setTime(time_t t){ - epochTime = t; -} #endif -#ifdef WOLFSSL_CURRTIME_OSTICK - -#include -extern uint32_t os_time; +uint32_t HAL_GetTick(void) +{ + #if defined(WOLFSSL_CMSIS_RTOS) + return os_time; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return osKernelGetTickCount(); + #endif +} double current_time(int reset) { if(reset) os_time = 0 ; return (double)os_time /1000.0; + #if defined(WOLFSSL_CMSIS_RTOS) + return (double)os_time / 1000.0; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + return (double)osKernelGetTickCount() / 1000.0; + #endif } #else @@ -155,15 +149,40 @@ typedef struct uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */ } DWT_Type; -extern uint32_t SystemCoreClock ; +extern uint32_t SystemCoreClock; double current_time(int reset) { - if(reset) DWT->CYCCNT = 0 ; - return ((double)DWT->CYCCNT/SystemCoreClock) ; + if (reset) + DWT->CYCCNT = 0; + return ((double)DWT->CYCCNT / SystemCoreClock); } #endif +static time_t epochTime; +time_t time(time_t *t) +{ + return epochTime; +} + +void setTime(time_t t) +{ + epochTime = t; +} + + +extern void server_test(void const *arg); + +void app_main(void const *arg) +{ + if (netInitialize() == netOK) + server_test(arg); + else + printf("ERROR: netInitialize\n"); +} + +osThreadDef(app_main, osPriorityLow, 1, 32 * 1024); + /*---------------------------------------------------------------------------- Main Thread 'main': Run Network *---------------------------------------------------------------------------*/ @@ -173,12 +192,11 @@ typedef struct func_args { char** argv; } func_args; -extern void server_test(func_args * args) ; - int myoptind = 0; -char* myoptarg = NULL; +char *myoptarg = NULL; -int main (void) { +int main(void) +{ static char *argv[] = { "server", "-p", SERVER_PORT, "-v", " ", OTHER_OPTIONS } ; @@ -197,12 +215,15 @@ int main (void) { #if !defined(NO_FILESYSTEM) init_filesystem (); #endif - net_initialize (); - #if defined(DEBUG_WOLFSSL) - printf("Turning ON Debug message\n") ; - wolfSSL_Debugging_ON() ; - #endif +#if defined(WOLFSSL_CMSIS_RTOSv2) + osKernelInitialize(); +#endif + +#if defined(DEBUG_WOLFSSL) + printf("Turning ON Debug message\n"); + wolfSSL_Debugging_ON(); +#endif snprintf(ver, VERSIZE, "%d", TLS_VER); argv[4] = ver; @@ -212,12 +233,10 @@ int main (void) { printf(" Other options: %s\n", OTHER_OPTIONS); setTime((RTC_YEAR-1970)*365*24*60*60 + RTC_MONTH*30*24*60*60 + RTC_DAY*24*60*60); - osThreadCreate (osThread(net_loop), NULL); - - server_test(&args) ; - - while(1) - osDelay(1000); - +#if defined(WOLFSSL_CMSIS_RTOS) + osThreadCreate(osThread(app_main), (void *)&args); +#elif defined(WOLFSSL_CMSIS_RTOSv2) + osThreadNew(app_main, (void *)&args, NULL); +#endif + osKernelStart(); } - From cb39768e09d61b078d463de5c23cd3d93b28d74e Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 08:52:59 +0900 Subject: [PATCH 11/21] SimpleServer: update projectfile --- .../Projects/SimpleServer/SimpleServer.uvoptx | 29 ++- .../SimpleServer/SimpleServer.uvprojx | 232 ++++++++++-------- 2 files changed, 153 insertions(+), 108 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvoptx b/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvoptx index 8d194b2e4..793053daf 100644 --- a/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvoptx +++ b/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvoptx @@ -101,7 +101,7 @@ 0 0 1 - 5 + 1 @@ -112,9 +112,14 @@ - STLink\ST-LINKIII-KEIL_SWO.dll + BIN\ULP2CM3.DLL + + 0 + ULP2CM3 + -UP1135060 -O207 -S10 -C0 -P00 -N00("") -D00(00000000) -L00(0) -TO19 -TC216000000 -TP11 -TDX0 -TDD0 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F756NGHx$CMSIS\Flash\STM32F7x_1024.FLM) + 0 ST-LINKIII-KEIL_SWO @@ -155,8 +160,18 @@ - C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.5.0\FileSystem\FileSystem.scvd - Keil.MDK-Middleware.7.5.0 + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\FileSystem\FileSystem.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.7.0\Network\Network.scvd + Keil.MDK-Middleware.7.7.0 + 1 + + + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.3.0\CMSIS\RTOS2\RTX\RTX5.scvd + ARM.CMSIS.5.3.0 1 @@ -197,6 +212,10 @@ + + + + 1 0 @@ -336,7 +355,7 @@ ::Network - 0 + 1 0 0 1 diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvprojx b/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvprojx index 9e867e1d1..33c84cb0e 100644 --- a/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvprojx +++ b/IDE/MDK5-ARM/Projects/SimpleServer/SimpleServer.uvprojx @@ -16,7 +16,7 @@ STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -176,7 +176,7 @@ 0 "Cortex-M7" - 1 + 0 0 0 1 @@ -489,6 +489,12 @@
+ + + + + + @@ -515,8 +521,14 @@ - - + + + + + + + + @@ -551,50 +563,50 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -629,216 +641,230 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - RTE\CMSIS\RTX_Conf_CM.c + + RTE\CMSIS\RTX_Conf_CM.c + + + + RTE\CMSIS\RTX_Config.c + + - + + RTE\CMSIS\RTX_Config.h + + + + + + + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + - + RTE\Network\Net_Config.c - - + + - + RTE\Network\Net_Config_BSD.h - - + + - + RTE\Network\Net_Config_DNS_Client.h - - + + @@ -849,26 +875,26 @@ - + RTE\Network\Net_Config_ETH_0.h - - + + - + RTE\Network\Net_Config_TCP.h - - + + - + RTE\Network\Net_Config_UDP.h - - + + @@ -885,10 +911,10 @@ - + RTE\wolfSSL\user_settings.h - - + + From 8df27ffdcf75e8e9d6152d8450156968602f5396 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sat, 12 Jan 2019 09:11:04 +0900 Subject: [PATCH 12/21] Fix for RTOSv2 --- IDE/MDK5-ARM/Projects/SimpleServer/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/main.c b/IDE/MDK5-ARM/Projects/SimpleServer/main.c index 33c00bc14..2e73dfc56 100644 --- a/IDE/MDK5-ARM/Projects/SimpleServer/main.c +++ b/IDE/MDK5-ARM/Projects/SimpleServer/main.c @@ -130,8 +130,6 @@ uint32_t HAL_GetTick(void) double current_time(int reset) { - if(reset) os_time = 0 ; - return (double)os_time /1000.0; #if defined(WOLFSSL_CMSIS_RTOS) return (double)os_time / 1000.0; #elif defined(WOLFSSL_CMSIS_RTOSv2) @@ -173,7 +171,11 @@ void setTime(time_t t) extern void server_test(void const *arg); -void app_main(void const *arg) +#if defined(WOLFSSL_CMSIS_RTOSv2) +void app_main(void *arg) +#else +void app_main(void const*arg) +#endif { if (netInitialize() == netOK) server_test(arg); @@ -181,7 +183,9 @@ void app_main(void const *arg) printf("ERROR: netInitialize\n"); } +#if defined(WOLFSSL_CMSIS_RTOS) osThreadDef(app_main, osPriorityLow, 1, 32 * 1024); +#endif /*---------------------------------------------------------------------------- Main Thread 'main': Run Network From 099d813a8c50e6b7f0cbee65d57f7f3cb90123e8 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Sun, 3 Feb 2019 15:44:41 +0900 Subject: [PATCH 13/21] Fix headers --- wolfssl/internal.h | 8 ++++---- wolfssl/wolfcrypt/wc_port.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/wolfssl/internal.h b/wolfssl/internal.h index 53a731885..628bc3880 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -148,12 +148,12 @@ #include "cmsis_os.h" #elif defined(WOLFSSL_CMSIS_RTOSv2) #include "cmsis_os2.h" -#elif defined(WOLFSSL_CMSIS_RTOSv2) - #include "cmsis_os2.h" #elif defined(WOLFSSL_MDK_ARM) #if !defined(WOLFSSL_MDK5) - #include - #endif +#include "cmsis_os.h" +#else +#include +#endif #elif defined(MBED) #elif defined(WOLFSSL_TIRTOS) /* do nothing */ diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index d05d0862b..c531c023f 100755 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -83,6 +83,8 @@ #include "tk/tkernel.h" #elif defined(WOLFSSL_CMSIS_RTOS) #include "cmsis_os.h" +#elif defined(WOLFSSL_CMSIS_RTOSv2) +#include "cmsis_os2.h" #elif defined(WOLFSSL_MDK_ARM) #if defined(WOLFSSL_MDK5) #include "cmsis_os.h" From c7f8f9fc908dd0537a803b9ef50e66920e23bd28 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:39:06 +0900 Subject: [PATCH 14/21] Declarations have to come before executable statements WOLFSSL_MDK5_COMPLv5: mdk5 compiler ver 5 regards macro with args as executable statement (This seems to be fixed with v6) --- .../RTE/wolfSSL/user_settings.h | 3 ++- wolfcrypt/benchmark/benchmark.c | 23 ++++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h index e8ba54756..b90bf7acd 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h @@ -18,7 +18,8 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA */ - + +#define WOLFSSL_MDK5_COMPLv5 #define NO_MAIN_DRIVER #define BENCH_EMBEDDED #define NO_DEV_RANDOM diff --git a/wolfcrypt/benchmark/benchmark.c b/wolfcrypt/benchmark/benchmark.c index a6cb58e72..b03ba7c9b 100644 --- a/wolfcrypt/benchmark/benchmark.c +++ b/wolfcrypt/benchmark/benchmark.c @@ -3989,15 +3989,32 @@ static void bench_rsa_helper(int doAsync, RsaKey rsaKey[BENCH_MAX_PENDING], #ifndef WOLFSSL_RSA_VERIFY_ONLY DECLARE_VAR_INIT(message, byte, len, messageStr, HEAP_HINT); #endif - - DECLARE_ARRAY_DYNAMIC(enc, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #if !defined(WOLFSSL_MDK5_COMPLv5) + /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ + DECLARE_ARRAY_DYNAMIC_DEC(enc, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #else + byte* enc[BENCH_MAX_PENDING]; + int idxenc; + #endif #if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \ !defined(WOLFSSL_RSA_PUBLIC_ONLY) - DECLARE_ARRAY_DYNAMIC(out, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #if !defined(WOLFSSL_MDK5_COMPLv5) + /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ + DECLARE_ARRAY_DYNAMIC_DEC(out, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #else + int idxout; + byte* out[BENCH_MAX_PENDING]; + #endif #else byte* out[BENCH_MAX_PENDING]; #endif + DECLARE_ARRAY_DYNAMIC_EXE(enc, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \ + !defined(WOLFSSL_RSA_PUBLIC_ONLY) + DECLARE_ARRAY_DYNAMIC_EXE(out, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); + #endif + if (!rsa_sign_verify) { #ifndef WOLFSSL_RSA_VERIFY_ONLY /* begin public RSA */ From 98e53cb4ebaa93011e84fd56d381ccbe51edc10a Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:41:53 +0900 Subject: [PATCH 15/21] Improved user_settings.h, Abstract.txt --- .../Projects/CryptBenchmark/Abstract.txt | 1 + .../RTE/wolfSSL/user_settings.h | 23 +- IDE/MDK5-ARM/Projects/CryptTest/Abstract.txt | 1 + .../CryptTest/RTE/wolfSSL/user_settings.h | 23 +- IDE/MDK5-ARM/Projects/EchoClient/Abstract.txt | 3 + .../EchoClient/RTE/wolfSSL/user_settings.h | 517 +++++++++++++++++ IDE/MDK5-ARM/Projects/EchoServer/Abstract.txt | 3 + .../EchoServer/RTE/wolfSSL/user_settings.h | 519 ++++++++++++++++++ .../Projects/SimpleClient/Abstract.txt | 3 + .../SimpleClient/RTE/wolfSSL/user_settings.h | 519 ++++++++++++++++++ .../Projects/SimpleServer/Abstract.txt | 3 + .../SimpleServer/RTE/wolfSSL/user_settings.h | 519 ++++++++++++++++++ .../Projects/wolfSSL-Lib/Abstract.txt | 14 + .../wolfSSL-Lib/RTE/wolfSSL/user_settings.h | 519 ++++++++++++++++++ 14 files changed, 2647 insertions(+), 20 deletions(-) create mode 100644 IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h create mode 100644 IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h create mode 100644 IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h create mode 100644 IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h create mode 100644 IDE/MDK5-ARM/Projects/wolfSSL-Lib/Abstract.txt create mode 100644 IDE/MDK5-ARM/Projects/wolfSSL-Lib/RTE/wolfSSL/user_settings.h diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/Abstract.txt b/IDE/MDK5-ARM/Projects/CryptBenchmark/Abstract.txt index d6ab1ff89..f3c95a61c 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/Abstract.txt @@ -1,6 +1,7 @@ wolfCrypt Benchmark Use Configuration Wizard tab +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) user_settings.h for wolfCrypt options For further options, details, see wolfSSL User Manual. diff --git a/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h index b90bf7acd..30bb846d8 100644 --- a/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h +++ b/IDE/MDK5-ARM/Projects/CryptBenchmark/RTE/wolfSSL/user_settings.h @@ -59,8 +59,8 @@ // <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 +// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 #if MDK_CONF_THREAD== 0 #define SINGLE_THREADED #elif MDK_CONF_THREAD == 1 @@ -92,6 +92,8 @@ #elif MDK_CONF_THREAD == 14 #define WOLFSSL_CMSIS_RTOS #elif MDK_CONF_THREAD == 15 +#define WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 #define SINGLE_THREADED #endif @@ -151,13 +153,13 @@ // Hash/Crypt Algrithm // MD2 -#define MDK_CONF_MD2 1 +#define MDK_CONF_MD2 0 #if MDK_CONF_MD2 == 1 #define WOLFSSL_MD2 #endif // // MD4 -#define MDK_CONF_MD4 1 +#define MDK_CONF_MD4 0 #if MDK_CONF_MD4 == 0 #define NO_MD4 #endif @@ -237,7 +239,7 @@ // // RC4 -#define MDK_CONF_RC4 1 +#define MDK_CONF_RC4 0 #if MDK_CONF_RC4 == 0 #define NO_RC4 #endif @@ -376,7 +378,7 @@ // Hardware Crypt (See document for usage) // Hardware RNG -#define MDK_CONF_STM32F2_RNG 1 +#define MDK_CONF_STM32F2_RNG 0 #if MDK_CONF_STM32F2_RNG == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_RNG @@ -394,7 +396,7 @@ #endif // // Hardware Crypt -#define MDK_CONF_STM32F2_CRYPTO 1 +#define MDK_CONF_STM32F2_CRYPTO 0 #if MDK_CONF_STM32F2_CRYPTO == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_CRYPTO @@ -412,7 +414,7 @@ #endif // // Hardware Hash -#define MDK_CONF_STM32F2_HASH 1 +#define MDK_CONF_STM32F2_HASH 0 #if MDK_CONF_STM32F2_HASH == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_HASH @@ -462,7 +464,7 @@ #endif // // Small Stack -#define MDK_CONF_SmallStack 0 +#define MDK_CONF_SmallStack 1 #if MDK_CONF_SmallStack == 0 #define NO_WOLFSSL_SMALL_STACK #endif @@ -476,10 +478,11 @@ // wolfSSL Configuration // TLS 1.3 -#define MDK_CONF_TLS 0 +#define MDK_CONF_TLS 1 #if MDK_CONF_TLS == 1 #define WOLFSSL_TLS13 #define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES #define WC_RSA_PSS #define HAVE_HKDF #define HAVE_FFDHE_2048 diff --git a/IDE/MDK5-ARM/Projects/CryptTest/Abstract.txt b/IDE/MDK5-ARM/Projects/CryptTest/Abstract.txt index 72a0fce0e..808804bfa 100644 --- a/IDE/MDK5-ARM/Projects/CryptTest/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/CryptTest/Abstract.txt @@ -1,6 +1,7 @@ wolfCrypt test Use Configuration Wizard tab +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) user_settings.h for wolfCrypt options For further options, details, see wolfSSL User Manual. diff --git a/IDE/MDK5-ARM/Projects/CryptTest/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/CryptTest/RTE/wolfSSL/user_settings.h index ffce5bd40..286eb78ae 100644 --- a/IDE/MDK5-ARM/Projects/CryptTest/RTE/wolfSSL/user_settings.h +++ b/IDE/MDK5-ARM/Projects/CryptTest/RTE/wolfSSL/user_settings.h @@ -59,8 +59,8 @@ // <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 +// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 #if MDK_CONF_THREAD== 0 #define SINGLE_THREADED #elif MDK_CONF_THREAD == 1 @@ -92,6 +92,8 @@ #elif MDK_CONF_THREAD == 14 #define WOLFSSL_CMSIS_RTOS #elif MDK_CONF_THREAD == 15 +#define WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 #define SINGLE_THREADED #endif @@ -151,13 +153,13 @@ // Hash/Crypt Algrithm // MD2 -#define MDK_CONF_MD2 1 +#define MDK_CONF_MD2 0 #if MDK_CONF_MD2 == 1 #define WOLFSSL_MD2 #endif // // MD4 -#define MDK_CONF_MD4 1 +#define MDK_CONF_MD4 0 #if MDK_CONF_MD4 == 0 #define NO_MD4 #endif @@ -237,7 +239,7 @@ // // RC4 -#define MDK_CONF_RC4 1 +#define MDK_CONF_RC4 0 #if MDK_CONF_RC4 == 0 #define NO_RC4 #endif @@ -376,7 +378,7 @@ // Hardware Crypt (See document for usage) // Hardware RNG -#define MDK_CONF_STM32F2_RNG 1 +#define MDK_CONF_STM32F2_RNG 0 #if MDK_CONF_STM32F2_RNG == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_RNG @@ -394,7 +396,7 @@ #endif // // Hardware Crypt -#define MDK_CONF_STM32F2_CRYPTO 1 +#define MDK_CONF_STM32F2_CRYPTO 0 #if MDK_CONF_STM32F2_CRYPTO == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_CRYPTO @@ -412,7 +414,7 @@ #endif // // Hardware Hash -#define MDK_CONF_STM32F2_HASH 1 +#define MDK_CONF_STM32F2_HASH 0 #if MDK_CONF_STM32F2_HASH == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_HASH @@ -462,7 +464,7 @@ #endif // // Small Stack -#define MDK_CONF_SmallStack 0 +#define MDK_CONF_SmallStack 1 #if MDK_CONF_SmallStack == 0 #define NO_WOLFSSL_SMALL_STACK #endif @@ -476,10 +478,11 @@ // wolfSSL Configuration // TLS 1.3 -#define MDK_CONF_TLS 0 +#define MDK_CONF_TLS 1 #if MDK_CONF_TLS == 1 #define WOLFSSL_TLS13 #define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES #define WC_RSA_PSS #define HAVE_HKDF #define HAVE_FFDHE_2048 diff --git a/IDE/MDK5-ARM/Projects/EchoClient/Abstract.txt b/IDE/MDK5-ARM/Projects/EchoClient/Abstract.txt index 3586d285d..46913b5e8 100644 --- a/IDE/MDK5-ARM/Projects/EchoClient/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/EchoClient/Abstract.txt @@ -1,6 +1,9 @@ wolfSSL example: echo Client Use Configuration Wizard tab + +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) +RTE_Device.h: Check ETH (Ethernet Interface) main.c for remote IP address, port or TLS version user_settings.h for wolfCrypt or wolfSSL options diff --git a/IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h new file mode 100644 index 000000000..30f64ccc3 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/EchoClient/RTE/wolfSSL/user_settings.h @@ -0,0 +1,517 @@ +/* user_settings.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 + */ + +#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 TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#define WOLFSSL_USER_CURRTIME /* for benchmark */ +#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */ +#define WOLFSSL_GMTIME +#define NO_MULTIBYTE_PRINT + +// <<< Use Configuration Wizard in Context Menu >>> + + +// Common options +// MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx +#define MDK_CONF_MPU 3 +#if MDK_CONF_MPU == 0 + +#elif MDK_CONF_MPU == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32F2xx +#elif MDK_CONF_MPU == 2 +#define WOLFSSL_STM32_CUBEMX +#define STM32F4xx +#elif MDK_CONF_MPU == 3 +#define WOLFSSL_STM32_CUBEMX +#define STM32F7xx +#endif + +// 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 +// + +// Network<0=>None <1=>RLnet <2=>User I/O +#define MDK_CONF_NETWORK 1 +#if MDK_CONF_NETWORK == 0 +#elif MDK_CONF_NETWORK == 1 +#define WOLFSSL_KEIL_TCP_NET +#elif MDK_CONF_NETWORK == 2 +#define WOLFSSL_USER_IO +#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 + +// Hash/Crypt Algrithm + +// MD2 +#define MDK_CONF_MD2 0 +#if MDK_CONF_MD2 == 1 +#define WOLFSSL_MD2 +#endif +// +// MD4 +#define MDK_CONF_MD4 0 +#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 +// +// Hash DRBG +#define MDK_CONF_HASHDRBG 1 +#if MDK_CONF_HASHDRBG == 1 +#define HAVE_HASHDRBG +#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 0 +#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 +// +// + +// Random Seed, for TEST Only +#define MDK_CONF_RNDSEED 1 +#if MDK_CONF_RNDSEED == 1 +#define WOLFSSL_GENSEED_FORTEST +#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 WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Crypt +#define MDK_CONF_STM32F2_CRYPTO 0 +#if MDK_CONF_STM32F2_CRYPTO == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_CRYPTO +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Hash +#define MDK_CONF_STM32F2_HASH 0 +#if MDK_CONF_STM32F2_HASH == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_HASH +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#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 1 +#if MDK_CONF_SmallStack == 0 +#define NO_WOLFSSL_SMALL_STACK +#endif +// + +// + + +/**** wolfSSL Configuration ****/ + +// wolfSSL Configuration + +// TLS 1.3 +#define MDK_CONF_TLS 1 +#if MDK_CONF_TLS == 1 +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#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 0 +#if MDK_CONF_OPENSSL_EXTRA == 1 +#define OPENSSL_EXTRA +#endif +// + +// + diff --git a/IDE/MDK5-ARM/Projects/EchoServer/Abstract.txt b/IDE/MDK5-ARM/Projects/EchoServer/Abstract.txt index f759f31b8..47ed1d9a3 100644 --- a/IDE/MDK5-ARM/Projects/EchoServer/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/EchoServer/Abstract.txt @@ -1,6 +1,9 @@ wolfSSL example: echo Server Use Configuration Wizard tab + +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) +RTE_Device.h: Check ETH (Ethernet Interface) main.c for server port or TLS version user_settings.h for wolfCrypt or wolfSSL options diff --git a/IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h new file mode 100644 index 000000000..4c99c520b --- /dev/null +++ b/IDE/MDK5-ARM/Projects/EchoServer/RTE/wolfSSL/user_settings.h @@ -0,0 +1,519 @@ +/* user_settings.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 + */ + +#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 TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#define WOLFSSL_USER_CURRTIME /* for benchmark */ +#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */ +#define WOLFSSL_GMTIME +#define NO_MULTIBYTE_PRINT + +// <<< Use Configuration Wizard in Context Menu >>> + + +// Common options +// MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx +#define MDK_CONF_MPU 3 +#if MDK_CONF_MPU == 0 + +#elif MDK_CONF_MPU == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32F2xx +#elif MDK_CONF_MPU == 2 +#define WOLFSSL_STM32_CUBEMX +#define STM32F4xx +#elif MDK_CONF_MPU == 3 +#define WOLFSSL_STM32_CUBEMX +#define STM32F7xx +#endif + +// 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=>CMSIS RTOSv2<16=>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 WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 +#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 +// + +// Network<0=>None <1=>RLnet <2=>User I/O +#define MDK_CONF_NETWORK 1 +#if MDK_CONF_NETWORK == 0 +#elif MDK_CONF_NETWORK == 1 +#define WOLFSSL_KEIL_TCP_NET +#elif MDK_CONF_NETWORK == 2 +#define WOLFSSL_USER_IO +#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 + +// Hash/Crypt Algrithm + +// MD2 +#define MDK_CONF_MD2 0 +#if MDK_CONF_MD2 == 1 +#define WOLFSSL_MD2 +#endif +// +// MD4 +#define MDK_CONF_MD4 0 +#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 +// +// Hash DRBG +#define MDK_CONF_HASHDRBG 1 +#if MDK_CONF_HASHDRBG == 1 +#define HAVE_HASHDRBG +#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 0 +#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 +// +// + +// Random Seed, for TEST Only +#define MDK_CONF_RNDSEED 1 +#if MDK_CONF_RNDSEED == 1 +#define WOLFSSL_GENSEED_FORTEST +#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 WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Crypt +#define MDK_CONF_STM32F2_CRYPTO 0 +#if MDK_CONF_STM32F2_CRYPTO == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_CRYPTO +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Hash +#define MDK_CONF_STM32F2_HASH 0 +#if MDK_CONF_STM32F2_HASH == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_HASH +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#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 1 +#if MDK_CONF_SmallStack == 0 +#define NO_WOLFSSL_SMALL_STACK +#endif +// + +// + + +/**** wolfSSL Configuration ****/ + +// wolfSSL Configuration + +// TLS 1.3 +#define MDK_CONF_TLS 1 +#if MDK_CONF_TLS == 1 +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#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 0 +#if MDK_CONF_OPENSSL_EXTRA == 1 +#define OPENSSL_EXTRA +#endif +// + +// + diff --git a/IDE/MDK5-ARM/Projects/SimpleClient/Abstract.txt b/IDE/MDK5-ARM/Projects/SimpleClient/Abstract.txt index 878057e9b..7392dbf53 100644 --- a/IDE/MDK5-ARM/Projects/SimpleClient/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/SimpleClient/Abstract.txt @@ -1,6 +1,9 @@ wolfSSL example: TLS Client Use Configuration Wizard tab + +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) +RTE_Device.h: Check ETH (Ethernet Interface) main.c for remote IP address, port or TLS version user_settings.h for wolfCrypt or wolfSSL options diff --git a/IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h new file mode 100644 index 000000000..943a46a07 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/SimpleClient/RTE/wolfSSL/user_settings.h @@ -0,0 +1,519 @@ +/* user_settings.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 + */ + +#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 TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#define WOLFSSL_USER_CURRTIME /* for benchmark */ +#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */ +#define WOLFSSL_GMTIME +#define NO_MULTIBYTE_PRINT + +// <<< Use Configuration Wizard in Context Menu >>> + + +// Common options +// MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx +#define MDK_CONF_MPU 3 +#if MDK_CONF_MPU == 0 + +#elif MDK_CONF_MPU == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32F2xx +#elif MDK_CONF_MPU == 2 +#define WOLFSSL_STM32_CUBEMX +#define STM32F4xx +#elif MDK_CONF_MPU == 3 +#define WOLFSSL_STM32_CUBEMX +#define STM32F7xx +#endif + +// 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=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 +#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 WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 +#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 +// + +// Network<0=>None <1=>RLnet <2=>User I/O +#define MDK_CONF_NETWORK 1 +#if MDK_CONF_NETWORK == 0 +#elif MDK_CONF_NETWORK == 1 +#define WOLFSSL_KEIL_TCP_NET +#elif MDK_CONF_NETWORK == 2 +#define WOLFSSL_USER_IO +#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 + +// Hash/Crypt Algrithm + +// MD2 +#define MDK_CONF_MD2 0 +#if MDK_CONF_MD2 == 1 +#define WOLFSSL_MD2 +#endif +// +// MD4 +#define MDK_CONF_MD4 0 +#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 +// +// Hash DRBG +#define MDK_CONF_HASHDRBG 1 +#if MDK_CONF_HASHDRBG == 1 +#define HAVE_HASHDRBG +#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 0 +#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 +// +// + +// Random Seed, for TEST Only +#define MDK_CONF_RNDSEED 1 +#if MDK_CONF_RNDSEED == 1 +#define WOLFSSL_GENSEED_FORTEST +#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 WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Crypt +#define MDK_CONF_STM32F2_CRYPTO 0 +#if MDK_CONF_STM32F2_CRYPTO == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_CRYPTO +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Hash +#define MDK_CONF_STM32F2_HASH 0 +#if MDK_CONF_STM32F2_HASH == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_HASH +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#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 1 +#if MDK_CONF_SmallStack == 0 +#define NO_WOLFSSL_SMALL_STACK +#endif +// + +// + + +/**** wolfSSL Configuration ****/ + +// wolfSSL Configuration + +// TLS 1.3 +#define MDK_CONF_TLS 1 +#if MDK_CONF_TLS == 1 +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#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 0 +#if MDK_CONF_OPENSSL_EXTRA == 1 +#define OPENSSL_EXTRA +#endif +// + +// + diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/Abstract.txt b/IDE/MDK5-ARM/Projects/SimpleServer/Abstract.txt index 8a152aff0..d27563a87 100644 --- a/IDE/MDK5-ARM/Projects/SimpleServer/Abstract.txt +++ b/IDE/MDK5-ARM/Projects/SimpleServer/Abstract.txt @@ -1,6 +1,9 @@ wolfSSL example: TLS Server Use Configuration Wizard tab + +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) +RTE_Device.h: Check ETH (Ethernet Interface) main.c for server port or TLS version user_settings.h for wolfCrypt or wolfSSL options diff --git a/IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h new file mode 100644 index 000000000..943a46a07 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/SimpleServer/RTE/wolfSSL/user_settings.h @@ -0,0 +1,519 @@ +/* user_settings.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 + */ + +#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 TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#define WOLFSSL_USER_CURRTIME /* for benchmark */ +#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */ +#define WOLFSSL_GMTIME +#define NO_MULTIBYTE_PRINT + +// <<< Use Configuration Wizard in Context Menu >>> + + +// Common options +// MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx +#define MDK_CONF_MPU 3 +#if MDK_CONF_MPU == 0 + +#elif MDK_CONF_MPU == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32F2xx +#elif MDK_CONF_MPU == 2 +#define WOLFSSL_STM32_CUBEMX +#define STM32F4xx +#elif MDK_CONF_MPU == 3 +#define WOLFSSL_STM32_CUBEMX +#define STM32F7xx +#endif + +// 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=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 +#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 WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 +#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 +// + +// Network<0=>None <1=>RLnet <2=>User I/O +#define MDK_CONF_NETWORK 1 +#if MDK_CONF_NETWORK == 0 +#elif MDK_CONF_NETWORK == 1 +#define WOLFSSL_KEIL_TCP_NET +#elif MDK_CONF_NETWORK == 2 +#define WOLFSSL_USER_IO +#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 + +// Hash/Crypt Algrithm + +// MD2 +#define MDK_CONF_MD2 0 +#if MDK_CONF_MD2 == 1 +#define WOLFSSL_MD2 +#endif +// +// MD4 +#define MDK_CONF_MD4 0 +#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 +// +// Hash DRBG +#define MDK_CONF_HASHDRBG 1 +#if MDK_CONF_HASHDRBG == 1 +#define HAVE_HASHDRBG +#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 0 +#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 +// +// + +// Random Seed, for TEST Only +#define MDK_CONF_RNDSEED 1 +#if MDK_CONF_RNDSEED == 1 +#define WOLFSSL_GENSEED_FORTEST +#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 WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Crypt +#define MDK_CONF_STM32F2_CRYPTO 0 +#if MDK_CONF_STM32F2_CRYPTO == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_CRYPTO +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Hash +#define MDK_CONF_STM32F2_HASH 0 +#if MDK_CONF_STM32F2_HASH == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_HASH +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#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 1 +#if MDK_CONF_SmallStack == 0 +#define NO_WOLFSSL_SMALL_STACK +#endif +// + +// + + +/**** wolfSSL Configuration ****/ + +// wolfSSL Configuration + +// TLS 1.3 +#define MDK_CONF_TLS 1 +#if MDK_CONF_TLS == 1 +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#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 0 +#if MDK_CONF_OPENSSL_EXTRA == 1 +#define OPENSSL_EXTRA +#endif +// + +// + diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/Abstract.txt b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/Abstract.txt new file mode 100644 index 000000000..6a6c9c3c6 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/Abstract.txt @@ -0,0 +1,14 @@ +wolfSSL example: TLS Library + +Use Configuration Wizard tab + +RTE_Device.h: Check SDMMC1 (SD/SDIO/MMC card host interface 1) +RTE_Device.h: Check ETH (Ethernet Interface) +user_settings.h for wolfCrypt or wolfSSL options + +For further options, details, see wolfSSL User Manual. + + +Support +------- +Please send questions or comments to support@wolfssl.com diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/RTE/wolfSSL/user_settings.h b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/RTE/wolfSSL/user_settings.h new file mode 100644 index 000000000..943a46a07 --- /dev/null +++ b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/RTE/wolfSSL/user_settings.h @@ -0,0 +1,519 @@ +/* user_settings.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 + */ + +#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 TFM_TIMING_RESISTANT +#define ECC_TIMING_RESISTANT +#define WC_RSA_BLINDING + +#define WOLFSSL_USER_CURRTIME /* for benchmark */ +#define WOLFSSL_CURRTIME_OSTICK /* use OS tich for current_time */ +#define WOLFSSL_GMTIME +#define NO_MULTIBYTE_PRINT + +// <<< Use Configuration Wizard in Context Menu >>> + + +// Common options +// MPU<0=>Undefined<1=>STM32F2xx<2=>STM32F4xx<3=>STM32F7xx +#define MDK_CONF_MPU 3 +#if MDK_CONF_MPU == 0 + +#elif MDK_CONF_MPU == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32F2xx +#elif MDK_CONF_MPU == 2 +#define WOLFSSL_STM32_CUBEMX +#define STM32F4xx +#elif MDK_CONF_MPU == 3 +#define WOLFSSL_STM32_CUBEMX +#define STM32F7xx +#endif + +// 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=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 +#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 WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 +#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 +// + +// Network<0=>None <1=>RLnet <2=>User I/O +#define MDK_CONF_NETWORK 1 +#if MDK_CONF_NETWORK == 0 +#elif MDK_CONF_NETWORK == 1 +#define WOLFSSL_KEIL_TCP_NET +#elif MDK_CONF_NETWORK == 2 +#define WOLFSSL_USER_IO +#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 + +// Hash/Crypt Algrithm + +// MD2 +#define MDK_CONF_MD2 0 +#if MDK_CONF_MD2 == 1 +#define WOLFSSL_MD2 +#endif +// +// MD4 +#define MDK_CONF_MD4 0 +#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 +// +// Hash DRBG +#define MDK_CONF_HASHDRBG 1 +#if MDK_CONF_HASHDRBG == 1 +#define HAVE_HASHDRBG +#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 0 +#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 +// +// + +// Random Seed, for TEST Only +#define MDK_CONF_RNDSEED 1 +#if MDK_CONF_RNDSEED == 1 +#define WOLFSSL_GENSEED_FORTEST +#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 WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Crypt +#define MDK_CONF_STM32F2_CRYPTO 0 +#if MDK_CONF_STM32F2_CRYPTO == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_CRYPTO +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#endif +// +// Hardware Hash +#define MDK_CONF_STM32F2_HASH 0 +#if MDK_CONF_STM32F2_HASH == 1 +#define WOLFSSL_STM32_CUBEMX +#define STM32_HASH +#define WC_ASYNC_DEV_SIZE 320+24 +#define STM32_HAL_TIMEOUT 0xFF + +#if defined(STM32F2xx) +#define WOLFSSL_STM32F2 +#elif defined(STM32F4xx) +#define WOLFSSL_STM32F4 +#elif defined(STM32F7xx) +#define WOLFSSL_STM32F7 +#endif + +#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 1 +#if MDK_CONF_SmallStack == 0 +#define NO_WOLFSSL_SMALL_STACK +#endif +// + +// + + +/**** wolfSSL Configuration ****/ + +// wolfSSL Configuration + +// TLS 1.3 +#define MDK_CONF_TLS 1 +#if MDK_CONF_TLS == 1 +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#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 0 +#if MDK_CONF_OPENSSL_EXTRA == 1 +#define OPENSSL_EXTRA +#endif +// + +// + From 1c6911634c188ad24a6fb347f2f7bd7c649fe79d Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:43:26 +0900 Subject: [PATCH 16/21] sprit DECLARE_ARRAY_DYNAMIC into declaration and execution --- wolfssl/wolfcrypt/types.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 8fef951c7..72044a66f 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -316,9 +316,10 @@ #define FREE_VAR(VAR_NAME, HEAP) /* nothing to free, its stack */ #define FREE_ARRAY(VAR_NAME, VAR_ITEMS, HEAP) /* nothing to free, its stack */ - #define DECLARE_ARRAY_DYNAMIC(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ + #define DECLARE_ARRAY_DYNAMIC_DEC(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ VAR_TYPE* VAR_NAME[VAR_ITEMS]; \ - int idx##VAR_NAME; \ + int idx##VAR_NAME; + #define DECLARE_ARRAY_DYNAMIC_EXE(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ for (idx##VAR_NAME=0; idx##VAR_NAME Date: Mon, 18 Feb 2019 06:45:01 +0900 Subject: [PATCH 17/21] add Mutex type for CMSIS RTOSv2 --- wolfssl/wolfcrypt/wc_port.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index f166a7a09..449c12d9c 100755 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -86,7 +86,7 @@ #elif defined(WOLFSSL_CMSIS_RTOS) #include "cmsis_os.h" #elif defined(WOLFSSL_CMSIS_RTOSv2) -#include "cmsis_os2.h" + #include "cmsis_os2.h" #elif defined(WOLFSSL_MDK_ARM) #if defined(WOLFSSL_MDK5) #include "cmsis_os.h" @@ -179,6 +179,8 @@ #endif #elif defined(WOLFSSL_CMSIS_RTOS) typedef osMutexId wolfSSL_Mutex; + #elif defined(WOLFSSL_CMSIS_RTOSv2) + typedef osMutexId_t wolfSSL_Mutex; #elif defined(WOLFSSL_TIRTOS) typedef ti_sysbios_knl_Semaphore_Handle wolfSSL_Mutex; #elif defined(WOLFSSL_FROSTED) From 239f878bd1a99750138f265e96bfb59464e460a2 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:45:26 +0900 Subject: [PATCH 18/21] fix indentation --- wolfssl/internal.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wolfssl/internal.h b/wolfssl/internal.h index b31e99c54..c42bd683d 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -152,11 +152,11 @@ #elif defined(WOLFSSL_CMSIS_RTOSv2) #include "cmsis_os2.h" #elif defined(WOLFSSL_MDK_ARM) - #if !defined(WOLFSSL_MDK5) -#include "cmsis_os.h" -#else -#include -#endif + #if defined(WOLFSSL_MDK5) + #include "cmsis_os.h" + #else + #include + #endif #elif defined(MBED) #elif defined(WOLFSSL_TIRTOS) /* do nothing */ From 0ee1e103dde65c00f40c982512c176bca097c8ed Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:46:41 +0900 Subject: [PATCH 19/21] update project files --- .../Projects/EchoClient/EchoClient.uvprojx | 52 +-- .../Projects/EchoServer/EchoServer.uvprojx | 56 +-- .../Projects/wolfSSL-Lib/wolfSSL-Lib.uvprojx | 393 ++++++++++-------- 3 files changed, 267 insertions(+), 234 deletions(-) diff --git a/IDE/MDK5-ARM/Projects/EchoClient/EchoClient.uvprojx b/IDE/MDK5-ARM/Projects/EchoClient/EchoClient.uvprojx index bfb18aec3..fdaf17155 100644 --- a/IDE/MDK5-ARM/Projects/EchoClient/EchoClient.uvprojx +++ b/IDE/MDK5-ARM/Projects/EchoClient/EchoClient.uvprojx @@ -16,7 +16,7 @@ STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -763,7 +763,7 @@ - + RTE\CMSIS\RTX_Conf_CM.c @@ -771,50 +771,50 @@ - + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + @@ -822,7 +822,7 @@ RTE\Network\Net_Config.c - + @@ -830,7 +830,7 @@ RTE\Network\Net_Config_BSD.h - + @@ -838,7 +838,7 @@ RTE\Network\Net_Config_DNS_Client.h - + @@ -846,7 +846,7 @@ RTE\Network\Net_Config_ETH_0.h - + @@ -854,7 +854,7 @@ RTE\Network\Net_Config_TCP.h - + @@ -862,7 +862,7 @@ RTE\Network\Net_Config_UDP.h - + @@ -881,8 +881,8 @@ RTE\wolfSSL\user_settings.h - - + + diff --git a/IDE/MDK5-ARM/Projects/EchoServer/EchoServer.uvprojx b/IDE/MDK5-ARM/Projects/EchoServer/EchoServer.uvprojx index c2b337527..0650169d9 100644 --- a/IDE/MDK5-ARM/Projects/EchoServer/EchoServer.uvprojx +++ b/IDE/MDK5-ARM/Projects/EchoServer/EchoServer.uvprojx @@ -10,13 +10,13 @@ echoServer 0x4 ARM-ADS - 5060422::V5.06 update 4 (build 422)::ARMCC + 5060528::V5.06 update 5 (build 528)::ARMCC 0 STM32F756NGHx STMicroelectronics - Keil.STM32F7xx_DFP.2.9.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE @@ -763,7 +763,7 @@ - + RTE\CMSIS\RTX_Conf_CM.c @@ -771,50 +771,50 @@ - + RTE\Device\STM32F756NGHx\RTE_Device.h - - + + - + RTE\Device\STM32F756NGHx\startup_stm32f756xx.s - - + + - + RTE\Device\STM32F756NGHx\stm32f7xx_hal_conf.h - - + + - + RTE\Device\STM32F756NGHx\system_stm32f7xx.c - - + + RTE\File_System\FS_Config.c - - + + RTE\File_System\FS_Config_MC_0.h - - + + @@ -822,7 +822,7 @@ RTE\Network\Net_Config.c - + @@ -830,15 +830,15 @@ RTE\Network\Net_Config_BSD.h - + - + RTE\Network\Net_Config_DNS_Client.h - + @@ -852,7 +852,7 @@ RTE\Network\Net_Config_ETH_0.h - + @@ -860,7 +860,7 @@ RTE\Network\Net_Config_TCP.h - + @@ -868,7 +868,7 @@ RTE\Network\Net_Config_UDP.h - + @@ -887,8 +887,8 @@ RTE\wolfSSL\user_settings.h - - + + diff --git a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvprojx b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvprojx index ba62f47a2..0d046e502 100644 --- a/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvprojx +++ b/IDE/MDK5-ARM/Projects/wolfSSL-Lib/wolfSSL-Lib.uvprojx @@ -10,18 +10,20 @@ wolfSSL-Lib 0x4 ARM-ADS + 5060528::V5.06 update 5 (build 528)::ARMCC + 0 - STM32F207IG + STM32F765NGHx STMicroelectronics - Keil.STM32F2xx_DFP.2.2.0 + Keil.STM32F7xx_DFP.2.11.0 http://www.keil.com/pack - IRAM(0x20000000,0x20000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M3") CLOCK(120000000) ELITTLE + IRAM(0x20020000,0x60000) IRAM2(0x20000000,0x20000) IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) CPUTYPE("Cortex-M7") FPU3(DFPU) CLOCK(12000000) ELITTLE - UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm)) + UL2CM3(-S0 -C0 -P0 -FD20020000 -FC1000 -FN2 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FF1STM32F7x_1024dual -FS18000000 -FL1100000 -FP0($$Device:STM32F765NGHx$CMSIS\Flash\STM32F7x_1024.FLM) -FP1($$Device:STM32F765NGHx$CMSIS\Flash\STM32F7x_1024dual.FLM)) 0 - $$Device:STM32F207IG$Device\Include\stm32f2xx.h + $$Device:STM32F765NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h @@ -31,7 +33,7 @@ - $$Device:STM32F207IG$SVD\STM32F20x.svd + $$Device:STM32F765NGHx$CMSIS\SVD\STM32F7x5_v1r1.svd 0 0 @@ -84,6 +86,8 @@ 0 0 + 0 + 0 0 @@ -106,13 +110,13 @@ SARMCM3.DLL - -REMAP -MPU + -REMAP -MPU DCM.DLL - -pCM3 + -pCM7 SARMCM3.DLL - -REMAP -MPU + -MPU TCM.DLL - -pCM3 + -pCM7 @@ -122,47 +126,6 @@ 0 16 - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - - - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 1 - - 0 - 7 - - - - - - - - - - - - - - BIN\ULP2CM3.DLL - @@ -174,8 +137,8 @@ 4100 1 - BIN\ULP2CM3.DLL - "" () + BIN\UL2CM3.DLL + wolfSSL-lib @@ -211,24 +174,25 @@ 1 0 0 - "Cortex-M3" + "Cortex-M7" - 1 + 0 0 0 1 1 0 0 - 0 - 0 - 0 + 3 + 1 + 1 8 0 0 0 - 3 - 3 + 0 + 4 + 4 0 0 0 @@ -245,7 +209,7 @@ 0 0 1 - 0 + 1 0 @@ -279,8 +243,8 @@ 0 - 0x20000000 - 0x20000 + 0x20020000 + 0x60000 1 @@ -314,8 +278,8 @@ 1 - 0x0 - 0x0 + 0x200000 + 0x100000 0 @@ -334,13 +298,13 @@ 0 - 0x20000000 - 0x20000 + 0x20020000 + 0x60000 0 - 0x0 - 0x0 + 0x20000000 + 0x20000 @@ -361,9 +325,16 @@ 0 0 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 --diag_suppress=1293 - HAVE_CONFIG_H MDK_CONF_WOLFLIB WOLFSSL_USER_SETTINGS + MDK_CONF_WOLFLIB WOLFSSL_USER_SETTINGS @@ -378,6 +349,7 @@ 0 0 0 + 0 @@ -408,16 +380,6 @@ Configuration - - config-Crypt.h - 5 - .\RTE\wolfSSL\config-Crypt.h - - - config-wolfSSL.h - 5 - .\RTE\wolfSSL\config-wolfSSL.h - user_settings.h 5 @@ -427,6 +389,13 @@ Documentation + + + Abstract.txt + 5 + .\Abstract.txt + + wolfSSL-lib @@ -455,27 +424,37 @@ - + - + - + - + - + + + + + + + + + + + @@ -500,6 +479,12 @@ + + + + + + @@ -508,174 +493,226 @@ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + - - + + - - RTE\CMSIS\RTX_Conf_CM.c - - - - - - - - RTE\Device\STM32F207IG\RTE_Device.h - - + + RTE\CMSIS\RTX_Conf_CM.c + + - - RTE\Device\STM32F207IG\startup_stm32f207xx.s - - + + RTE\CMSIS\RTX_Config.c + + + + RTE\CMSIS\RTX_Config.h + + + + + + + + RTE\Device\STM32F207IG\RTE_Device.h + + + + + + RTE\Device\STM32F207IG\startup_stm32f207xx.s + + + + RTE\Device\STM32F207IG\startup_stm32f2xx.s - - RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h - - + + RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h + + + + + + RTE\Device\STM32F207IG\system_stm32f2xx.c + + + + + + RTE\Device\STM32F765NGHx\RTE_Device.h + + - - RTE\Device\STM32F207IG\system_stm32f2xx.c - - + + RTE\Device\STM32F765NGHx\startup_stm32f765xx.s + + + + + + + + RTE\Device\STM32F765NGHx\stm32f7xx_hal_conf.h + + + + + + + + RTE\Device\STM32F765NGHx\system_stm32f7xx.c + + @@ -692,50 +729,50 @@ - + RTE\Network\Net_Config.c - - + + - + RTE\Network\Net_Config_BSD.h - - + + - + RTE\Network\Net_Config_DNS_Client.h - - + + - + RTE\Network\Net_Config_ETH_0.h - - + + - + RTE\Network\Net_Config_TCP.h - - + + - + RTE\Network\Net_Config_UDP.h - - + + @@ -771,20 +808,16 @@ - RTE\wolfSSL\config-Crypt.h + RTE\wolfSSL\config-Crypt.h - - - + - RTE\wolfSSL\config-wolfSSL.h + RTE\wolfSSL\config-wolfSSL.h - - - + RTE\wolfSSL\config.h @@ -798,10 +831,10 @@ - + RTE\wolfSSL\user_settings.h - - + + From b842b8583ee6e33bbd65da9fbc33de12997e2429 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Mon, 18 Feb 2019 06:48:20 +0900 Subject: [PATCH 20/21] add CMSIS RTOSv2 and imporove other default values to user_settings.h template --- IDE/MDK5-ARM/Conf/user_settings.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/IDE/MDK5-ARM/Conf/user_settings.h b/IDE/MDK5-ARM/Conf/user_settings.h index 546cde7e5..2c1fd6c3a 100644 --- a/IDE/MDK5-ARM/Conf/user_settings.h +++ b/IDE/MDK5-ARM/Conf/user_settings.h @@ -59,8 +59,8 @@ // <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 +// <13=>Frosted <14=>CMSIS RTOS<15=>CMSIS RTOSv2<16=>Others +#define MDK_CONF_THREAD 15 #if MDK_CONF_THREAD== 0 #define SINGLE_THREADED #elif MDK_CONF_THREAD == 1 @@ -92,6 +92,8 @@ #elif MDK_CONF_THREAD == 14 #define WOLFSSL_CMSIS_RTOS #elif MDK_CONF_THREAD == 15 +#define WOLFSSL_CMSIS_RTOSv2 +#elif MDK_CONF_THREAD == 16 #define SINGLE_THREADED #endif @@ -151,13 +153,13 @@ // Hash/Crypt Algrithm // MD2 -#define MDK_CONF_MD2 1 +#define MDK_CONF_MD2 0 #if MDK_CONF_MD2 == 1 #define WOLFSSL_MD2 #endif // // MD4 -#define MDK_CONF_MD4 1 +#define MDK_CONF_MD4 0 #if MDK_CONF_MD4 == 0 #define NO_MD4 #endif @@ -237,7 +239,7 @@ // // RC4 -#define MDK_CONF_RC4 1 +#define MDK_CONF_RC4 0 #if MDK_CONF_RC4 == 0 #define NO_RC4 #endif @@ -376,7 +378,7 @@ // Hardware Crypt (See document for usage) // Hardware RNG -#define MDK_CONF_STM32F2_RNG 1 +#define MDK_CONF_STM32F2_RNG 0 #if MDK_CONF_STM32F2_RNG == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_RNG @@ -394,7 +396,7 @@ #endif // // Hardware Crypt -#define MDK_CONF_STM32F2_CRYPTO 1 +#define MDK_CONF_STM32F2_CRYPTO 0 #if MDK_CONF_STM32F2_CRYPTO == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_CRYPTO @@ -412,7 +414,7 @@ #endif // // Hardware Hash -#define MDK_CONF_STM32F2_HASH 1 +#define MDK_CONF_STM32F2_HASH 0 #if MDK_CONF_STM32F2_HASH == 1 #define WOLFSSL_STM32_CUBEMX #define STM32_HASH @@ -462,7 +464,7 @@ #endif // // Small Stack -#define MDK_CONF_SmallStack 0 +#define MDK_CONF_SmallStack 1 #if MDK_CONF_SmallStack == 0 #define NO_WOLFSSL_SMALL_STACK #endif @@ -476,10 +478,11 @@ // wolfSSL Configuration // TLS 1.3 -#define MDK_CONF_TLS 0 +#define MDK_CONF_TLS 1 #if MDK_CONF_TLS == 1 #define WOLFSSL_TLS13 #define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES #define WC_RSA_PSS #define HAVE_HKDF #define HAVE_FFDHE_2048 From 161e815c03fe2048121941c02fa14ba5f7750799 Mon Sep 17 00:00:00 2001 From: Takashi Kojo Date: Wed, 20 Feb 2019 04:14:17 +0900 Subject: [PATCH 21/21] remove hard tab --- wolfcrypt/benchmark/benchmark.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/wolfcrypt/benchmark/benchmark.c b/wolfcrypt/benchmark/benchmark.c index b03ba7c9b..0cdf712e2 100644 --- a/wolfcrypt/benchmark/benchmark.c +++ b/wolfcrypt/benchmark/benchmark.c @@ -3990,20 +3990,20 @@ static void bench_rsa_helper(int doAsync, RsaKey rsaKey[BENCH_MAX_PENDING], DECLARE_VAR_INIT(message, byte, len, messageStr, HEAP_HINT); #endif #if !defined(WOLFSSL_MDK5_COMPLv5) - /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ + /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ DECLARE_ARRAY_DYNAMIC_DEC(enc, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); - #else - byte* enc[BENCH_MAX_PENDING]; - int idxenc; - #endif + #else + byte* enc[BENCH_MAX_PENDING]; + int idxenc; + #endif #if !defined(WOLFSSL_RSA_VERIFY_INLINE) && \ !defined(WOLFSSL_RSA_PUBLIC_ONLY) #if !defined(WOLFSSL_MDK5_COMPLv5) - /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ + /* MDK5 compiler regard this as a executable statement, and does not allow declarations after the line. */ DECLARE_ARRAY_DYNAMIC_DEC(out, byte, BENCH_MAX_PENDING, rsaKeySz, HEAP_HINT); - #else - int idxout; - byte* out[BENCH_MAX_PENDING]; + #else + int idxout; + byte* out[BENCH_MAX_PENDING]; #endif #else byte* out[BENCH_MAX_PENDING];