Fixes to the Pi Pico build
* Don't require FreeRTOS if we are doing a bare metal bench / test build * Make stack checking stricter and increase stack size for DH * Set alignment to 0, this fixes LMS if that is compiled-in * `WOLFSSL_SP_MATH` and `WOLFSSL_SP_MATH_ALL` can't be used together * Loop the benchmarkpull/557/head
parent
a2217c6e75
commit
b821577eaf
|
|
@ -1,9 +1,13 @@
|
|||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
# Pull in Pico and FreeRTOS
|
||||
# Pull in Pico SDK
|
||||
include($ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake)
|
||||
#include(pico_extras_import_optional.cmake)
|
||||
include($ENV{FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
|
||||
|
||||
# Pull in FreeRTOS if available (required for WiFi/TCP/TLS examples)
|
||||
if (DEFINED ENV{FREERTOS_KERNEL_PATH})
|
||||
include($ENV{FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
|
||||
endif()
|
||||
|
||||
|
||||
if(PICO_SDK_VERSION_STRING VERSION_LESS "1.3.0")
|
||||
|
|
@ -27,6 +31,10 @@ if (USE_WIFI AND NOT PICO_CYW43_SUPPORTED)
|
|||
message(FATAL_ERROR "You can only set USE_WIFI when a PICO_BOARD with wifi is used")
|
||||
endif()
|
||||
|
||||
if (USE_WIFI AND NOT DEFINED ENV{FREERTOS_KERNEL_PATH})
|
||||
message(FATAL_ERROR "FREERTOS_KERNEL_PATH environment variable must be set when USE_WIFI is enabled")
|
||||
endif()
|
||||
|
||||
### Global Include Path
|
||||
include_directories(config)
|
||||
include_directories(include)
|
||||
|
|
@ -38,9 +46,11 @@ endif()
|
|||
#include_directories(${PICO_SDK_PATH}/lib/btstack/test/embedded/)
|
||||
|
||||
set(WOLFSSL_ROOT $ENV{WOLFSSL_ROOT})
|
||||
set(FREERTOS_KERNEL_PATH $ENV{FREERTOS_KERNEL_PATH})
|
||||
include_directories(${FREERTOS_KERNEL_PATH}/include/)
|
||||
include_directories(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/include)
|
||||
if (DEFINED ENV{FREERTOS_KERNEL_PATH})
|
||||
set(FREERTOS_KERNEL_PATH $ENV{FREERTOS_KERNEL_PATH})
|
||||
include_directories(${FREERTOS_KERNEL_PATH}/include/)
|
||||
include_directories(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/include)
|
||||
endif()
|
||||
include_directories(${WOLFSSL_ROOT})
|
||||
### End of Global Include Path
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ target_link_libraries(benchmark
|
|||
|
||||
target_compile_definitions(benchmark PRIVATE
|
||||
WOLFSSL_RPI_PICO
|
||||
PICO_STACK_SIZE=4096
|
||||
)
|
||||
|
||||
if (USE_UART)
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ extern time_t myTime(time_t *);
|
|||
/* ------------------------------------------------------------------------- */
|
||||
/* Platform */
|
||||
/* ------------------------------------------------------------------------- */
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 4
|
||||
#define WOLFSSL_GENERAL_ALIGNMENT 0
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
#if 0
|
||||
#define NO_64BIT /* disable use of 64-bit variables */
|
||||
|
|
@ -76,7 +76,7 @@ extern time_t myTime(time_t *);
|
|||
// #define WOLFSSL_SP_384 /* Enable ECC 384-bit SECP384R1 support */
|
||||
|
||||
// #define WOLFSSL_SP_CACHE_RESISTANT
|
||||
#define WOLFSSL_SP_MATH /* only SP math - disables integer.c/tfm.c */
|
||||
//#define WOLFSSL_SP_MATH /* only SP math - disables integer.c/tfm.c */
|
||||
#define WOLFSSL_SP_MATH_ALL /* use SP math for all key sizes and curves */
|
||||
|
||||
// #define WOLFSSL_SP_NO_MALLOC
|
||||
|
|
|
|||
|
|
@ -37,9 +37,11 @@ int main(int argc, char **argv)
|
|||
int ret;
|
||||
|
||||
stdio_init_all();
|
||||
printf("\nSystem clock = %dMHz\n\n", clock_get_hz(clk_sys)/1000000);
|
||||
ret = benchmark_test(NULL);
|
||||
printf("End: %d\n", ret);
|
||||
while(1) {
|
||||
printf("\nSystem clock = %dMHz\n\n", clock_get_hz(clk_sys)/1000000);
|
||||
ret = benchmark_test(NULL);
|
||||
printf("End: %d\n", ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ target_compile_definitions(wolfssl PUBLIC
|
|||
WOLFSSL_USER_SETTINGS
|
||||
)
|
||||
|
||||
add_compile_definitions(PICO_USE_STACK_GUARDS=1)
|
||||
|
||||
if (${PICO_PLATFORM} STREQUAL "rp2350-arm-s")
|
||||
add_compile_definitions(wolfssl WOLFSSL_SP_ARM_CORTEX_M_ASM)
|
||||
elseif (${PICO_PLATFORM} STREQUAL "rp2350-riscv")
|
||||
|
|
|
|||
Loading…
Reference in New Issue