Updates to README.md. Fix tabs to spaces.

This commit is contained in:
David Garske 2020-09-22 07:53:06 -07:00
parent 0f48ae77ef
commit 4922baee30
4 changed files with 29 additions and 19 deletions

View File

@ -14,8 +14,13 @@ These examples use the Cube HAL for STM32.
## Configuration ## Configuration
The settings for the wolfSTM32 project are located in `<wolfssl-root>/IDE/STM32Cube/wolfSSL.wolfSSL_conf.h`. The section for "Hardware platform" may need to be adjusted depending on your processor and board: The settings for the wolfSSL CubeMX pack are in the generated `wolfSSL.wolfSSL_conf.h` file. An example of this is located in `IDE/STM32Cube/wolfSSL_conf.h` (renamed to avoid possible conflicts with generated file).
The template used for generation is `IDE/STM32Cube/default_conf.ftl` which can be updated at `STM32Cube/Repository/Packs/wolfSSL/wolfSSL/[Version]/CubeMX/templates/default_conf.ftl`.
The section for "Hardware platform" may need to be adjusted depending on your processor and board:
* To enable STM32F1 support define `WOLFSSL_STM32F1`.
* To enable STM32F2 support define `WOLFSSL_STM32F2`. * To enable STM32F2 support define `WOLFSSL_STM32F2`.
* To enable STM32F4 support define `WOLFSSL_STM32F4`. * To enable STM32F4 support define `WOLFSSL_STM32F4`.
* To enable STM32F7 support define `WOLFSSL_STM32F7`. * To enable STM32F7 support define `WOLFSSL_STM32F7`.
@ -39,7 +44,7 @@ If you'd like to use the older Standard Peripheral library undefine `WOLFSSL_STM
If you are using FreeRTOS make sure your `FreeRTOSConfig.h` has its `configTOTAL_HEAP_SIZE` increased. If you are using FreeRTOS make sure your `FreeRTOSConfig.h` has its `configTOTAL_HEAP_SIZE` increased.
The TLS client/server benchmark example requires about 76 KB for allocated tasks (with stack) and peak heap. The TLS client/server benchmark example requires about 76 KB for allocated tasks (with stack) and peak heap. This uses both a TLS client and server to test a TLS connection locally for each enabled TLS cipher suite.
## STM32 Cube Pack ## STM32 Cube Pack
@ -49,6 +54,7 @@ The TLS client/server benchmark example requires about 76 KB for allocated tasks
2. Run the “STM32CubeMX” tool. 2. Run the “STM32CubeMX” tool.
3. Under “Manage software installations” click “INSTALL/REMOVE” button. 3. Under “Manage software installations” click “INSTALL/REMOVE” button.
4. From Local and choose “I-CUBE-WOLFSSL-WOLFSSL.pack”. 4. From Local and choose “I-CUBE-WOLFSSL-WOLFSSL.pack”.
5. Accept the GPLv2 license. Contact wolfSSL at sales@wolfssl.com for a commercial license and support/maintenance.
### STM32 Cube Pack Usage ### STM32 Cube Pack Usage
@ -56,9 +62,10 @@ The TLS client/server benchmark example requires about 76 KB for allocated tasks
2. Under “Software Packs” choose “Select Components”. 2. Under “Software Packs” choose “Select Components”.
3. Find and check all components for the wolfSSL.wolfSSL packs (wolfSSL / Core, wolfCrypt / Core and wolfCrypt / Test). Close 3. Find and check all components for the wolfSSL.wolfSSL packs (wolfSSL / Core, wolfCrypt / Core and wolfCrypt / Test). Close
4. Under the “Software Packs” section click on “wolfSSL.wolfSSL” and configure the parameters. 4. Under the “Software Packs” section click on “wolfSSL.wolfSSL” and configure the parameters.
5. For Cortex-M recommend “Math Configuration” -> “Single Precision Cortex-M Math” 5. For Cortex-M recommend “Math Configuration” -> “Single Precision Cortex-M Math” for the fastest option.
6. Generate Code 6. Generate Code
7. The Benchmark example uses float. To enable go to "Project Properties" -> "C/C++ Build" -> "Settings" -> "Tool Settings" -> "MCU Settings" -> Check "Use float with printf". 7. The Benchmark example uses float. To enable go to "Project Properties" -> "C/C++ Build" -> "Settings" -> "Tool Settings" -> "MCU Settings" -> Check "Use float with printf".
8. To enable printf make the `main.c` changes below in the [STM32 Printf](#stm32-printf) section.
### STM32 Cube Pack Examples ### STM32 Cube Pack Examples
@ -87,6 +94,8 @@ Please select one of the above options:
See [STM32_Benchmarks.md](STM32_Benchmarks.md). See [STM32_Benchmarks.md](STM32_Benchmarks.md).
Note: The Benchmark example uses float. To enable go to "Project Properties" -> "C/C++ Build" -> "Settings" -> "Tool Settings" -> "MCU Settings" -> Check "Use float with printf".
## STM32 Printf ## STM32 Printf
In main.c make the following changes: In main.c make the following changes:

View File

@ -1,4 +1,4 @@
/* wolfSSL.wolfSSL_conf.h /* wolfSSL_conf.h (example of generated wolfSSL.wolfSSL_conf.h)
* *
* Copyright (C) 2006-2020 wolfSSL Inc. * Copyright (C) 2006-2020 wolfSSL Inc.
* *
@ -19,11 +19,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
*/ */
/* STM32 Cube Configuration File /* STM32 Cube Sample Configuration File
* Generated automatically using `default_conf.ftl` template
*
* Included automatically when USE_HAL_DRIVER is defined * Included automatically when USE_HAL_DRIVER is defined
* (and not WOLFSSL_USER_SETTINGS or HAVE_CONF_H). * (and not WOLFSSL_USER_SETTINGS or HAVE_CONF_H).
*
* Generated automatically using `default_conf.ftl` template
*/ */
#ifndef __WOLFSSL_WOLFSSL_CONF_H__ #ifndef __WOLFSSL_WOLFSSL_CONF_H__

View File

@ -510,11 +510,11 @@ static int ServerMemSend(info_t* info, char* buf, int sz)
sz = MEM_BUFFER_SZ - info->to_client.write_idx; sz = MEM_BUFFER_SZ - info->to_client.write_idx;
#endif #endif
if (info->showVerbose >= 2)
printf("Server Send: %d\n", sz);
XMEMCPY(&info->to_client.buf[info->to_client.write_idx], buf, sz); XMEMCPY(&info->to_client.buf[info->to_client.write_idx], buf, sz);
info->to_client.write_idx += sz; info->to_client.write_idx += sz;
info->to_client.write_bytes += sz; info->to_client.write_bytes += sz;
if (info->showVerbose >= 3)
printf("Server Send: %d\n", sz);
#ifdef CMSIS_OS2_H_ #ifdef CMSIS_OS2_H_
osThreadFlagsSet(info->client.threadId, 1); osThreadFlagsSet(info->client.threadId, 1);
@ -565,17 +565,18 @@ static int ServerMemRecv(info_t* info, char* buf, int sz)
XMEMCPY(buf, &info->to_server.buf[info->to_server.read_idx], sz); XMEMCPY(buf, &info->to_server.buf[info->to_server.read_idx], sz);
info->to_server.read_idx += sz; info->to_server.read_idx += sz;
info->to_server.read_bytes += sz; info->to_server.read_bytes += sz;
if (info->showVerbose >= 2)
printf("Server Recv: %d\n", sz);
/* if the rx has caught up with pending then reset buffer positions */ /* if the rx has caught up with pending then reset buffer positions */
if (info->to_server.read_bytes == info->to_server.write_bytes) { if (info->to_server.read_bytes == info->to_server.write_bytes) {
info->to_server.read_bytes = info->to_server.read_idx = 0; info->to_server.read_bytes = info->to_server.read_idx = 0;
info->to_server.write_bytes = info->to_server.write_idx = 0; info->to_server.write_bytes = info->to_server.write_idx = 0;
} }
if (info->showVerbose >= 2)
printf("Server Recv: %d\n", sz);
osSemaphoreRelease(info->server.mutex); osSemaphoreRelease(info->server.mutex);
#ifdef BENCH_USE_NONBLOCK #ifdef BENCH_USE_NONBLOCK
if (sz == 0) if (sz == 0)
return WOLFSSL_CBIO_ERR_WANT_READ; return WOLFSSL_CBIO_ERR_WANT_READ;
@ -660,14 +661,14 @@ static int ClientMemRecv(info_t* info, char* buf, int sz)
XMEMCPY(buf, &info->to_client.buf[info->to_client.read_idx], sz); XMEMCPY(buf, &info->to_client.buf[info->to_client.read_idx], sz);
info->to_client.read_idx += sz; info->to_client.read_idx += sz;
info->to_client.read_bytes += sz; info->to_client.read_bytes += sz;
if (info->showVerbose >= 2)
printf("Client Recv: %d\n", sz);
/* if the rx has caught up with pending then reset buffer positions */ /* if the rx has caught up with pending then reset buffer positions */
if (info->to_client.read_bytes == info->to_client.write_bytes) { if (info->to_client.read_bytes == info->to_client.write_bytes) {
info->to_client.read_bytes = info->to_client.read_idx = 0; info->to_client.read_bytes = info->to_client.read_idx = 0;
info->to_client.write_bytes = info->to_client.write_idx = 0; info->to_client.write_bytes = info->to_client.write_idx = 0;
} }
if (info->showVerbose >= 2)
printf("Client Recv: %d\n", sz);
osSemaphoreRelease(info->client.mutex); osSemaphoreRelease(info->client.mutex);

View File

@ -1259,11 +1259,11 @@ extern void uITRON4_free(void *p) ;
#endif #endif
#define NO_OLD_RNGNAME #define NO_OLD_RNGNAME
#ifdef WOLFSSL_STM32_CUBEMX #ifdef WOLFSSL_STM32_CUBEMX
#if defined(WOLFSSL_STM32F1) #if defined(WOLFSSL_STM32F1)
#include "stm32f1xx_hal.h" #include "stm32f1xx_hal.h"
#elif defined(WOLFSSL_STM32F2) #elif defined(WOLFSSL_STM32F2)
#include "stm32f2xx_hal.h" #include "stm32f2xx_hal.h"
#elif defined(WOLFSSL_STM32L5) #elif defined(WOLFSSL_STM32L5)
#include "stm32l5xx_hal.h" #include "stm32l5xx_hal.h"
#elif defined(WOLFSSL_STM32L4) #elif defined(WOLFSSL_STM32L4)
#include "stm32l4xx_hal.h" #include "stm32l4xx_hal.h"
@ -1302,7 +1302,7 @@ extern void uITRON4_free(void *p) ;
#ifdef STM32_HASH #ifdef STM32_HASH
#include "stm32f4xx_hash.h" #include "stm32f4xx_hash.h"
#endif #endif
#elif defined(WOLFSSL_STM32L5) #elif defined(WOLFSSL_STM32L5)
#include "stm32l5xx.h" #include "stm32l5xx.h"
#ifdef STM32_CRYPTO #ifdef STM32_CRYPTO
#include "stm32l5xx_cryp.h" #include "stm32l5xx_cryp.h"
@ -1310,7 +1310,7 @@ extern void uITRON4_free(void *p) ;
#ifdef STM32_HASH #ifdef STM32_HASH
#include "stm32l5xx_hash.h" #include "stm32l5xx_hash.h"
#endif #endif
#elif defined(WOLFSSL_STM32L4) #elif defined(WOLFSSL_STM32L4)
#include "stm32l4xx.h" #include "stm32l4xx.h"
#ifdef STM32_CRYPTO #ifdef STM32_CRYPTO
#include "stm32l4xx_cryp.h" #include "stm32l4xx_cryp.h"
@ -1327,7 +1327,7 @@ extern void uITRON4_free(void *p) ;
#endif #endif
#endif /* WOLFSSL_STM32_CUBEMX */ #endif /* WOLFSSL_STM32_CUBEMX */
#endif /* WOLFSSL_STM32F2 || WOLFSSL_STM32F4 || WOLFSSL_STM32L4 || #endif /* WOLFSSL_STM32F2 || WOLFSSL_STM32F4 || WOLFSSL_STM32L4 ||
WOLFSSL_STM32L5 || WOLFSSL_STM32F7 || WOLFSSL_STMWB || WOLFSSL_STM32H7 */ WOLFSSL_STM32L5 || WOLFSSL_STM32F7 || WOLFSSL_STMWB || WOLFSSL_STM32H7 */
#ifdef WOLFSSL_DEOS #ifdef WOLFSSL_DEOS
#include <deos.h> #include <deos.h>
#include <timeout.h> #include <timeout.h>