mirror of https://github.com/wolfSSL/wolfssl
Introduce IDE/PlatformIO
This commit is contained in:
parent
1c4479867e
commit
fe5e5955bd
|
@ -433,3 +433,11 @@ MagicCrypto
|
|||
debian/changelog
|
||||
debian/control
|
||||
*.deb
|
||||
|
||||
# PlatformIO
|
||||
/**/.pio
|
||||
/**/.vscode/.browse.c_cpp.db*
|
||||
/**/.vscode/c_cpp_properties.json
|
||||
/**/.vscode/launch.json
|
||||
/**/.vscode/ipch
|
||||
/**/sdkconfig.esp32dev
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
# PlatformIO
|
||||
|
||||
Follow the [instructions](https://docs.platformio.org/en/latest/core/installation/methods/index.html) to install PlatformIO.
|
||||
|
||||
Note there are two options:
|
||||
|
||||
- [Core CLI](https://docs.platformio.org/en/latest/core/index.html)
|
||||
- [VSCode IDE](https://docs.platformio.org/en/latest/integration/ide/vscode.html#ide-vscode)
|
||||
|
||||
|
||||
## Publishing
|
||||
|
||||
The PlatformIO Core CLI is needed to publish wolfSSL:
|
||||
|
||||
See also the [Arduino](../ARDUINO/README.md) publishing notes.
|
||||
|
||||
|
||||
### Publish PlatformIO Arduino Library with Windows
|
||||
|
||||
The wolfSSL publishing is done from the `scripts`. Here are somple examples:
|
||||
|
||||
Setup the PlatformIO CLI:
|
||||
|
||||
```dos
|
||||
set PATH=%PATH%;C:\Users\%USERNAME%\.platformio\penv\Scripts\
|
||||
pio --help
|
||||
pio account show
|
||||
```
|
||||
|
||||
Publish
|
||||
|
||||
```dos
|
||||
pio pkg publish --owner wolfSSL C:\workspace\Arduino-wolfSSL
|
||||
```
|
||||
|
||||
### Publish with Linux
|
||||
|
||||
```bash
|
||||
set PATH=%PATH%;C:\Users\%USERNAME%\.platformio\penv\Scripts\
|
||||
pio --help
|
||||
pio account show
|
||||
```
|
||||
|
||||
```bash
|
||||
pio pkg publish --owner wolfSSL ~\workspace\Arduino-wolfSSL
|
||||
```
|
||||
|
||||
### Create a staging / preview wolfssl org
|
||||
|
||||
See
|
||||
|
||||
```
|
||||
pio org create wolfssl-staging --email support@wolfssl.com --displayname "testing preview wolfssl"
|
||||
```
|
||||
|
||||
### Add user to org
|
||||
|
||||
The creator of an org is automatically added as user / owner at org creation time. Others can be added:
|
||||
|
||||
```
|
||||
pio org add wolfssl-staging gojimmypi
|
||||
```
|
||||
|
||||
### Publish Arduino wolfSSL to staging / preview site:
|
||||
|
||||
```
|
||||
pio pkg publish --owner wolfssl-staging C:\workspace\Arduino-wolfSSL
|
||||
```
|
||||
|
||||
### Publish Regular wolfSSL to staging / preview site:
|
||||
|
||||
```
|
||||
pio pkg publish --owner wolfssl-staging C:\workspace\wolfssl-gojimmypi\IDE\PlatformIO\PlatformIO_wolfSSL
|
||||
```
|
||||
|
||||
### Remove published version from staging site:
|
||||
|
||||
`pio pkg unpublish [<organization>/]<pkgname>[@<version>] [OPTIONS]`
|
||||
|
||||
```
|
||||
pio pkg unpublish wolfssl-staging/wolfssl@5.6.6-test1
|
||||
```
|
|
@ -0,0 +1,13 @@
|
|||
# PlatformIO
|
||||
|
||||
Follow the [instructions](https://docs.platformio.org/en/latest/core/installation/methods/index.html) to install PlatformIO.
|
||||
|
||||
Note there are two options:
|
||||
|
||||
- [Core CLI](https://docs.platformio.org/en/latest/core/index.html)
|
||||
- [VSCode IDE](https://docs.platformio.org/en/latest/integration/ide/vscode.html#ide-vscode)
|
||||
|
||||
# Examples
|
||||
|
||||
- [wolfssl_benchmark](./wolfssl_benchmark/README.md)
|
||||
- [wolfssl_test](./wolfssl_test/README.md)
|
|
@ -0,0 +1,3 @@
|
|||
cmake_minimum_required(VERSION 3.16.0)
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(ESP_IDF_Hello_World)
|
|
@ -0,0 +1,124 @@
|
|||
# wolfSSL Benchmark Example
|
||||
|
||||
This ESP32 example uses the [wolfSSL wolfcrypt Benchmark Application](https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/benchmark).
|
||||
|
||||
Other target boards _should_ work, but have not yet been tested.
|
||||
|
||||
For general information on [wolfSSL examples for Espressif](../README.md), see the
|
||||
[README](https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/README.md) file.
|
||||
|
||||
## Example Output
|
||||
|
||||
Note the default wolfSSL `user_settings.h` is configured by default to be the most
|
||||
compatible across the widest ranges of targets. Contact wolfSSL at support@wolfssl.com
|
||||
for help in optimizing for your particular application, or see the
|
||||
[docs](https://www.wolfssl.com/documentation/manuals/wolfssl/index.html).
|
||||
|
||||
Compiled and flashed with `idf.py build flash -p /dev/ttyS7 -b 115200 monitor`:
|
||||
|
||||
```
|
||||
--- idf_monitor on /dev/ttyS7 115200 ---
|
||||
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
|
||||
(377) cpu_start: Starting scheduler ets Jun 8 2016 00:22:57
|
||||
|
||||
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
|
||||
configsip: 0, SPIWP:0xee
|
||||
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
|
||||
mode:DIO, clock div:2
|
||||
load:0x3fff0030,len:6664
|
||||
load:0x40078000,len:14848
|
||||
load:0x40080400,len:3792
|
||||
0x40080400: _init at ??:?
|
||||
|
||||
entry 0x40080694
|
||||
I (27) boot: ESP-IDF v4.4.2-dirty 2nd stage bootloader
|
||||
I (27) boot: compile time 13:41:41
|
||||
I (27) boot: chip revision: 1
|
||||
I (30) boot_comm: chip revision: 1, min. bootloader chip revision: 0
|
||||
I (37) boot.esp32: SPI Speed : 40MHz
|
||||
I (42) boot.esp32: SPI Mode : DIO
|
||||
I (46) boot.esp32: SPI Flash Size : 2MB
|
||||
I (51) boot: Enabling RNG early entropy source...
|
||||
I (56) boot: Partition Table:
|
||||
I (60) boot: ## Label Usage Type ST Offset Length
|
||||
I (67) boot: 0 nvs WiFi data 01 02 00009000 00006000
|
||||
I (75) boot: 1 phy_init RF data 01 01 0000f000 00001000
|
||||
I (82) boot: 2 factory factory app 00 00 00010000 00100000
|
||||
I (90) boot: End of partition table
|
||||
I (94) boot_comm: chip revision: 1, min. application chip revision: 0
|
||||
I (101) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=12bf4h ( 76788) map
|
||||
I (137) esp_image: segment 1: paddr=00022c1c vaddr=3ffb0000 size=02420h ( 9248) load
|
||||
I (141) esp_image: segment 2: paddr=00025044 vaddr=40080000 size=0afd4h ( 45012) load
|
||||
I (161) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=33148h (209224) map
|
||||
I (237) esp_image: segment 4: paddr=00063170 vaddr=4008afd4 size=00550h ( 1360) load
|
||||
I (238) esp_image: segment 5: paddr=000636c8 vaddr=50000000 size=00010h ( 16) load
|
||||
I (249) boot: Loaded app from partition at offset 0x10000
|
||||
I (249) boot: Disabling RNG early entropy source...
|
||||
I (266) cpu_start: Pro cpu up.
|
||||
I (266) cpu_start: Starting app cpu, entry point is 0x40081098
|
||||
0x40081098: call_start_cpu1 at /mnt/c/SysGCC/esp32/esp-idf/v4.4.2/components/esp_system/port/cpu_start.c:160
|
||||
|
||||
I (0) cpu_start: App cpu up.
|
||||
I (280) cpu_start: Pro cpu start user code
|
||||
I (280) cpu_start: cpu freq: 240000000
|
||||
I (280) cpu_start: Application information:
|
||||
I (285) cpu_start: Project name: wolfssl_benchmark
|
||||
I (291) cpu_start: App version: v5.5.3-stable-108-gbd7b442df-di
|
||||
I (298) cpu_start: Compile time: Nov 17 2022 14:10:03
|
||||
I (304) cpu_start: ELF file SHA256: fbb520f5bbf963a0...
|
||||
I (310) cpu_start: ESP-IDF: v4.4.2-dirty
|
||||
I (316) heap_init: Initializing. RAM available for dynamic allocation:
|
||||
I (323) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
|
||||
I (329) heap_init: At 3FFB3DE8 len 0002C218 (176 KiB): DRAM
|
||||
I (335) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
|
||||
I (341) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
|
||||
I (348) heap_init: At 4008B524 len 00014ADC (82 KiB): IRAM
|
||||
I (355) spi_flash: detected chip: generic
|
||||
I (359) spi_flash: flash io: dio
|
||||
W (362) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
|
||||
I (377) cpu_start: Starting scheduler on PRO CPU.
|
||||
I (0) cpu_start: Starting scheduler on APP CPU.
|
||||
I (391) wolfssl_benchmark: app_main CONFIG_BENCH_ARGV = -lng 0
|
||||
I (397) wolfssl_benchmark: construct_argv arg:-lng 0
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 5.5.3
|
||||
------------------------------------------------------------------------------
|
||||
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
|
||||
RNG 1 MiB took 1.017 seconds, 1.320 MiB/s
|
||||
AES-128-CBC-enc 6 MiB took 1.002 seconds, 5.726 MiB/s
|
||||
AES-128-CBC-dec 5 MiB took 1.000 seconds, 5.347 MiB/s
|
||||
AES-192-CBC-enc 6 MiB took 1.004 seconds, 5.714 MiB/s
|
||||
AES-192-CBC-dec 5 MiB took 1.001 seconds, 5.341 MiB/s
|
||||
AES-256-CBC-enc 6 MiB took 1.000 seconds, 5.713 MiB/s
|
||||
AES-256-CBC-dec 5 MiB took 1.002 seconds, 5.336 MiB/s
|
||||
AES-128-GCM-enc 300 KiB took 1.004 seconds, 298.805 KiB/s
|
||||
AES-128-GCM-dec 300 KiB took 1.004 seconds, 298.805 KiB/s
|
||||
AES-192-GCM-enc 300 KiB took 1.007 seconds, 297.915 KiB/s
|
||||
AES-192-GCM-dec 300 KiB took 1.008 seconds, 297.619 KiB/s
|
||||
AES-256-GCM-enc 300 KiB took 1.011 seconds, 296.736 KiB/s
|
||||
AES-256-GCM-dec 300 KiB took 1.011 seconds, 296.736 KiB/s
|
||||
GMAC Default 403 KiB took 1.002 seconds, 402.196 KiB/s
|
||||
3DES 450 KiB took 1.028 seconds, 437.743 KiB/s
|
||||
MD5 14 MiB took 1.001 seconds, 13.756 MiB/s
|
||||
SHA 14 MiB took 1.001 seconds, 14.463 MiB/s
|
||||
SHA-256 14 MiB took 1.000 seconds, 14.233 MiB/s
|
||||
SHA-512 17 MiB took 1.000 seconds, 16.626 MiB/s
|
||||
HMAC-MD5 14 MiB took 1.000 seconds, 13.599 MiB/s
|
||||
HMAC-SHA 14 MiB took 1.000 seconds, 13.989 MiB/s
|
||||
HMAC-SHA256 14 MiB took 1.000 seconds, 13.940 MiB/s
|
||||
HMAC-SHA512 16 MiB took 1.000 seconds, 16.064 MiB/s
|
||||
PBKDF2 640 bytes took 1.009 seconds, 634.291 bytes/s
|
||||
RSA 2048 public 52 ops took 1.022 sec, avg 19.654 ms, 50.881 ops/sec
|
||||
RSA 2048 private 4 ops took 1.056 sec, avg 264.000 ms, 3.788 ops/sec
|
||||
ECC [ SECP256R1] 256 key gen 4 ops took 1.216 sec, avg 304.000 ms, 3.289 ops/sec
|
||||
ECDHE [ SECP256R1] 256 agree 4 ops took 1.215 sec, avg 303.750 ms, 3.292 ops/sec
|
||||
ECDSA [ SECP256R1] 256 sign 4 ops took 1.226 sec, avg 306.500 ms, 3.263 ops/sec
|
||||
ECDSA [ SECP256R1] 256 verify 2 ops took 1.172 sec, avg 586.000 ms, 1.706 ops/sec
|
||||
CURVE 25519 key gen 3 ops took 1.279 sec, avg 426.333 ms, 2.346 ops/sec
|
||||
CURVE 25519 agree 4 ops took 1.701 sec, avg 425.250 ms, 2.352 ops/sec
|
||||
ED 25519 key gen 46 ops took 1.008 sec, avg 21.913 ms, 45.635 ops/sec
|
||||
ED 25519 sign 42 ops took 1.038 sec, avg 24.714 ms, 40.462 ops/sec
|
||||
ED 25519 verify 26 ops took 1.009 sec, avg 38.808 ms, 25.768 ops/sec
|
||||
Benchmark complete
|
||||
```
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into executable file.
|
||||
|
||||
The source code of each library should be placed in an own separate directory
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
and a contents of `src/main.c`:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
|
@ -0,0 +1,20 @@
|
|||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:esp32dev]
|
||||
platform = espressif32
|
||||
board = esp32dev
|
||||
framework = espidf
|
||||
upload_port = COM82
|
||||
monitor_port = COM82
|
||||
monitor_speed = 115200
|
||||
build_flags = -DWOLFSSL_USER_SETTINGS, -DWOLFSSL_ESP32
|
||||
monitor_filters = direct
|
||||
lib_deps = wolfssl/wolfSSL@^5.7.0-rev.3b
|
|
@ -0,0 +1,98 @@
|
|||
# sdkconfig.defaults for ESP8266 + ESP32
|
||||
# Note that during the build process, settings from sdkconfig.defaults will not override those already in sdkconfig.
|
||||
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#custom-sdkconfig-defaults
|
||||
CONFIG_BENCH_ARGV="-lng 0"
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
#
|
||||
# Default main stack size. See user_settings.h
|
||||
#
|
||||
# For wolfSSL SMALL_STACK, 3072 bytes should be sufficient for benchmark app.
|
||||
# When using RSA, assign at least 10500 bytes, otherwise 5500 usually works for others
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=10500
|
||||
|
||||
# Legacy stack size for older ESP-IDF versions
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=10500
|
||||
|
||||
#
|
||||
# Benchmark must not have CONFIG_NEWLIB_NANO_FORMAT enabled
|
||||
CONFIG_NEWLIB_NANO_FORMAT=n
|
||||
#
|
||||
# Watchdog Timers
|
||||
#
|
||||
# We don't want to have the watchdog timeout during tests & benchmarks
|
||||
#
|
||||
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=n
|
||||
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=n
|
||||
# Panic & Watchdog
|
||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=10000
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
|
||||
# ESP8266 WDT
|
||||
# CONFIG_ESP_PANIC_PRINT_REBOOT is not set
|
||||
CONFIG_ESP_PANIC_PRINT_REBOOT=n
|
||||
CONFIG_ESP_PANIC_PRINT_HALT=y
|
||||
|
||||
# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set
|
||||
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=n
|
||||
|
||||
# ESP8266 Memory
|
||||
CONFIG_FREERTOS_GLOBAL_DATA_LINK_IRAM=y
|
||||
CONFIG_HEAP_DISABLE_IRAM=y
|
||||
|
||||
# Performance
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
|
||||
# Set max COU frequency (falls back as needed for lower maximum)
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
# FreeRTOS ticks at 1ms interval
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
|
||||
#
|
||||
# Compiler options
|
||||
#
|
||||
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
|
||||
CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
|
||||
# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
|
||||
CONFIG_COMPILER_HIDE_PATHS_MACROS=y
|
||||
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
|
||||
# CONFIG_COMPILER_CXX_RTTI is not set
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_NONE is not set
|
||||
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
|
||||
CONFIG_COMPILER_STACK_CHECK=y
|
||||
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
|
||||
# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set
|
||||
# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
|
||||
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
|
||||
# end of Compiler options
|
||||
|
||||
# We don't know that the min is actually v2,
|
||||
# but this is the earliest tested.
|
||||
CONFIG_ESP32C3_REV_MIN_2=y
|
||||
|
||||
#
|
||||
# Partition Table
|
||||
#
|
||||
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
|
||||
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|
||||
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
|
||||
# CONFIG_PARTITION_TABLE_CUSTOM is not set
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv"
|
||||
CONFIG_PARTITION_TABLE_OFFSET=0x8000
|
||||
CONFIG_PARTITION_TABLE_MD5=y
|
||||
# end of Partition Table
|
|
@ -0,0 +1,6 @@
|
|||
# This file was automatically generated for projects
|
||||
# without default 'CMakeLists.txt' file.
|
||||
|
||||
FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*)
|
||||
|
||||
idf_component_register(SRCS ${app_sources})
|
|
@ -0,0 +1,26 @@
|
|||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#ifdef WOLFSSL_ESPIDF
|
||||
#include <esp_log.h>
|
||||
#include <rtc_wdt.h>
|
||||
#include <wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h>
|
||||
#endif
|
||||
|
||||
#include <wolfssl/version.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <wolfcrypt/benchmark/benchmark.h>
|
||||
|
||||
#define TAG "demo"
|
||||
|
||||
void app_main() {
|
||||
int ret = 0;
|
||||
#ifdef WOLFSSL_ESPIDF
|
||||
ESP_LOGI(TAG, "Found WOLFSSL_ESPIDF!");
|
||||
#endif
|
||||
printf("Hello World wolfSSL Version %s", LIBWOLFSSL_VERSION_STRING);
|
||||
|
||||
#if defined(HAVE_VERSION_EXTENDED_INFO) && defined(WOLFSSL_ESPIDF)
|
||||
esp_ShowExtendedSystemInfo();
|
||||
#endif
|
||||
ret = benchmark_test(NULL);
|
||||
printf("benchmark_test result %d", ret);
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "wolfssl_benchmark",
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"files.associations": {
|
||||
"settings.h": "c"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "wolfsl_test",
|
||||
"path": "wolfsl_test"
|
||||
},
|
||||
{
|
||||
"name": "wolfsl_benchmark",
|
||||
"path": "wolfsl_benchmark"
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"files.associations": {
|
||||
"version.h": "c",
|
||||
"types.h": "c",
|
||||
"settings.h": "c",
|
||||
"freertos.h": "c",
|
||||
"esp32-crypt.h": "c",
|
||||
"esp_log.h": "c"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
cmake_minimum_required(VERSION 3.16.0)
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(ESP_IDF_Hello_World)
|
|
@ -0,0 +1,118 @@
|
|||
# wolfSSL Crypt Test Example
|
||||
|
||||
This is the ESP32 Version of the [wolfSSL wolfcrypt test application](https://github.com/wolfSSL/wolfssl/tree/master/wolfcrypt/test).
|
||||
|
||||
Other target boards _should_ work, but have not yet been tested.
|
||||
|
||||
For general information on [wolfSSL examples for Espressif](../README.md), see the
|
||||
[README](https://github.com/wolfSSL/wolfssl/blob/master/IDE/Espressif/ESP-IDF/README.md) file.
|
||||
|
||||
|
||||
## Example Output
|
||||
|
||||
Note the default wolfSSL `user_settings.h` is configured by default to be the most
|
||||
compatible across the widest ranges of targets. Contact wolfSSL at support@wolfssl.com
|
||||
for help in optimizing for your particular application, or see the
|
||||
[docs](https://www.wolfssl.com/documentation/manuals/wolfssl/index.html).
|
||||
|
||||
Compiled and flashed with `idf.py build flash -p /dev/ttyS7 -b 115200 monitor`:
|
||||
|
||||
```
|
||||
ets Jun 8 2016 00:22:57
|
||||
|
||||
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
|
||||
configsip: 0, SPIWP:0xee
|
||||
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
|
||||
mode:DIO, clock div:2
|
||||
load:0x3fff0030,len:6612
|
||||
load:0x40078000,len:14788
|
||||
load:0x40080400,len:3792
|
||||
entry 0x40080694
|
||||
I (26) boot: ESP-IDF v4.4.1-dirty 2nd stage bootloader
|
||||
I (26) boot: compile time 15:25:38
|
||||
I (26) boot: chip revision: 1
|
||||
I (29) boot_comm: chip revision: 1, min. bootloader chip revision: 0
|
||||
I (37) boot.esp32: SPI Speed : 40MHz
|
||||
I (41) boot.esp32: SPI Mode : DIO
|
||||
I (46) boot.esp32: SPI Flash Size : 2MB
|
||||
I (50) boot: Enabling RNG early entropy source...
|
||||
I (56) boot: Partition Table:
|
||||
I (59) boot: ## Label Usage Type ST Offset Length
|
||||
I (67) boot: 0 nvs WiFi data 01 02 00009000 00006000
|
||||
I (74) boot: 1 phy_init RF data 01 01 0000f000 00001000
|
||||
I (81) boot: 2 factory factory app 00 00 00010000 00100000
|
||||
I (89) boot: End of partition table
|
||||
I (93) boot_comm: chip revision: 1, min. application chip revision: 0
|
||||
I (100) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=16ca4h ( 93348) map
|
||||
I (143) esp_image: segment 1: paddr=00026ccc vaddr=3ffb0000 size=024d4h ( 9428) load
|
||||
I (147) esp_image: segment 2: paddr=000291a8 vaddr=40080000 size=06e70h ( 28272) load
|
||||
I (160) esp_image: segment 3: paddr=00030020 vaddr=400d0020 size=412d8h (266968) map
|
||||
I (257) esp_image: segment 4: paddr=00071300 vaddr=40086e70 size=045a8h ( 17832) load
|
||||
I (265) esp_image: segment 5: paddr=000758b0 vaddr=50000000 size=00010h ( 16) load
|
||||
I (270) boot: Loaded app from partition at offset 0x10000
|
||||
I (270) boot: Disabling RNG early entropy source...
|
||||
I (285) cpu_start: Pro cpu up.
|
||||
I (286) cpu_start: Starting app cpu, entry point is 0x40081088
|
||||
I (273) cpu_start: App cpu up.
|
||||
I (300) cpu_start: Pro cpu start user code
|
||||
I (300) cpu_start: cpu freq: 160000000
|
||||
I (300) cpu_start: Application information:
|
||||
I (305) cpu_start: Project name: wolfssl_test
|
||||
I (310) cpu_start: App version: v5.5.3-stable-108-gbd7b442df-di
|
||||
I (317) cpu_start: Compile time: Nov 17 2022 15:24:40
|
||||
I (323) cpu_start: ELF file SHA256: 90957eeb4f0d2246...
|
||||
I (329) cpu_start: ESP-IDF: v4.4.1-dirty
|
||||
I (335) heap_init: Initializing. RAM available for dynamic allocation:
|
||||
I (342) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
|
||||
I (348) heap_init: At 3FFB2DF0 len 0002D210 (180 KiB): DRAM
|
||||
I (354) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
|
||||
I (360) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
|
||||
I (367) heap_init: At 4008B418 len 00014BE8 (82 KiB): IRAM
|
||||
I (374) spi_flash: detected chip: generic
|
||||
I (378) spi_flash: flash io: dio
|
||||
W (382) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
|
||||
I (396) cpu_start: Starting scheduler on PRO CPU.
|
||||
I (0) cpu_start: Starting scheduler on APP CPU.
|
||||
------------------------------------------------------------------------------
|
||||
wolfSSL version 5.5.3
|
||||
------------------------------------------------------------------------------
|
||||
error test passed!
|
||||
MEMORY test passed!
|
||||
base64 test passed!
|
||||
asn test passed!
|
||||
RANDOM test passed!
|
||||
MD5 test passed!
|
||||
MD4 test passed!
|
||||
SHA test passed!
|
||||
SHA-256 test passed!
|
||||
SHA-512 test passed!
|
||||
Hash test passed!
|
||||
HMAC-MD5 test passed!
|
||||
HMAC-SHA test passed!
|
||||
HMAC-SHA256 test passed!
|
||||
HMAC-SHA512 test passed!
|
||||
HMAC-KDF test passed!
|
||||
TLSv1.3 KDF test passed!
|
||||
GMAC test passed!
|
||||
DES test passed!
|
||||
DES3 test passed!
|
||||
AES test passed!
|
||||
AES192 test passed!
|
||||
AES256 test passed!
|
||||
AES-GCM test passed!
|
||||
RSA test passed!
|
||||
PWDBASED test passed!
|
||||
ECC test passed!
|
||||
ECC buffer test passed!
|
||||
CURVE25519 test passed!
|
||||
ED25519 test passed!
|
||||
logging test passed!
|
||||
time test passed!
|
||||
mutex test passed!
|
||||
Test complete
|
||||
I (136548) wolfcrypt_test: Exiting main with return code: 0
|
||||
|
||||
I (136548) wolfssl_test: wolf_test_task complete success result code = 0
|
||||
```
|
||||
|
||||
See the README.md file in the upper level 'examples' directory for [more information about examples](../README.md).
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into executable file.
|
||||
|
||||
The source code of each library should be placed in an own separate directory
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
and a contents of `src/main.c`:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
|
@ -0,0 +1,20 @@
|
|||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:esp32dev]
|
||||
platform = espressif32
|
||||
board = esp32dev
|
||||
framework = espidf
|
||||
upload_port = COM82
|
||||
monitor_port = COM82
|
||||
monitor_speed = 115200
|
||||
build_flags = -DWOLFSSL_USER_SETTINGS, -DWOLFSSL_ESP32
|
||||
monitor_filters = direct
|
||||
lib_deps = wolfssl-staging/wolfSSL@^5.7.0-test.1
|
|
@ -0,0 +1,98 @@
|
|||
# sdkconfig.defaults for ESP8266 + ESP32
|
||||
# Note that during the build process, settings from sdkconfig.defaults will not override those already in sdkconfig.
|
||||
# See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html#custom-sdkconfig-defaults
|
||||
CONFIG_BENCH_ARGV="-lng 0"
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
|
||||
|
||||
#
|
||||
# Default main stack size. See user_settings.h
|
||||
#
|
||||
# For wolfSSL SMALL_STACK, 3072 bytes should be sufficient for benchmark app.
|
||||
# When using RSA, assign at least 10500 bytes, otherwise 5500 usually works for others
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=10500
|
||||
|
||||
# Legacy stack size for older ESP-IDF versions
|
||||
CONFIG_MAIN_TASK_STACK_SIZE=10500
|
||||
|
||||
#
|
||||
# Benchmark must not have CONFIG_NEWLIB_NANO_FORMAT enabled
|
||||
CONFIG_NEWLIB_NANO_FORMAT=n
|
||||
#
|
||||
# Watchdog Timers
|
||||
#
|
||||
# We don't want to have the watchdog timeout during tests & benchmarks
|
||||
#
|
||||
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=n
|
||||
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=n
|
||||
# Panic & Watchdog
|
||||
CONFIG_ESP_INT_WDT_TIMEOUT_MS=10000
|
||||
CONFIG_ESP_TASK_WDT_EN=n
|
||||
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
|
||||
CONFIG_ESP_INT_WDT=n
|
||||
|
||||
# ESP8266 WDT
|
||||
# CONFIG_ESP_PANIC_PRINT_REBOOT is not set
|
||||
CONFIG_ESP_PANIC_PRINT_REBOOT=n
|
||||
CONFIG_ESP_PANIC_PRINT_HALT=y
|
||||
|
||||
# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set
|
||||
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=n
|
||||
|
||||
# ESP8266 Memory
|
||||
CONFIG_FREERTOS_GLOBAL_DATA_LINK_IRAM=y
|
||||
CONFIG_HEAP_DISABLE_IRAM=y
|
||||
|
||||
# Performance
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF=y
|
||||
|
||||
# Set max COU frequency (falls back as needed for lower maximum)
|
||||
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
|
||||
|
||||
# FreeRTOS ticks at 1ms interval
|
||||
CONFIG_FREERTOS_UNICORE=y
|
||||
CONFIG_FREERTOS_HZ=1000
|
||||
|
||||
#
|
||||
# Compiler options
|
||||
#
|
||||
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
|
||||
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
|
||||
CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
|
||||
CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
|
||||
# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
|
||||
CONFIG_COMPILER_HIDE_PATHS_MACROS=y
|
||||
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
|
||||
# CONFIG_COMPILER_CXX_RTTI is not set
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_NONE is not set
|
||||
CONFIG_COMPILER_STACK_CHECK_MODE_NORM=y
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
|
||||
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
|
||||
CONFIG_COMPILER_STACK_CHECK=y
|
||||
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
|
||||
# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set
|
||||
# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
|
||||
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
|
||||
# end of Compiler options
|
||||
|
||||
# We don't know that the min is actually v2,
|
||||
# but this is the earliest tested.
|
||||
CONFIG_ESP32C3_REV_MIN_2=y
|
||||
|
||||
#
|
||||
# Partition Table
|
||||
#
|
||||
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
|
||||
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|
||||
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
|
||||
# CONFIG_PARTITION_TABLE_CUSTOM is not set
|
||||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
|
||||
CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp_large.csv"
|
||||
CONFIG_PARTITION_TABLE_OFFSET=0x8000
|
||||
CONFIG_PARTITION_TABLE_MD5=y
|
||||
# end of Partition Table
|
|
@ -0,0 +1,6 @@
|
|||
# This file was automatically generated for projects
|
||||
# without default 'CMakeLists.txt' file.
|
||||
|
||||
FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*)
|
||||
|
||||
idf_component_register(SRCS ${app_sources})
|
|
@ -0,0 +1,24 @@
|
|||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#ifdef WOLFSSL_ESPIDF
|
||||
#include <esp_log.h>
|
||||
#include <rtc_wdt.h>
|
||||
#include <wolfssl/wolfcrypt/port/Espressif/esp32-crypt.h>
|
||||
#endif
|
||||
#include <wolfssl/version.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
#include <wolfcrypt/test/test.h>
|
||||
#define TAG "demo"
|
||||
|
||||
void app_main() {
|
||||
int ret = 0;
|
||||
#ifdef WOLFSSL_ESPIDF
|
||||
ESP_LOGI(TAG, "Found WOLFSSL_ESPIDF!");
|
||||
#endif
|
||||
printf("Hello World wolfSSL Version %s", LIBWOLFSSL_VERSION_STRING);
|
||||
|
||||
#if defined(HAVE_VERSION_EXTENDED_INFO) && defined(WOLFSSL_ESPIDF)
|
||||
esp_ShowExtendedSystemInfo();
|
||||
#endif
|
||||
ret = wolf_test_task();
|
||||
printf("wolf_test_task result %d", ret);
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"name": "wolfssl_test",
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"files.associations": {
|
||||
"settings.h": "c"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
# vim:ft=automake
|
||||
# included from Top Level Makefile.am
|
||||
# All paths should be given relative to the root
|
||||
#
|
||||
# NOTE: append_wolfssl_git_version.sh is not included as the
|
||||
# distribution file set will not contain GitHub info
|
||||
#
|
||||
# see: https://github.com/wolfSSL/wolfssl/pull/5955
|
||||
#
|
||||
# Don't list any config.h files here
|
||||
|
||||
EXTRA_DIST+= IDE/PlatformIO/README.md
|
||||
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/README.md
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_platformio.code-workspace
|
||||
|
||||
# wolfssl_benchmark example
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/CMakeLists.txt
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/platformio.ini
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/README.md
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/sdkconfig.defaults
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/wolfssl_benchmark.code-workspace
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/include/README
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/lib/README
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/src/CMakeLists.txt
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/src/main.c
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_benchmark/test/README
|
||||
|
||||
# wolfssl_test example
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/CMakeLists.txt
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/platformio.ini
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/README.md
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/sdkconfig.defaults
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/wolfssl_test.code-workspace
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/include/README
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/lib/README
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/src/CMakeLists.txt
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/src/main.c
|
||||
EXTRA_DIST+= IDE/PlatformIO/examples/wolfssl_test/test/README
|
|
@ -31,6 +31,7 @@ include IDE/MQX/include.am
|
|||
include IDE/MSVS-2019-AZSPHERE/include.am
|
||||
include IDE/mynewt/include.am
|
||||
include IDE/NETOS/include.am
|
||||
include IDE/PlatformIO/include.am
|
||||
include IDE/QNX/include.am
|
||||
include IDE/Renesas/cs+/Projects/include.am
|
||||
include IDE/Renesas/e2studio/DK-S7G2/include.am
|
||||
|
@ -70,3 +71,4 @@ EXTRA_DIST+= IDE/LPCXPRESSO
|
|||
EXTRA_DIST+= IDE/MDK-ARM
|
||||
EXTRA_DIST+= IDE/MYSQL
|
||||
EXTRA_DIST+= IDE/OPENSTM32/README.md
|
||||
EXTRA_DIST+= IDE/PlatformIO
|
||||
|
|
Loading…
Reference in New Issue