wolfSSL for Renesas RA Evaluation Kit (EK-RA6M3G)

Description

This directory contains e2studio projects targeted at the Renesas RA 32-bit MCUs.\ The example projects include a wolfSSL TLS 1.2 client and server.\ They also include benchmark and cryptography tests for the wolfCrypt library.

The wolfssl project contains both the wolfSSL and wolfCrypt libraries.\ It is built as a Renesas RA C Library Project and contains the Renesas RA\ configuration.

The other projects (benchmark, client, server and test) are built as a\ Renesas RA C Project Using RA Library, where the RA library is the wolfssl project.\ The wolfssl Project Summary is listed below and is relevant for every project.

Project Summary

Board: EK-RA6M3G\ Device: R7FA6M3AH3CFC\ Toolchain: GCC ARM Embedded\ FSP Version: 0.8.0

Selected software components

Board Support Package Common Files v0.8.0\ Arm CMSIS Version 5 - Core (M) v5.5.1\ Amazon FreeRTOS v0.8.0\ RA6M3G-EK Board Support Files v0.8.0\ Board support package for R7FA6M3AH3CFC v0.8.0\ Board support package for RA6M3 v0.8.0\ Board support package for RA6M3 v0.8.0\ Amazon FreeRTOS - Memory Management - Heap 4 v0.8.0\ r_ether to FreeRTOS+TCP Wrapper v0.8.0\ Ethernet v0.8.0\ Ethernet PHY v0.8.0\ FreeRTOS+TCP v0.8.0\ Amazon FreeRTOS - Buffer Allocation 2 v0.8.0

Setup Steps

The project directories are missing files necessary to build the project.\ These files can be generated when creating a new Renesas RA Project.\ The following steps explain how to generate the missing files and where to place them.

1.) Create a 'dummy' Renesas RA C Library Project.

2.) Create a 'dummy' Renesas RA C Project Using RA Library.

3.) Import all the wolfSSL Projects into e2studio workspace.

Click Finish.

4.) Copy files from dummy_library into wolfSSL_RA6M3G

5.) Copy files from dummy_app into ./IDE/Renesas/e2studio/RA6M3G/common/ra6m3g/\ NOTE: This may need to be done outside of the e2studio environment (e.g. File Explorer).

6.) Setup Network Environment

    The client and server projects have defines inside their wolfssl_thread_entry.h.
    These defines (ucIPAddress ... ucDNSServerAddress) may need to be changed
    based on your internal network environment.  The g_ether0_mac_address is the default
    mac address found inside the RA configuration inside the wolfssl project.
    The client wolfssl_thread_entry.h has defines (SERVER_IP and DEFAULT_PORT) that
    will need to be changed based on the server you're trying to connect to over
    the ethernet connection.

Build and Run

Build Each Project

Right-Click each Project and select Build.

Run wolfCrypt Test and Benchmark

1.) Right-Click the Project name.\ 2.) Select Debug As -> Renesas GDB Hardware Debugging\ 3.) Select J-Link ARM. Click OK.\ 4.) Select R7Fa6M3AH. Click OK.

Run the wolfSSL TLS Server Example.

1.) Right-Click the Project name.\ 2.) Select Debug As -> Renesas GDB Hardware Debugging\ 3.) Select J-Link ARM. Click OK.\ 4.) Select R7Fa6M3AH. Click OK.\ 5.) Run the following wolfSSL example client command inside the base of the wolfssl directory.

./examples/client/client -h "ucIPAddress" -p 11111 -A ./certs/1024/ca-cert.pem

NOTE: "ucIPAddress" is "192.168.1.241" by default. (See wolfssl_thread_entry.h)

Run the wolfSSL TLS Client Example.

1.) Run the following wolfSSL example server command inside the base of the wolfssl directory.

./examples/server/server -b -d -p 11111 -c ./certs/1024/server-cert.pem -k ./certs/1024/server-key.pem

NOTE: The port 11111 is the DEFAULT_PORT inside wolfssl_thread_entry.h.\ If DEFAULT_PORT was changed then the above command will need to match it.

2.) Right-Click the Project name.\ 3.) Select Debug As -> Renesas GDB Hardware Debugging\ 4.) Select J-Link ARM. Click OK.\ 5.) Select R7Fa6M3AH. Click OK.

Troubleshooting

Support Forum

Support Email: suppo.nosp@m.rt@w.nosp@m.olfss.nosp@m.l.co.nosp@m.m

Resources

wolfSSL Website

wolfSSL Wiki

wolfSSL Manual

wolfSSL API Reference

wolfCrypt API Reference

TLS 1.3