From fc583d068fb3ffac8b14cdafaf2d21301f197cfe Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Fri, 19 Dec 2025 12:03:33 +0900 Subject: [PATCH 1/3] add SK-S7G2 support Update README based on copilot suggestion --- .../benchmark-template/src/app_entry.c | 10 +- IDE/Renesas/e2studio/SK-S7G2/.gitignore | 6 + IDE/Renesas/e2studio/SK-S7G2/README.md | 192 +++ .../e2studio/SK-S7G2/benchmark_test/.cproject | 358 +++++ .../e2studio/SK-S7G2/benchmark_test/.project | 39 + .../e2studio/SK-S7G2/common/user_settings.h | 88 ++ IDE/Renesas/e2studio/SK-S7G2/include.am | 13 + .../e2studio/SK-S7G2/wolfcrypt_test/.cproject | 355 +++++ .../e2studio/SK-S7G2/wolfcrypt_test/.project | 34 + .../e2studio/SK-S7G2/wolfssl_lib/.cproject | 341 +++++ .../e2studio/SK-S7G2/wolfssl_lib/.project | 579 ++++++++ .../SK-S7G2/wolfssl_lib/configuration.xml | 1297 +++++++++++++++++ IDE/include.am | 1 + 13 files changed, 3308 insertions(+), 5 deletions(-) create mode 100644 IDE/Renesas/e2studio/SK-S7G2/.gitignore create mode 100644 IDE/Renesas/e2studio/SK-S7G2/README.md create mode 100644 IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.cproject create mode 100644 IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.project create mode 100644 IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h create mode 100644 IDE/Renesas/e2studio/SK-S7G2/include.am create mode 100644 IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.cproject create mode 100644 IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.project create mode 100644 IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject create mode 100644 IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project create mode 100644 IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/configuration.xml diff --git a/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c b/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c index 07845cf60d8..e0b1ae50148 100644 --- a/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c +++ b/IDE/Renesas/e2studio/DK-S7G2/benchmark-template/src/app_entry.c @@ -18,8 +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 */ - - + + #include "app.h" #include "stdio.h" @@ -37,9 +37,9 @@ extern void initialise_monitor_handles(void); #include "nx_api.h" #define CONNECTION_TIMES 100 -#define SERVER_IP IP_ADDRESS(10,22,73,128) -#define TLS_PORT 11111 -#define TCP_PORT 11112 +#define SERVER_IP IP_ADDRESS(192,168,3,10) +#define TLS_PORT 11112 +#define TCP_PORT 11111 static double milliseconds = 0; void timer_callback(timer_callback_args_t * args) diff --git a/IDE/Renesas/e2studio/SK-S7G2/.gitignore b/IDE/Renesas/e2studio/SK-S7G2/.gitignore new file mode 100644 index 00000000000..263ec034aec --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/.gitignore @@ -0,0 +1,6 @@ +.settings/ +Debug/ +synergy/ +synergy_cfg/ +wolfssl_lib/src/synergy_gen/ +synergy_cfg.txt diff --git a/IDE/Renesas/e2studio/SK-S7G2/README.md b/IDE/Renesas/e2studio/SK-S7G2/README.md new file mode 100644 index 00000000000..c7079f05939 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/README.md @@ -0,0 +1,192 @@ +wolfSSL simple application projects for SK-S7G2 board +====== + +## 1. Overview +----- + +This repository provides simple sample applications for evaluating wolfSSL on the SK-S7G2 evaluation board (R7FS7G27H3A01CFC, S7G2 MCU). The samples run on Express Logic ThreadX (a real-time operating system) and use NetX/NetX Driver for networking and the SSP-provided drivers for the SK-S7G2 board. + +The sample package includes applications that demonstrate the following functions: + +- Crypto Test: Automatically runs tests for various cryptographic operations. +- Benchmark: Measures execution speed for various cryptographic operations. The benchmark also includes TCP and TLS client tests against a peer server. + +Because the required hardware and software configurations for the evaluation board are already prepared, only minimal setup is needed to run the samples. + +The following sections will walk you through the steps leading up to running the sample application. + +## 2. Target H/W, components and libraries +----- + +This sample program uses the following hardware and software libraries. If a new version of any component is available, update it as appropriate. + +| item | name & version | +|:--|:--| +| Board | SK-S7G2 Starter Kit | +| Device | R7FS7G27H3A01CFC | +| IDE | Renesas e2Studio — Version: 2025-01 (25.1.0) | +| Toolchain | GNU Arm Embedded Toolchain (arm-none-eabi-gcc), e.g. Arm GNU Toolchain 13.3.Rel1 (build arm-13.24) | +| SSP | 2.7.0 | + +The project includes a configuration file that references the following software components. These components are not bundled with this sample; you must download or install them via the e2studio Smart Configurator. + +| Component | version | +|:--|:--| +| Board support package for R7FS7G27H3A01CFC | 2.7.0 | +| Board Support Packages | 2.7.0 | +| SSP Common Code | 2.7.0 | +| Clock Generation Circuit: Provides=[CGC] | 2.7.0 | +| Event Link Controller: Provides=[ELC] | 2.7.0 | +| Factory MCU Information Module: Provides=[FMI] | 2.7.0 | +| I/O Port: Provides=[IO Port] | 2.7.0 | +| S7G2_SK Board Support Files | 2.7.0 | +| Express Logic ThreadX: Provides=[ThreadX] | 2.7.0 | +| Secure Cryptography Engine: Provides=[TRNG, AES, HASH, RSA, DSA, TDES, ARC4, ECC, KEY_INSTALLATION] | 2.7.0 | +| Express Logic NetX Synergy Port: Provides=[NetX Driver], Requires=[NetX] | 2.7.0 | +| General Purpose Timer: Provides=[Timer, GPT] | 2.7.0 | +| Real Time Clock: Provides=[RTC] | 2.7.0 | +| Express Logic NetX: Provides=[NetX], Requires=[ThreadX, NetX Driver] | 2.7.0 | + +> Note: Hardware-accelerated algorithms supported on this board (via the Secure Cryptography Engine / SSP): +> +> - True Random Number Generator (TRNG) +> - SHA-256 +> - AES in ECB mode: AES-128, AES-192, AES-256 +> +> To use the hardware accelerators, enable the "Secure Cryptography Engine" component in the e2studio Smart Configurator and click "Generate Code". On the wolfSSL side, hardware SCE support is enabled with the `WOLFSSL_SCE` compile-time option. In this sample, `WOLFSSL_SCE` is defined in the `user_settings.h` file included in the `wolfSSL_SKS7G2` project (for example: `#define WOLFSSL_SCE`), so the sample will use the Secure Cryptography Engine for the primitives listed above. To force software fallbacks for testing, remove the `WOLFSSL_SCE` define from `user_settings.h` or disable the Secure Cryptography Engine component. + +## 3. Importing sample application project into e2Studio +---- +There is no need to create a new project. Since the project file is already prepared, import the project from the IDE by following the steps below. + +- In e2studio: File > Open Project from File System... > Directory (R) ... Click the import source button and select the folder containing the project to import. +- Four projects are listed for import. Select only the three projects: `wolfbenchmark_test`, `wolfcrypt_test`, and `wolfssl_SKS7G2`, then click Finish. + +You should see the `wolfbenchmark_test`, `wolfcrypt_test`, and `wolfssl_SKS7G2` projects in Project Explorer. + +## 4. Smart configurator file generation +---- +Follow the steps below: + +1. Open the `wolfssl_SKS7G2` project in Project Explorer and double-click the `configuration.xml` file to open the Smart Configurator perspective. +2. Click the "Generate Code" button in the Smart Configurator (top-right of the component settings pane) to generate the required source files. This creates a `src/synergy_gen` folder under the project. + +## 5. Build and run wolfcrypt_test application +----- +1. Build the `wolfssl_SKS7G2` project in Project Explorer, then build the `wolfcrypt_test` project. +2. After a successful build, connect the target board to your PC via USB. +3. Select Run > Debug to open the Debug perspective. +4. The application outputs operating status to standard output. Keep the "Renesas Debug Virtual Console" open to view this output. +5. Press the Run button to start the application. +6. After displaying the crypto test result, the application enters an infinite loop. If output stops, stop debugging. + +## 7. Running benchmark application +----- + +### 7.1 Prepare TCP server as a peer +The benchmark application includes a TCP client. You can use [this TCP server application](https://github.com/wolfSSL/wolfssl-examples/blob/master/tls/server-tcp.c) as the peer server. + +``` +$ gcc server-tcp.c -o server-tcp +$ ./server-tcp +``` + +You can modify the server IP address and port. Those are defined in `app_entry.c` based on your environment: + +``` +#define SERVER_IP IP_ADDRESS(192,168,3,10) +#define TLS_PORT 11112 +#define TCP_PORT 11111 +``` + +### 7.2 Prepare TLS server as a peer +The benchmark application also includes a TLS client. You can use the wolfSSL example TLS server as the peer server: + +``` +$ git clone https://github.com/wolfSSL/wolfssl.git +$ cd wolfssl +$ ./autogen.sh +$ ./configure +$ make +$ ./examples/server/server -bdi -p 11112 -v d +``` + +The `-b` option binds the server to all network interfaces (instead of localhost only). +The `-d` option disables client authentication. +The `-i` option makes the server loop indefinitely (allow repeated connections). +The `-v` option sets the TLS version. The `d` value allows a downgrade to TLS 1.2 if a TLS 1.3 connection cannot be established. + +### 7.3 Run benchmark application on the board +After building and running the benchmark on the board, the client connects to the server over TCP, exchanges a simple string, and prints output to the Renesas Debug Virtual Console similar to: + +``` +Pinging server to see if up .. got response from server +Benchmarking client TCP connection +Trying to connect to 0xC0A8030A on port 11111 +100 TCP connections took 0.XXXXXX seconds +``` + +You will also see messages on the server console: + +``` +$ ./server-tcp +Waiting for a connection... +Client connected successfully +Client: Hello Server + +Waiting for a connection... +``` + +For TLS benchmark, you will see messages like: + +``` +Benchmarking client TLSv1.2 connection using ECDHE-RSA-AES128-GCM-SHA256 +Trying to connect to 0xC0A8030A on port 11112 +100 TLS connections took YYY.XXXXXX seconds (and ZZZ.XXXXXX tx_time ticks) + +Benchmarking client TLSv1.3 WOLFSSL_ECC_X25519 connection using TLS13_AES128_GCM_SHA256 +Trying to connect to 0xC0A8030A on port 11112 +100 TLS connections took YYY.XXXXXX seconds (and ZZZ.XXXXXX tx_time ticks) + +Benchmarking client TLSv1.3 WOLFSSL_ECC_SECP256R1 connection using TLS13_AES128_GCM_SHA256 +Trying to connect to 0xC0A8030A on port 11112 +100 TLS connections took YYY.XXXXXX seconds (and ZZZ.XXXXXX tx_time ticks) + +Benchmarking client TLSv1.3 WOLFSSL_FFDHE_2048 connection using TLS13_AES128_GCM_SHA256 +Trying to connect to 0xC0A8030A on port 11112 +100 TLS connections took YYY.XXXXXX seconds (and ZZZ.XXXXXX tx_time ticks) +``` + +On the server console you may see: + +``` +$ ./examples/server/server -bdi -p 11112 -v d +listening on port 11112 +SSL version is TLSv1.2 +SSL cipher suite is TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 +SSL curve name is SECP256R1 +... +SSL version is TLSv1.3 +SSL cipher suite is TLS_AES_128_GCM_SHA256 +SSL curve name is X25519 +... +SSL version is TLSv1.3 +SSL cipher suite is TLS_AES_128_GCM_SHA256 +SSL curve name is SECP256R1 +... +SSL version is TLSv1.3 +SSL cipher suite is TLS_AES_128_GCM_SHA256 +SSL curve name is FFDHE_2048 +``` + +Finally, the application runs cryptographic benchmarks. You will see output like: + +``` +wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each) +... +Benchmark complete +``` + +# 8. Support +---- +For support inquiries, email support@wolfssl.com. For Japanese support, contact info@wolfssl.jp. diff --git a/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.cproject b/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.cproject new file mode 100644 index 00000000000..ce9e26e6ffb --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.cproject @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.project b/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.project new file mode 100644 index 00000000000..c12107d73e0 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.project @@ -0,0 +1,39 @@ + + + wolfbenchmark_test + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + com.renesas.cdt.synergy.contentgen.synergyExecutableNature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + src/app_entry.c + 1 + PARENT-2-PROJECT_LOC/DK-S7G2/benchmark-template/src/app_entry.c + + + src/benchmark.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/benchmark/benchmark.c + + + diff --git a/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h b/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h new file mode 100644 index 00000000000..025166ec482 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h @@ -0,0 +1,88 @@ + +#ifndef USER_SETTINGS_H +#define USER_SETTINGS_H + +/*#define DEBUG_WOLFSSL*/ + +#define NO_MAIN_DRIVER +#define USE_CERT_BUFFERS_2048 +#define USE_CERT_BUFFERS_256 + +/* print out cycles per byte with benchmark + * when component r_wdt WDT is enabled + */ +#define SYNERGY_CYCLE_COUNT +#define BENCH_EMBEDDED + +/* Use turn on all SCE acceleration */ +#define WOLFSSL_SCE + +/* Used to turn off TRNG */ +/* #define WOLFSSL_SCE_NO_TRNG */ + +/* Used to turn off AES hardware acc. */ +/* #define WOLFSSL_SCE_NO_AES */ + +/* Used to turn off HASH hardware acc. */ +/* #define WOLFSSL_SCE_NO_HASH */ + +#if defined(WOLFSSL_SCE_NO_TRNG) + /* use unsafe test seed if TRNG not used (not for production) */ + #define WOLFSSL_GENSEED_FORTEST +#endif + +#define HAVE_ECC +#define ALT_ECC_SIZE + +#define HAVE_CHACHA +#define HAVE_POLY1305 +#define HAVE_ONE_TIME_AUTH +#define HAVE_AESGCM + +#define HAVE_AES_ECB +#define WOLFSSL_AES_DIRECT + +#define TFM_TIMING_RESISTANT +#define WC_RSA_BLINDING +#define ECC_TIMING_RESISTANT + +#define NO_WOLFSSL_DIR + +#define HAVE_NETX +#define THREADX +#define THREADX_NO_DC_PRINTF +#define NO_WRITEV +#define SIZEOF_LONG 4 +#define SIZEOF_LONG_LONG 8 + +#define SP_WORD_SIZE 32 +#define WOLFSSL_SP_NO_DYN_STACK +#define WOLFSSL_SP_NO_3072 +#define WOLFSSL_SP_MATH +#define WOLFSSL_SP_SMALL +#define WOLFSSL_SP_NO_MALLOC +/*#define WOLFSSL_SP_NONBLOCK*/ +#define WOLFSSL_HAVE_SP_DH +#define WOLFSSL_HAVE_SP_ECC +#define WOLFSSL_HAVE_SP_RSA +#define WOLFSSL_SP_ARM_CORTEX_M_ASM + +/* TLS 1.3 */ +#define WOLFSSL_TLS13 +#define HAVE_TLS_EXTENSIONS +#define HAVE_SUPPORTED_CURVES +#define HAVE_FFDHE_2048 +#define HAVE_HKDF +#define WC_RSA_PSS + +#define HAVE_CURVE25519 +#define HAVE_ED25519 +#define WOLFSSL_SHA512 + +/* NETX Duo BSD manual lists the socket len type as an INT */ +#undef XSOCKLENT +#define XSOCKLENT int + +#define USE_WOLF_TIMEVAL_T + +#endif diff --git a/IDE/Renesas/e2studio/SK-S7G2/include.am b/IDE/Renesas/e2studio/SK-S7G2/include.am new file mode 100644 index 00000000000..b361dc9ad09 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/include.am @@ -0,0 +1,13 @@ +# vim:ft=automake +# included from Top Level Makefile.am +# All paths should be given relative to the root + +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/README.md +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/configuration.xml +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.cproject +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.project +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.cproject +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/benchmark_test/.project +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h diff --git a/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.cproject b/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.cproject new file mode 100644 index 00000000000..2a9f91b3dac --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.cproject @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.project b/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.project new file mode 100644 index 00000000000..623882505e1 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/wolfcrypt_test/.project @@ -0,0 +1,34 @@ + + + wolfcrpt_test + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + com.renesas.cdt.synergy.contentgen.synergyExecutableNature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + + + src/test.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/test/test.c + + + diff --git a/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject new file mode 100644 index 00000000000..3032439fd57 --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project new file mode 100644 index 00000000000..a7ff640024e --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project @@ -0,0 +1,579 @@ + + + wolfssl_SKS7G2 + + + + + + com.renesas.cdt.synergy.contentgen.synergyBuilder + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + com.renesas.cdt.synergy.contentgen.synergyNature + + + + user_settings.h + 1 + PARENT-1-PROJECT_LOC/common/user_settings.h + + + src/wolfcrypt/aes.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/aes.c + + + src/wolfcrypt/arc4.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/arc4.c + + + src/wolfcrypt/ascon.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ascon.c + + + src/wolfcrypt/asm.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/asm.c + + + src/wolfcrypt/asn.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/asn.c + + + src/wolfcrypt/blake2b.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/blake2b.c + + + src/wolfcrypt/blake2s.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/blake2s.c + + + src/wolfcrypt/camellia.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/camellia.c + + + src/wolfcrypt/chacha.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/chacha.c + + + src/wolfcrypt/chacha20_poly1305.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/chacha20_poly1305.c + + + src/wolfcrypt/cmac.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/cmac.c + + + src/wolfcrypt/coding.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/coding.c + + + src/wolfcrypt/compress.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/compress.c + + + src/wolfcrypt/cpuid.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/cpuid.c + + + src/wolfcrypt/cryptocb.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/cryptocb.c + + + src/wolfcrypt/curve25519.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/curve25519.c + + + src/wolfcrypt/curve448.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/curve448.c + + + src/wolfcrypt/des3.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/des3.c + + + src/wolfcrypt/dh.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/dh.c + + + src/wolfcrypt/dilithium.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/dilithium.c + + + src/wolfcrypt/dsa.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/dsa.c + + + src/wolfcrypt/ecc.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ecc.c + + + src/wolfcrypt/ecc_fp.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ecc_fp.c + + + src/wolfcrypt/eccsi.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/eccsi.c + + + src/wolfcrypt/ed25519.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ed25519.c + + + src/wolfcrypt/ed448.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ed448.c + + + src/wolfcrypt/error.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/error.c + + + src/wolfcrypt/ext_lms.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ext_lms.c + + + src/wolfcrypt/ext_mlkem.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ext_mlkem.c + + + src/wolfcrypt/ext_xmss.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ext_xmss.c + + + src/wolfcrypt/falcon.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/falcon.c + + + src/wolfcrypt/fe_448.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/fe_448.c + + + src/wolfcrypt/fe_low_mem.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/fe_low_mem.c + + + src/wolfcrypt/fe_operations.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/fe_operations.c + + + src/wolfcrypt/ge_448.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ge_448.c + + + src/wolfcrypt/ge_low_mem.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ge_low_mem.c + + + src/wolfcrypt/ge_operations.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ge_operations.c + + + src/wolfcrypt/hash.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/hash.c + + + src/wolfcrypt/hmac.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/hmac.c + + + src/wolfcrypt/hpke.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/hpke.c + + + src/wolfcrypt/integer.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/integer.c + + + src/wolfcrypt/kdf.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/kdf.c + + + src/wolfcrypt/logging.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/logging.c + + + src/wolfcrypt/md2.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/md2.c + + + src/wolfcrypt/md4.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/md4.c + + + src/wolfcrypt/md5.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/md5.c + + + src/wolfcrypt/memory.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/memory.c + + + src/wolfcrypt/pkcs12.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/pkcs12.c + + + src/wolfcrypt/pkcs7.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/pkcs7.c + + + src/wolfcrypt/poly1305.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/poly1305.c + + + src/wolfcrypt/pwdbased.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/pwdbased.c + + + src/wolfcrypt/random.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/random.c + + + src/wolfcrypt/rc2.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/rc2.c + + + src/wolfcrypt/ripemd.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/ripemd.c + + + src/wolfcrypt/rsa.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/rsa.c + + + src/wolfcrypt/sakke.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sakke.c + + + src/wolfcrypt/sha.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sha.c + + + src/wolfcrypt/sha256.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sha256.c + + + src/wolfcrypt/sha3.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sha3.c + + + src/wolfcrypt/sha512.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sha512.c + + + src/wolfcrypt/signature.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/signature.c + + + src/wolfcrypt/siphash.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/siphash.c + + + src/wolfcrypt/sm2.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sm2.c + + + src/wolfcrypt/sm3.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sm3.c + + + src/wolfcrypt/sm4.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sm4.c + + + src/wolfcrypt/sp_arm32.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_arm32.c + + + src/wolfcrypt/sp_arm64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_arm64.c + + + src/wolfcrypt/sp_armthumb.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_armthumb.c + + + src/wolfcrypt/sp_c32.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_c32.c + + + src/wolfcrypt/sp_c64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_c64.c + + + src/wolfcrypt/sp_cortexm.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_cortexm.c + + + src/wolfcrypt/sp_dsp32.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_dsp32.c + + + src/wolfcrypt/sp_int.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_int.c + + + src/wolfcrypt/sp_sm2_arm32.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_arm32.c + + + src/wolfcrypt/sp_sm2_arm64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_arm64.c + + + src/wolfcrypt/sp_sm2_armthumb.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_armthumb.c + + + src/wolfcrypt/sp_sm2_c32.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_c32.c + + + src/wolfcrypt/sp_sm2_c64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_c64.c + + + src/wolfcrypt/sp_sm2_cortexm.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_cortexm.c + + + src/wolfcrypt/sp_sm2_x86_64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_sm2_x86_64.c + + + src/wolfcrypt/sp_x86_64.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sp_x86_64.c + + + src/wolfcrypt/sphincs.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/sphincs.c + + + src/wolfcrypt/srp.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/srp.c + + + src/wolfcrypt/tfm.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/tfm.c + + + src/wolfcrypt/wc_dsp.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_dsp.c + + + src/wolfcrypt/wc_encrypt.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_encrypt.c + + + src/wolfcrypt/wc_lms.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_lms.c + + + src/wolfcrypt/wc_lms_impl.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_lms_impl.c + + + src/wolfcrypt/wc_mlkem.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_mlkem.c + + + src/wolfcrypt/wc_mlkem_poly.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_mlkem_poly.c + + + src/wolfcrypt/wc_pkcs11.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_pkcs11.c + + + src/wolfcrypt/wc_port.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_port.c + + + src/wolfcrypt/wc_xmss.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_xmss.c + + + src/wolfcrypt/wc_xmss_impl.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wc_xmss_impl.c + + + src/wolfcrypt/wolfevent.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wolfevent.c + + + src/wolfcrypt/wolfmath.c + 1 + PARENT-5-PROJECT_LOC/wolfcrypt/src/wolfmath.c + + + src/wolfssl/crl.c + 1 + PARENT-5-PROJECT_LOC/src/crl.c + + + src/wolfssl/dtls.c + 1 + PARENT-5-PROJECT_LOC/src/dtls.c + + + src/wolfssl/dtls13.c + 1 + PARENT-5-PROJECT_LOC/src/dtls13.c + + + src/wolfssl/internal.c + 1 + PARENT-5-PROJECT_LOC/src/internal.c + + + src/wolfssl/keys.c + 1 + PARENT-5-PROJECT_LOC/src/keys.c + + + src/wolfssl/ocsp.c + 1 + PARENT-5-PROJECT_LOC/src/ocsp.c + + + src/wolfssl/quic.c + 1 + PARENT-5-PROJECT_LOC/src/quic.c + + + src/wolfssl/sniffer.c + 1 + PARENT-5-PROJECT_LOC/src/sniffer.c + + + src/wolfssl/ssl.c + 1 + PARENT-5-PROJECT_LOC/src/ssl.c + + + src/wolfssl/tls.c + 1 + PARENT-5-PROJECT_LOC/src/tls.c + + + src/wolfssl/tls13.c + 1 + PARENT-5-PROJECT_LOC/src/tls13.c + + + src/wolfssl/wolfio.c + 1 + PARENT-5-PROJECT_LOC/src/wolfio.c + + + diff --git a/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/configuration.xml b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/configuration.xml new file mode 100644 index 00000000000..1c40e343dcc --- /dev/null +++ b/IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/configuration.xml @@ -0,0 +1,1297 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Board support package for R7FS7G27H3A01CFC + Renesas.Synergy_mcu_s7g2.2.7.0.pack + + + Board support package for S7G2 + Renesas.Synergy_mcu_s7g2.2.7.0.pack + + + Board support package for S7G2 + Renesas.Synergy_mcu_s7g2.2.7.0.pack + + + SSP Common Code + Renesas.Synergy.2.7.0.pack + + + Clock Generation Circuit: Provides=[CGC] + Renesas.Synergy.2.7.0.pack + + + Event Link Controller: Provides=[ELC] + Renesas.Synergy.2.7.0.pack + + + Factory MCU Information Module: Provides=[FMI] + Renesas.Synergy.2.7.0.pack + + + I/O Port: Provides=[IO Port] + Renesas.Synergy.2.7.0.pack + + + S7G2_SK Board Support Files + Renesas.Synergy_board_s7g2_sk.2.7.0.pack + + + Express Logic ThreadX: Provides=[ThreadX] + Renesas.Synergy.2.7.0.pack + + + Secure Cryptography Engine: Provides=[TRNG, AES, HASH, RSA, DSA, TDES, ARC4, ECC, KEY_INSTALLATION] + Renesas.Synergy.2.7.0.pack + + + Express Logic NetX Synergy Port: Provides=[NetX Driver] , Requires=[NetX] + Renesas.Synergy.2.7.0.pack + + + General Purpose Timer: Provides=[Timer ,GPT] + Renesas.Synergy.2.7.0.pack + + + Real Time Clock: Provides=[RTC] + Renesas.Synergy.2.7.0.pack + + + Express Logic NetX: Provides=[NetX] , Requires=[ThreadX ,NetX Driver] + Renesas.Synergy.2.7.0.pack + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/IDE/include.am b/IDE/include.am index 42647adb511..9e6ca721f7d 100644 --- a/IDE/include.am +++ b/IDE/include.am @@ -43,6 +43,7 @@ include IDE/Renesas/e2studio/RX65N/GR-ROSE/include.am include IDE/Renesas/e2studio/RX65N/RSK/include.am include IDE/Renesas/e2studio/RX72N/EnvisionKit/include.am include IDE/Renesas/e2studio/RZN2L/include.am +include IDE/Renesas/e2studio/SK-S7G2/include.am include IDE/RISCV/include.am include IDE/ROWLEY-CROSSWORKS-ARM/include.am include IDE/SimplicityStudio/include.am From 75fad16f20267145b5964c3521ac41ec5f8e2056 Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Wed, 24 Dec 2025 05:59:09 +0900 Subject: [PATCH 2/3] addressed code review comments --- IDE/Renesas/e2studio/SK-S7G2/README.md | 1 + .../e2studio/SK-S7G2/common/user_settings.h | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/IDE/Renesas/e2studio/SK-S7G2/README.md b/IDE/Renesas/e2studio/SK-S7G2/README.md index c7079f05939..a83288c5f30 100644 --- a/IDE/Renesas/e2studio/SK-S7G2/README.md +++ b/IDE/Renesas/e2studio/SK-S7G2/README.md @@ -114,6 +114,7 @@ $ ./examples/server/server -bdi -p 11112 -v d The `-b` option binds the server to all network interfaces (instead of localhost only). The `-d` option disables client authentication. The `-i` option makes the server loop indefinitely (allow repeated connections). +The `-p` option sets the port number. The `-v` option sets the TLS version. The `d` value allows a downgrade to TLS 1.2 if a TLS 1.3 connection cannot be established. ### 7.3 Run benchmark application on the board diff --git a/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h b/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h index 025166ec482..5e9ff94775b 100644 --- a/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h +++ b/IDE/Renesas/e2studio/SK-S7G2/common/user_settings.h @@ -1,5 +1,25 @@ #ifndef USER_SETTINGS_H +/* user_settings.h + * + * Copyright (C) 2006-2025 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 3 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 USER_SETTINGS_H /*#define DEBUG_WOLFSSL*/ From ba63d814412d63ae1b4f573a9389972088c9ff72 Mon Sep 17 00:00:00 2001 From: Hideki Miyazaki Date: Wed, 24 Dec 2025 06:36:08 +0900 Subject: [PATCH 3/3] add .gitignore to include.am --- IDE/Renesas/e2studio/SK-S7G2/include.am | 1 + 1 file changed, 1 insertion(+) diff --git a/IDE/Renesas/e2studio/SK-S7G2/include.am b/IDE/Renesas/e2studio/SK-S7G2/include.am index b361dc9ad09..b3eac62d38d 100644 --- a/IDE/Renesas/e2studio/SK-S7G2/include.am +++ b/IDE/Renesas/e2studio/SK-S7G2/include.am @@ -2,6 +2,7 @@ # included from Top Level Makefile.am # All paths should be given relative to the root +EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/.gitignore EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/README.md EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.cproject EXTRA_DIST+= IDE/Renesas/e2studio/SK-S7G2/wolfssl_lib/.project