-
Notifications
You must be signed in to change notification settings - Fork 834
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6877 from gojimmypi/Espressif-cmake-update
Espressif Update wolfSSL component CMakeLists.txt
- Loading branch information
Showing
11 changed files
with
3,040 additions
and
644 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
577 changes: 414 additions & 163 deletions
577
IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/CMakeLists.txt
Large diffs are not rendered by default.
Oops, something went wrong.
168 changes: 168 additions & 0 deletions
168
IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/components/wolfssl/include/user_settings.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
/* user_settings.h | ||
* | ||
* Copyright (C) 2006-2023 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 | ||
*/ | ||
|
||
#undef WOLFSSL_ESPIDF | ||
#undef WOLFSSL_ESP32 | ||
#undef WOLFSSL_ESPWROOM32SE | ||
#undef WOLFSSL_ESP32 | ||
#undef WOLFSSL_ESP8266 | ||
|
||
/* The Espressif sdkconfig will have chipset info. | ||
** | ||
** Possible values: | ||
** | ||
** CONFIG_IDF_TARGET_ESP32 | ||
** CONFIG_IDF_TARGET_ESP32S3 | ||
** CONFIG_IDF_TARGET_ESP32C3 | ||
** CONFIG_IDF_TARGET_ESP32C6 | ||
*/ | ||
#include <sdkconfig.h> | ||
|
||
#define WOLFSSL_ESPIDF | ||
|
||
/* | ||
* choose ONE of these Espressif chips to define: | ||
* | ||
* WOLFSSL_ESP32 | ||
* WOLFSSL_ESPWROOM32SE | ||
* WOLFSSL_ESP8266 | ||
*/ | ||
|
||
#define WOLFSSL_ESP32 | ||
|
||
/* #define DEBUG_WOLFSSL_VERBOSE */ | ||
|
||
#define BENCH_EMBEDDED | ||
#define USE_CERT_BUFFERS_2048 | ||
|
||
/* TLS 1.3 */ | ||
#define WOLFSSL_TLS13 | ||
#define HAVE_TLS_EXTENSIONS | ||
#define WC_RSA_PSS | ||
#define HAVE_HKDF | ||
#define HAVE_AEAD | ||
#define HAVE_SUPPORTED_CURVES | ||
|
||
/* when you want to use SINGLE THREAD */ | ||
/* #define SINGLE_THREADED */ | ||
#define NO_FILESYSTEM | ||
|
||
#define HAVE_AESGCM | ||
/* when you want to use SHA384 */ | ||
/* #define WOLFSSL_SHA384 */ | ||
#define WOLFSSL_SHA512 | ||
#define HAVE_ECC | ||
#define HAVE_CURVE25519 | ||
#define CURVE25519_SMALL | ||
#define HAVE_ED25519 | ||
|
||
/* when you want to use pkcs7 */ | ||
/* #define HAVE_PKCS7 */ | ||
|
||
#if defined(HAVE_PKCS7) | ||
#define HAVE_AES_KEYWRAP | ||
#define HAVE_X963_KDF | ||
#define WOLFSSL_AES_DIRECT | ||
#endif | ||
|
||
/* when you want to use aes counter mode */ | ||
/* #define WOLFSSL_AES_DIRECT */ | ||
/* #define WOLFSSL_AES_COUNTER */ | ||
|
||
/* esp32-wroom-32se specific definition */ | ||
#if defined(WOLFSSL_ESPWROOM32SE) | ||
#define WOLFSSL_ATECC508A | ||
#define HAVE_PK_CALLBACKS | ||
/* when you want to use a custom slot allocation for ATECC608A */ | ||
/* unless your configuration is unusual, you can use default */ | ||
/* implementation. */ | ||
/* #define CUSTOM_SLOT_ALLOCATION */ | ||
#endif | ||
|
||
/* RSA primitive specific definition */ | ||
#if defined(WOLFSSL_ESP32) || defined(WOLFSSL_ESPWROOM32SE) | ||
/* Define USE_FAST_MATH and SMALL_STACK */ | ||
#define ESP32_USE_RSA_PRIMITIVE | ||
/* threshold for performance adjustment for HW primitive use */ | ||
/* X bits of G^X mod P greater than */ | ||
#define EPS_RSA_EXPT_XBTIS 36 | ||
/* X and Y of X * Y mod P greater than */ | ||
#define ESP_RSA_MULM_BITS 2000 | ||
#endif | ||
|
||
/* debug options */ | ||
/* #define DEBUG_WOLFSSL */ | ||
/* #define WOLFSSL_ESP32_CRYPT_DEBUG */ | ||
/* #define WOLFSSL_ATECC508A_DEBUG */ | ||
|
||
/* date/time */ | ||
/* if it cannot adjust time in the device, */ | ||
/* enable macro below */ | ||
/* #define NO_ASN_TIME */ | ||
/* #define XTIME time */ | ||
|
||
|
||
/* adjust wait-timeout count if you see timeout in RSA HW acceleration */ | ||
#define ESP_RSA_TIMEOUT_CNT 0x249F00 | ||
|
||
#if defined(CONFIG_IDF_TARGET_ESP32) | ||
/* when you want not to use HW acceleration on ESP32 (below for S3, etc */ | ||
/* #define NO_ESP32_CRYPT */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_HASH */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_AES */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */ | ||
#elif defined(CONFIG_IDF_TARGET_ESP32S2) | ||
/* ESP32-S2 disabled by default; not implemented */ | ||
#define NO_ESP32_CRYPT | ||
#define NO_WOLFSSL_ESP32_CRYPT_HASH | ||
#define NO_WOLFSSL_ESP32_CRYPT_AES | ||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI | ||
#elif defined(CONFIG_IDF_TARGET_ESP32S3) | ||
/* when you want not to use HW acceleration on ESP32-S3 */ | ||
/* #define NO_ESP32_CRYPT */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_HASH */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_AES */ | ||
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */ | ||
#elif defined(CONFIG_IDF_TARGET_ESP32C3) | ||
/* ESP32-C3 disabled by default, not implemented */ | ||
#define NO_ESP32_CRYPT | ||
#define NO_WOLFSSL_ESP32_CRYPT_HASH | ||
#define NO_WOLFSSL_ESP32_CRYPT_AES | ||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI | ||
#elif defined(CONFIG_IDF_TARGET_ESP32C6) | ||
/* ESP32-C6 disabled by default, not implemented */ | ||
#define NO_ESP32_CRYPT | ||
#define NO_WOLFSSL_ESP32_CRYPT_HASH | ||
#define NO_WOLFSSL_ESP32_CRYPT_AES | ||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI | ||
#elif defined(CONFIG_IDF_TARGET_ESP32H2) | ||
/* ESP32-H2 disabled by default, not implemented */ | ||
#define NO_ESP32_CRYPT | ||
#define NO_WOLFSSL_ESP32_CRYPT_HASH | ||
#define NO_WOLFSSL_ESP32_CRYPT_AES | ||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI | ||
#else | ||
/* anything else unknown will have HW disabled by default */ | ||
#define NO_ESP32_CRYPT | ||
#define NO_WOLFSSL_ESP32_CRYPT_HASH | ||
#define NO_WOLFSSL_ESP32_CRYPT_AES | ||
#define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI | ||
#endif |
34 changes: 34 additions & 0 deletions
34
IDE/Espressif/ESP-IDF/examples/wolfssl_benchmark/partitions_singleapp_large.csv
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# This tag is used to include this file in the ESP Component Registry: | ||
# __ESP_COMPONENT_SOURCE__ | ||
|
||
# to view: idf.py partition-table | ||
# | ||
# ESP-IDF Partition Table | ||
# Name, Type, SubType, Offset, Size, Flags | ||
nvs, data, nvs, 0x9000, 24K, | ||
phy_init,data, phy, 0xf000, 4K, | ||
factory, app, factory, 0x10000, 1500K, | ||
|
||
|
||
# For other settings, see: | ||
# https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html#creating-custom-tables | ||
# | ||
# Here is the summary printed for the �Single factory app, no OTA� configuration: | ||
# | ||
# # ESP-IDF Partition Table | ||
# # Name, Type, SubType, Offset, Size, Flags | ||
# nvs, data, nvs, 0x9000, 0x6000, | ||
# phy_init, data, phy, 0xf000, 0x1000, | ||
# factory, app, factory, 0x10000, 1M, | ||
# | ||
# | ||
# Here is the summary printed for the �Factory app, two OTA definitions� configuration: | ||
# | ||
# # ESP-IDF Partition Table | ||
# # Name, Type, SubType, Offset, Size, Flags | ||
# nvs, data, nvs, 0x9000, 0x4000, | ||
# otadata, data, ota, 0xd000, 0x2000, | ||
# phy_init, data, phy, 0xf000, 0x1000, | ||
# factory, app, factory, 0x10000, 1M, | ||
# ota_0, app, ota_0, 0x110000, 1M, | ||
# ota_1, app, ota_1, 0x210000, 1M, |
Oops, something went wrong.