105 lines
2.8 KiB
Markdown
105 lines
2.8 KiB
Markdown
|
Zephyr Project Port
|
||
|
===================
|
||
|
|
||
|
## Overview
|
||
|
|
||
|
This port is for the Zephyr RTOS Project, available [here](https://www.zephyrproject.org/).
|
||
|
|
||
|
It provides the following zephyr code.
|
||
|
|
||
|
- modules/crypto/wolfssl
|
||
|
- wolfssl library code
|
||
|
- modules/crypto/wolfssl/zephyr/
|
||
|
- Configuration and CMake files for wolfSSL as a Zephyr module
|
||
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_test
|
||
|
- wolfCrypt test application
|
||
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_bench
|
||
|
- wolfCrypt benchmark application
|
||
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_sock
|
||
|
- socket based sample of TLS
|
||
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_thread
|
||
|
- socket based sample of TLS using threads
|
||
|
|
||
|
## How to setup as a Zephyr Module
|
||
|
|
||
|
### Modify your project's west manifest
|
||
|
|
||
|
Add wolfssl as a project to your west.yml:
|
||
|
```
|
||
|
manifest:
|
||
|
remotes:
|
||
|
# <your other remotes>
|
||
|
- name: wolfssl
|
||
|
url-base: https://github.com/wolfssl
|
||
|
|
||
|
projects:
|
||
|
# <your other projects>
|
||
|
- name: wolfssl
|
||
|
path: modules/crypto/wolfssl
|
||
|
revision: master
|
||
|
remote: wolfssl
|
||
|
```
|
||
|
|
||
|
If you are using the Nordic nRF Connect SDK with Zephyr, the sdk-nrf manifest
|
||
|
file is located at: `vX.X.X/nrf/west.yml`. On OSX the default installation
|
||
|
location for the nRF Connect SDK is at `/opt/nordic/ncs/vX.X.X`.
|
||
|
|
||
|
Update west's modules:
|
||
|
|
||
|
```bash
|
||
|
west update
|
||
|
```
|
||
|
|
||
|
Now west recognizes 'wolfssl' as a module, and will include it's Kconfig and
|
||
|
CMakeFiles.txt in the build system.
|
||
|
|
||
|
If using the Nordic nRF Connect SDK, to get access to a terminal with west
|
||
|
tool access, open "nRF Connect for Desktop", then "Toolchain Manager",
|
||
|
and finally next to the SDK version you are using click the drop down arrow,
|
||
|
then "Open Terminal".
|
||
|
|
||
|
## Build and Run wolfCrypt Test Application
|
||
|
|
||
|
If you want to run build apps without running `west zephyr-export` then it is
|
||
|
possible by setting the `CMAKE_PREFIX_PATH` variable to the location of the
|
||
|
zephyr sdk and building from the `zephyr` directory. For example:
|
||
|
|
||
|
```
|
||
|
CMAKE_PREFIX_PATH=/path/to/zephyr-sdk-<VERSION> west build -p always -b qemu_x86 ../modules/crypto/wolfssl/zephyr/samples/wolfssl_test/
|
||
|
```
|
||
|
|
||
|
build and execute `wolfssl_test`
|
||
|
|
||
|
```
|
||
|
cd [zephyrproject]
|
||
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_test
|
||
|
west build -t run
|
||
|
```
|
||
|
|
||
|
## Build and Run wolfCrypt Benchmark Application
|
||
|
|
||
|
build and execute `wolfssl_benchmark`
|
||
|
|
||
|
```
|
||
|
cd [zephyrproject]
|
||
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_benchmark
|
||
|
west build -t run
|
||
|
```
|
||
|
|
||
|
### Build and Run wolfSSL example `wolfssl_tls_sock`
|
||
|
|
||
|
```
|
||
|
cd [zephyrproject]
|
||
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_sock
|
||
|
west build -t run
|
||
|
```
|
||
|
|
||
|
### Build and Run wolfSSL example `wolfssl_tls_thread`
|
||
|
|
||
|
```
|
||
|
cd [zephyrproject]
|
||
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_thread
|
||
|
west build -t run
|
||
|
```
|
||
|
|