From 1899a72d2790f482b6ed52f9db6679a70783b369 Mon Sep 17 00:00:00 2001 From: Elms Date: Tue, 17 Nov 2020 10:55:01 -0800 Subject: [PATCH] Micrium: benchmark fixes * Time update for v5.8 to avoid rollover issues * define `XSNPRINTF` * `printf` based on Micrium version --- wolfcrypt/benchmark/benchmark.c | 25 ++++++++++++++++++++----- wolfssl/wolfcrypt/settings.h | 2 ++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/wolfcrypt/benchmark/benchmark.c b/wolfcrypt/benchmark/benchmark.c index dee2727bd..bdcaa7222 100644 --- a/wolfcrypt/benchmark/benchmark.c +++ b/wolfcrypt/benchmark/benchmark.c @@ -64,10 +64,12 @@ #undef printf #define printf printx #elif defined(MICRIUM) - #include - void BSP_Ser_Printf (CPU_CHAR* format, ...); - #undef printf - #define printf BSP_Ser_Printf + #if (OS_VERSION < 50000) + #include + void BSP_Ser_Printf (CPU_CHAR* format, ...); + #undef printf + #define printf BSP_Ser_Printf + #endif #elif defined(WOLFSSL_ZEPHYR) #include #define BENCH_EMBEDDED @@ -6027,10 +6029,23 @@ exit_ed_verify: #elif defined(MICRIUM) double current_time(int reset) { - CPU_ERR err; +#if (OS_VERSION < 50000) + CPU_ERR err; (void)reset; return (double) CPU_TS_Get32()/CPU_TS_TmrFreqGet(&err); +#else + RTOS_ERR err; + double ret = 0; + OS_TICK tick = OSTimeGet(&err); + OS_RATE_HZ rate = OSTimeTickRateHzGet(&err); + (void)reset; + + if (RTOS_ERR_CODE_GET(err) == RTOS_ERR_NONE) { + ret = ((double)tick)/rate; + } + return ret; +#endif } #elif defined(WOLFSSL_ZEPHYR) diff --git a/wolfssl/wolfcrypt/settings.h b/wolfssl/wolfcrypt/settings.h index 15b99fa2e..06b1eb3aa 100644 --- a/wolfssl/wolfcrypt/settings.h +++ b/wolfssl/wolfcrypt/settings.h @@ -1399,6 +1399,7 @@ extern void uITRON4_free(void *p) ; #include #include #include + #include #include #define USE_FAST_MATH @@ -1468,6 +1469,7 @@ extern void uITRON4_free(void *p) ; (void *)(pmem_2), \ (CPU_SIZE_T)(size)) == DEF_YES)) \ ? 0 : 1) + #define XSNPRINTF snprintf #endif #define XMEMMOVE XMEMCPY