Merge pull request #401 from miyazakh/example_up_toppers

Update toppers examples
pull/402/head
Chris Conlon 2023-09-28 15:12:31 -06:00 committed by GitHub
commit e5d388072d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
31 changed files with 4250 additions and 0 deletions

View File

@ -0,0 +1,315 @@
# Renesas RX72N EnvisionKit with Toppers OS
This demonstration runs client, server, crypt test and benchmark exmples of <b>wolfSSL</b> with <b>Toppers OS</b> and <b>Renesas RX72N Envision Kit</b>.
## Prerequisite
1.Renesas e² studio Version: 2022-07 (22.7.0) or later
2.Renesas e² studio BSP
3.Toppers OS 1.9.1 (Patch RX72N version)
|element|name/version|
|:--|:--|
|Renesas e² studio Version|GR-2022-07 (22.7.0) or later|
|Toppers OS|1.9.3|
|Toppers Configurator|1.9.6|
|Renesas BSP r_bsp|7.10|
|Renesas BSP r_cmt_rx|5.10|
Note:The above version designations are limited to the versions used in order to make modifications to the designated versions as shown below.
## Advance preparation
Copy `wolfssl-examples/TOPPERS` to `wolfssl/IDE/Renesas/e2studio/RX72N/`.
## Build libraries
## 1. Build the wolfSSL library
This step creates the Toppers and wolfSSL library.
1-1. Press [Browse (R)] for [Select root directory (T)] in the [Import project] dialog
1-2. Select `wolflib` from the git repository `wolfssl/IDE/Renesas/e2studio/RX72N/Toppers` Press [Select Folder]
1-3. Click the created project in Project Explorer and select the [Build Project (B)] key from the pull-down menu to build.
(When performing the above operations, make sure that [Toolchain:] is selected in the [Project] [Properties] [Settings] [toolchain] tab.)
1-4. [libwolflib.a] is generated in [wolflib/Debug]
## 2. Build TOPPERS library
This step is to build the Toppers library.
2-1. Download [asp-1.9.3 Renesas BSP version] (https://www.toppers.jp/asp-d-download.html) and unzip it to `/wolfssl/ IDE/Renesas/e2studio/RX72N/Toppers/`
2-2. Download [Configurator Release 1.9.6 (binary for Windows)](https://www.toppers.jp/cfg-download.html) and unzip it with [2.1] Create a [cfg/cfg] directory in the [asp] directory. After extracting the zip, you can find `cfg.exe` in the folder.
2-3. Execute the shell script shown below to apply the patch. Copy the files necessary for using EDMAC
```
$ pwd [Individual installation environment]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers
./setting.sh
```
2-4. Confirmation of advance preparation
a). Please prepare an environment such as Msys2 in advance for command execution.
b). Install the gcc toolchain with Msys2.
c). In the Msys2 environment, it is necessary to set the path of the Renesas environment in advance.bashrc etc.
--- Here is a setting example: Specify the Renesas toolchain path ---
```
$ export PATH=PATH=$PATH:\/C/ProgramData\/GCC\ for\ Renesas\ RX\ 8.3.0.202202-GNURX-ELF/rx-elf/rx-elf/bin
```
2-5. To configure rx72n and make dependency, execute the following commands
```
$ pwd [Individual installation environment]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers/asp
$ perl ./configure -T rx72n_gcc
$ make depend
```
2-6. Project [Properties] → [C/C++ Build] → [Environment] dialog [Environment variable to set] [Add] button, enter [C_PROJECT] in [Name:] in [New variable] dialog , enter ${ProjDirPath} for [Value:]
2-7. Select [Open Project from File System...] in the menu
2-8. Select [Toppers_app] from the git repository wolfssl/IDE/Renesas/e2studio/RX72N/Toppers Press [Select Folder]
2-9. Click the created project in Project Explorer and select the [Build Project (B)] key from the pull-down menu to build.
2-10.[toppers_rx] will generate [libasp.a]
## 3. Build the wolfSSLDemo project
3-1. Select [Open Project from File System...] in the menu
3-2. Select `WolfSSLDemo` from the git repository `wolfssl/IDE/Renesas/e2studio/RX72N/Toppers`. Press [Select Folder]
3-3.Double-click `WolfSSLDemo.scfg` to display the setting dialog → Select [Components tab]
3.4. Click [Generate Code] on the upper right of the [Software Component Dialog] dialog.
3.5. Select [Startup] [r_bsp] in the component selection on the left side of the dialog Right-click, select [Change version] from the context menu, and confirm that [Current version] is [7.10] (not [7.10] If so, select [7.10] in [Version after change:] and press [Next (N) >] to generate the code)
3-6. Select [Drivers] [r_cmt_rx] in the component selection on the left side of the dialog, right-click, select [Change version] from the context menu, and confirm that [Current version] is [5.10] ([5.10 If it is not ], select [5.10] in [Changed version:] and press [Next (N) >] to generate the code)
3-7. Apply patch to work generated code on `TOPPERS`
(If you cannot use the patch command with Msys2, you need to install it with [pacman -S patch]) do the following
```
$pwd
[Individual installation environment]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers/WolfSSLDemo
$patch --binary -p0 < ./bsp.patch
```
Note:<br>
If you have used the smart configurator to generate code for [r_bsp],[r_cmt_rx], you will need to reapply the patch
3-8. Select the [Build Project (B)] key from the pull-down menu to build.
3-9. Transfer the ELF file generated by the build to the board with [Menu] → [Run (R)] → [Run (R)] or [Debug (D)] and execute it
Note:<br>
`T4_Library_ether_ccrx_rxv1_little` may be an error in the linker immediately after configuration/build Clear There is, but `T4_Library_ether_ccrx_rxv1_little`` from [Linker]/[Archives]/[User defined archive (library) files (-I)]/[×] in [Settings] of the [Properties] dialog [C/C++ Build] of the project. Please delete it.
### 3-1 Run Server Program
3-1-1. Enable `#define WOLFSSL_SERVER_TEST` in `wolf_demo.h`. IP addres will be assigned by DHCP.
3-1-2. Check runtime message on `Renesas Debug Virtual Console`
```
Start WolfSSL Demo !!
Accept DHCP.ipaddr[4] 192.168.11.6
Accept DHCP.maskaddr[4] 255.255.255.0
Accept DHCP.gwaddr[4] 192.168.11.1
Accept DHCP.dnsaddr[4] 192.168.11.1
Accept DHCP.dnsaddr2[4] 0.0.0.0
Accept DHCP.macaddr[6] 74:90:50:10:FE:77
Accept DHCP.domain[0]
Start TLS Server
```
3-1-3. Run client program against to Server's IP address
```
$ ./examples/client/client -h 192.168.11.6 -p 11111
SSL version is TLSv1.2
SSL cipher suite is TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
SSL curve name is SECP256R1
hello wolfssl!
```
You would see the following messages on `Renesas Debug Virtual Console` when TLS connection between Server and Client is successful.
```
Start TLS Server
SSL Accept
SSL Read
Received Data: hello wolfssl!
my_IOSend NG
Start TLS Server
```
### 3-2 Run Client Program
3-2-1. Enable `#define WOLFSSL_CLIENT_TEST` in `wolf_demo.h`. IP addres will be assigned by DHCP.
3-2-2. Server IP address and Port number are defined as `SERVER_IP` and `SERVER_PortNo` in `wolf_demo.h`. Change them if needed.
3-2-3. Run Server program in advance
```
$ ./examples/server/server -b -d -i -v 4
```
3-2-4. Run Client program from e2studio
You would see the following messages on `Renesas Debug Virtual Console` when TLS connection between Client and Server is successful. The Client program repeatedly runs until it stops.
```
Start WolfSSL Demo !!
Accept DHCP.ipaddr[4] 192.168.11.6
Accept DHCP.maskaddr[4] 255.255.255.0
Accept DHCP.gwaddr[4] 192.168.11.1
Accept DHCP.dnsaddr[4] 192.168.11.1
Accept DHCP.dnsaddr2[4] 0.0.0.0
Accept DHCP.macaddr[6] 74:90:50:10:FE:77
Accept DHCP.domain[0]
Start TLS Client
Received: I hear you fa shizzle!
Start TLS Client
Received: I hear you fa shizzle!
Start TLS Client
Received: I hear you fa shizzle!
```
### 3-3 Run Crypt Test Program
3-3-1. Enable `#define WOLFCRYPT_TEST` in `wolf_demo.h`.
3-3-2. Run the program from e2studio and check the message on `Renesas Debug Virtual Consol`
```
Start WolfSSL Demo !!
Start wolfCrypt Test
------------------------------------------------------------------------------
wolfSSL version 5.6.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-384 test passed!
SHA-512 test passed!
SHA-512/224 test passed!
SHA-512/256 test passed!
Hash test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
HMAC-SHA384 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!
DH test passed!
DSA 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!
memcb test passed!
Test complete
End wolfCrypt Test
```
### 3-4 Run Benchmark program
3-3-1. Enable `#define WOLF_BENCHMARK` in `wolf_demo.h`.
3-3-2. Run the program from e2studio and check the message on `Renesas Debug Virtual Consol`
```
Start WolfSSL Demo !!
Start wolfCrypt Benchmark
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 275 KiB took 1.036 seconds, 265.444 KiB/s
AES-128-CBC-enc 725 KiB took 1.017 seconds, 712.671 KiB/s
AES-128-CBC-dec 700 KiB took 1.025 seconds, 682.727 KiB/s
AES-192-CBC-enc 675 KiB took 1.006 seconds, 671.041 KiB/s
AES-192-CBC-dec 650 KiB took 1.009 seconds, 644.266 KiB/s
AES-256-CBC-enc 650 KiB took 1.024 seconds, 634.518 KiB/s
AES-256-CBC-dec 625 KiB took 1.023 seconds, 610.709 KiB/s
AES-128-GCM-enc 150 KiB took 1.040 seconds, 144.175 KiB/s
AES-128-GCM-dec 150 KiB took 1.041 seconds, 144.134 KiB/s
AES-192-GCM-enc 150 KiB took 1.054 seconds, 142.356 KiB/s
AES-192-GCM-dec 150 KiB took 1.054 seconds, 142.315 KiB/s
AES-256-GCM-enc 150 KiB took 1.067 seconds, 140.607 KiB/s
AES-256-GCM-dec 150 KiB took 1.067 seconds, 140.581 KiB/s
AES-128-GCM-enc-no_AAD 150 KiB took 1.028 seconds, 145.929 KiB/s
AES-128-GCM-dec-no_AAD 150 KiB took 1.028 seconds, 145.886 KiB/s
AES-192-GCM-enc-no_AAD 150 KiB took 1.041 seconds, 144.065 KiB/s
AES-192-GCM-dec-no_AAD 150 KiB took 1.041 seconds, 144.023 KiB/s
AES-256-GCM-enc-no_AAD 150 KiB took 1.054 seconds, 142.288 KiB/s
AES-256-GCM-dec-no_AAD 150 KiB took 1.054 seconds, 142.248 KiB/s
GMAC Default 184 KiB took 1.000 seconds, 183.963 KiB/s
3DES 275 KiB took 1.016 seconds, 270.536 KiB/s
MD5 5 MiB took 1.002 seconds, 4.900 MiB/s
SHA 2 MiB took 1.013 seconds, 1.857 MiB/s
SHA-256 625 KiB took 1.004 seconds, 622.634 KiB/s
SHA-384 475 KiB took 1.011 seconds, 469.832 KiB/s
SHA-512 475 KiB took 1.011 seconds, 469.832 KiB/s
SHA-512/224 475 KiB took 1.011 seconds, 469.785 KiB/s
SHA-512/256 475 KiB took 1.011 seconds, 469.785 KiB/s
HMAC-MD5 5 MiB took 1.001 seconds, 4.855 MiB/s
HMAC-SHA 2 MiB took 1.008 seconds, 1.841 MiB/s
HMAC-SHA256 625 KiB took 1.012 seconds, 617.833 KiB/s
HMAC-SHA384 475 KiB took 1.027 seconds, 462.512 KiB/s
HMAC-SHA512 475 KiB took 1.027 seconds, 462.512 KiB/s
PBKDF2 96 bytes took 1.232 seconds, 77.890 bytes/s
RSA 2048 public 18 ops took 1.020 sec, avg 56.639 ms, 17.656 ops/sec
RSA 2048 private 2 ops took 6.787 sec, avg 3393.650 ms, 0.295 ops/sec
DH 2048 key gen 2 ops took 1.466 sec, avg 732.950 ms, 1.364 ops/sec
DH 2048 agree 2 ops took 3.182 sec, avg 1590.800 ms, 0.629 ops/sec
ECC [ SECP256R1] 256 key gen 4 ops took 1.704 sec, avg 425.875 ms, 2.348 ops/sec
ECDHE [ SECP256R1] 256 agree 4 ops took 1.700 sec, avg 425.050 ms, 2.353 ops/sec
ECDSA [ SECP256R1] 256 sign 4 ops took 1.716 sec, avg 429.050 ms, 2.331 ops/sec
ECDSA [ SECP256R1] 256 verify 2 ops took 1.642 sec, avg 821.100 ms, 1.218 ops/sec
CURVE 25519 key gen 2 ops took 1.343 sec, avg 671.700 ms, 1.489 ops/sec
CURVE 25519 agree 2 ops took 1.342 sec, avg 670.900 ms, 1.491 ops/sec
ED 25519 key gen 69 ops took 1.009 sec, avg 14.617 ms, 68.412 ops/sec
ED 25519 sign 60 ops took 1.022 sec, avg 17.038 ms, 58.691 ops/sec
ED 25519 verify 22 ops took 1.030 sec, avg 46.836 ms, 21.351 ops/sec
Benchmark complete
End wolfCrypt Benchmark
```

View File

@ -0,0 +1,319 @@
# Renesas RX72N EnvisionKit with TOPPERS OS
本デモはルネサス <b> RX72N EnvisionKit </b><b>Toopers RTOS </b> を適用し<b>WolfSSL</b>の動作を確認します
## 本デモについては以下が必要です
1.Renesas e² studio Version: 2022-07 (22.7.0)以降
2.Renesas e² studio BSP
3.Toppers OS 1.9.1 (Patch RX720N適用版)
|要素|名称/バージョン|
|:--|:--|
|Renesas e² studio Version|GR-2022-07 (22.7.0)以降|
|Toppers OS|1.9.3|
|Toppers コンフィギュレータ|1.9.6|
|Renesas BSP r_bsp|7.10|
|Renesas BSP r_cmt_rx|5.10|
上記バージョンの指定については、下記に示す通り指定バージョンに修正を加える為、使用バージョンを限定しています
## 事前準備
`wolfssl-examples/TOPPERS`を`wolfssl/IDE/Renesas/e2studio/RX72N/`へコピーします
# 以下に環境構築手順を示します
## 1.wolfSSLライブラリーのビルド
本デモに必要なToppersライブラリー、wolfSSLライブラリーを作成します
1-1. メニュー[ファイル]->[ファイルシステムからプロジェクトを開く]をクリック
1-2. [プロジェクトをインポート]ダイアログの[ルートディレクトリーの選択(T)]の[参照(R)]を押下
1-3. git レポジトリwolfssl/IDE/Renesas/e2studio/RX72N/Toppersの`wolflib`を選択[フォルダーの選択]を押下
1-4. プロジェクト・エクスプローラーの作成したプロジェクトをクリック後プルダウンメニューから[プロジェクトのビルド(B)]キーを選択しビルド
(上記操作操作を行う場合[プロジェクト][プロパティ]の[設定][toolchain]タブで[ツールチェーン:]が選択されている事を確認ください)
1-5.  `wolflib/Debug`に`libwolflib.a`が生成されます
## 2. TOPPERSライブラリーのビルド
2-1. Toppersライブラリーのビルドの為、[asp-1.9.3 Renesas BSP 適用version](https://www.toppers.jp/asp-d-download.html)をダウンロードし`/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers/`に解凍します
2-2. Toppersライブラリーのビルドの為、[コンフィギュレータ Release 1.9.6Windows用バイナリ]([https://www.toppers.jp/cfg-download.html] )をダウンロードし 2.1 で解凍した `asp` ディレクトリに `cfg/cfg` ディレクトリを作成し中に `cfg.exe` として解凍します
2-3. Patch適用の為、以下に示すShellスクリプトを実行します \
(EDMAC使用に必要なファイルをコピーします)
```
$ pwd
[個別インストール環境]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers
./setting.sh
```
2-4.事前準備確認
コマンド実行ではMsys2等の環境を事前にご用意ください。Msys2でgccのツールチェーンのインストールを行ってください
Msys2環境では事前にRenesas環境のパス設定をbashrc等で行う必要があります.
---設定例を示します:ルネサスツールチェーンパスを指定---
```
export PATH=PATH=$PATH:\/C/ProgramData\/GCC\ for\ Renesas\ RX\ 8.3.0.202202-GNURX-ELF/rx-elf/rx-elf/bin
```
2-5.設定を確認後、以下を行います
```
$ pwd
[個別インストール環境]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers/asp
$ perl ./configure -T rx72n_gcc
$ make depend
```
2-7. メニューの[ファイル・システムからプロジェクトを開く...]を選択
2-8. git レポジトリwolfssl/IDE/Renesas/e2studio/RX72N/Toppersの`Toppers_app`を選択[フォルダーの選択]を押下
2-6. プロジェクト[プロパティ]->[C/C++ビルド]→[環境]ダイアログ[設定する環境変数]の[追加]ボタンを押下、[新規変数]ダイアログの[名前:]に[C_PROJECT]を入力、[値:]に[${ProjDirPath}]を入力します。
2-9. プロジェクト・エクスプローラーの作成したプロジェクトをクリック後プルダウンメニューから[プロジェクトのビルド(B)]キーを選択しビルド
2-10. `toppers_rx`に`libasp.a`が生成されます
## 3. wolfSSLDemoプロジェクトのビルド
3-1. メニューの[ファイル・システムからプロジェクトを開く...]を選択
3-2. git レポジトリwolfssl/IDE/Renesas/e2studio/RX72N/Toppersの[wolfSSLDemo]を選択[フォルダーの選択]を押下
3-3. [WolfSSLDemo.scfg]をダブルクリックで設定ダイアログが表示→[コンポーネントタブ] を選択
3.4. [ソフトウェアコンポーネントダイアログ]ダイアログ右上の[コードの生成]を押下
3.5. ダイアログ左のコンポーネント選択で[Startup] [r_bsp]を選択右クリックしコンテキストメニュー[バージョン変更]を選択し[現在のバージョン]が[7.10]である事を確認してください([7.10]でない場合[変更後のバージョン:]で[7.10]を選択し[次へ(N)>]を押下しコードを生成して下さい)
3-6. ダイアログ左のコンポーネント選択で[Drivers] [r_cmt_rx]を選択右クリックしコンテキストメニュー[バージョン変更]を選択し[現在のバージョン] が[5.10]である事を確認してください([5.10]でない場合[変更後のバージョン:]で[5.10]を選択し[次へ(N)>]を押下しコードを生成して下さい)
3-7.生成されたBSPをToppersに適用する為、Patch コマンドにて修正をします
(Msys2でpatchコマンドが使えない場合は[pacman -S patch] でインストールが必要となります)
以下を行います
```
$ pwd
[個別インストール環境]/wolfssl/IDE/Renesas/e2studio/RX72N/Toppers/WolfSSLDemo
patch --binary -p0 < ./bsp.patch
```
Note:
スマートコンフィギュレーターを使用して[r_bsp],[r_cmt_rx]のコードを生成した場合、パッチを再適用する必要があります。
3-8.[3-1.]終了後プルダウンメニューから[プロジェクトのビルド(B)]キーを選択しビルド
3-9.ビルドで生成されたELFファイルを[メニュー]→[実行(R)]→[実行(R)]又は[デバッグ(D)]でボードへ転送を行い、実行します。
注:コンフィグレーション直後/ビルドクリヤー後に[T4_Library_ether_ccrx_rxv1_little]がリンカーでエラーになる場合が
ありますがプロジェクトの[プロパティ]ダイアログ[C/C++ビルド]の[設定]で[Linker]/[Archives]/[User defined archive (library) files (-I)]/[×]押下から[T4_Library_ether_ccrx_rxv1_little]を削除してください
### 3-1. Server プログラムの実行
3-1-1. `wolf_demo.h`のdefine値 `#define WOLFSSL_SERVER_TEST` を定義を行うとサーバとしての動作になります。DHCPを使ってIPアドレスを取得します。
3-1-2. `Renesas Debug Virtual Console` にて実行を確認します
```
Start WolfSSL Demo !!
Accept DHCP.ipaddr[4] 192.168.11.6
Accept DHCP.maskaddr[4] 255.255.255.0
Accept DHCP.gwaddr[4] 192.168.11.1
Accept DHCP.dnsaddr[4] 192.168.11.1
Accept DHCP.dnsaddr2[4] 0.0.0.0
Accept DHCP.macaddr[6] 74:90:50:10:FE:77
Accept DHCP.domain[0]
Start TLS Server
```
3-1-3. サーバが取得したIPアドレスに対して対抗のクライアントを実行します。
```
$ ./examples/client/client -h 192.168.11.6 -p 11111
SSL version is TLSv1.2
SSL cipher suite is TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
SSL curve name is SECP256R1
hello wolfssl!
```
サーバ側に以下のような出力があればTLS通信を行っています。
```
Start TLS Server
SSL Accept
SSL Read
Received Data: hello wolfssl!
my_IOSend NG
Start TLS Server
```
### 3-2. Client プログラムの実行
3-2-1. `wolf_demo.h`のdefine値 `#define WOLFSSL_CLIENT_TEST` の定義を有効にします。
3-2-2. `wolf_demo.h` のサーバIPアドレスのdefine値 `SERVER_IP`を "xxx.xx.xx.xx" ポート番号のdefine値 `SERVER_PortNo`をポート番号として設定して下さい
3-2-3. 対抗のサーバを起動します
```
$ ./examples/server/server -b -d -i -v 4
SSL version is TLSv1.3
SSL cipher suite is TLS_AES_128_GCM_SHA256
SSL curve name is SECP256R1
Client message: Hello Server
SSL version is TLSv1.3
SSL cipher suite is TLS_AES_128_GCM_SHA256
SSL curve name is SECP256R1
Client message: Hello Server
```
3-2-3. `Renesas Debug Virtual Console` にて実行を確認します。実行を停止するまでTLS接続を繰り返します。
```
Start WolfSSL Demo !!
Accept DHCP.ipaddr[4] 192.168.11.6
Accept DHCP.maskaddr[4] 255.255.255.0
Accept DHCP.gwaddr[4] 192.168.11.1
Accept DHCP.dnsaddr[4] 192.168.11.1
Accept DHCP.dnsaddr2[4] 0.0.0.0
Accept DHCP.macaddr[6] 74:90:50:10:FE:77
Accept DHCP.domain[0]
Start TLS Client
Received: I hear you fa shizzle!
Start TLS Client
Received: I hear you fa shizzle!
Start TLS Client
Received: I hear you fa shizzle!
```
### 3-3. Cryptテストの実行
3-3-1. `wolf_demo.h`のdefine値 `#define WOLFCRYPT_TEST` の定義を有効にします。
3-3-2. `Renesas Debug Virtual Console` にて実行を確認します。
```
Start WolfSSL Demo !!
Start wolfCrypt Test
------------------------------------------------------------------------------
wolfSSL version 5.6.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-384 test passed!
SHA-512 test passed!
SHA-512/224 test passed!
SHA-512/256 test passed!
Hash test passed!
HMAC-MD5 test passed!
HMAC-SHA test passed!
HMAC-SHA256 test passed!
HMAC-SHA384 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!
DH test passed!
DSA 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!
memcb test passed!
Test complete
End wolfCrypt Test
```
### 3-3. ベンチマークテストの実行
3-3-1. `wolf_demo.h`のdefine値 `#define WOLF_BENCHMARK` の定義を有効にします。
3-3-2. `Renesas Debug Virtual Console` にて実行を確認します。
```
Start WolfSSL Demo !!
Start wolfCrypt Benchmark
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
RNG 275 KiB took 1.036 seconds, 265.444 KiB/s
AES-128-CBC-enc 725 KiB took 1.017 seconds, 712.671 KiB/s
AES-128-CBC-dec 700 KiB took 1.025 seconds, 682.727 KiB/s
AES-192-CBC-enc 675 KiB took 1.006 seconds, 671.041 KiB/s
AES-192-CBC-dec 650 KiB took 1.009 seconds, 644.266 KiB/s
AES-256-CBC-enc 650 KiB took 1.024 seconds, 634.518 KiB/s
AES-256-CBC-dec 625 KiB took 1.023 seconds, 610.709 KiB/s
AES-128-GCM-enc 150 KiB took 1.040 seconds, 144.175 KiB/s
AES-128-GCM-dec 150 KiB took 1.041 seconds, 144.134 KiB/s
AES-192-GCM-enc 150 KiB took 1.054 seconds, 142.356 KiB/s
AES-192-GCM-dec 150 KiB took 1.054 seconds, 142.315 KiB/s
AES-256-GCM-enc 150 KiB took 1.067 seconds, 140.607 KiB/s
AES-256-GCM-dec 150 KiB took 1.067 seconds, 140.581 KiB/s
AES-128-GCM-enc-no_AAD 150 KiB took 1.028 seconds, 145.929 KiB/s
AES-128-GCM-dec-no_AAD 150 KiB took 1.028 seconds, 145.886 KiB/s
AES-192-GCM-enc-no_AAD 150 KiB took 1.041 seconds, 144.065 KiB/s
AES-192-GCM-dec-no_AAD 150 KiB took 1.041 seconds, 144.023 KiB/s
AES-256-GCM-enc-no_AAD 150 KiB took 1.054 seconds, 142.288 KiB/s
AES-256-GCM-dec-no_AAD 150 KiB took 1.054 seconds, 142.248 KiB/s
GMAC Default 184 KiB took 1.000 seconds, 183.963 KiB/s
3DES 275 KiB took 1.016 seconds, 270.536 KiB/s
MD5 5 MiB took 1.002 seconds, 4.900 MiB/s
SHA 2 MiB took 1.013 seconds, 1.857 MiB/s
SHA-256 625 KiB took 1.004 seconds, 622.634 KiB/s
SHA-384 475 KiB took 1.011 seconds, 469.832 KiB/s
SHA-512 475 KiB took 1.011 seconds, 469.832 KiB/s
SHA-512/224 475 KiB took 1.011 seconds, 469.785 KiB/s
SHA-512/256 475 KiB took 1.011 seconds, 469.785 KiB/s
HMAC-MD5 5 MiB took 1.001 seconds, 4.855 MiB/s
HMAC-SHA 2 MiB took 1.008 seconds, 1.841 MiB/s
HMAC-SHA256 625 KiB took 1.012 seconds, 617.833 KiB/s
HMAC-SHA384 475 KiB took 1.027 seconds, 462.512 KiB/s
HMAC-SHA512 475 KiB took 1.027 seconds, 462.512 KiB/s
PBKDF2 96 bytes took 1.232 seconds, 77.890 bytes/s
RSA 2048 public 18 ops took 1.020 sec, avg 56.639 ms, 17.656 ops/sec
RSA 2048 private 2 ops took 6.787 sec, avg 3393.650 ms, 0.295 ops/sec
DH 2048 key gen 2 ops took 1.466 sec, avg 732.950 ms, 1.364 ops/sec
DH 2048 agree 2 ops took 3.182 sec, avg 1590.800 ms, 0.629 ops/sec
ECC [ SECP256R1] 256 key gen 4 ops took 1.704 sec, avg 425.875 ms, 2.348 ops/sec
ECDHE [ SECP256R1] 256 agree 4 ops took 1.700 sec, avg 425.050 ms, 2.353 ops/sec
ECDSA [ SECP256R1] 256 sign 4 ops took 1.716 sec, avg 429.050 ms, 2.331 ops/sec
ECDSA [ SECP256R1] 256 verify 2 ops took 1.642 sec, avg 821.100 ms, 1.218 ops/sec
CURVE 25519 key gen 2 ops took 1.343 sec, avg 671.700 ms, 1.489 ops/sec
CURVE 25519 agree 2 ops took 1.342 sec, avg 670.900 ms, 1.491 ops/sec
ED 25519 key gen 69 ops took 1.009 sec, avg 14.617 ms, 68.412 ops/sec
ED 25519 sign 60 ops took 1.022 sec, avg 17.038 ms, 58.691 ops/sec
ED 25519 verify 22 ops took 1.030 sec, avg 46.836 ms, 21.351 ops/sec
Benchmark complete
End wolfCrypt Benchmark
```

View File

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443" moduleId="org.eclipse.cdt.core.settings" name="デフォルト">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443" name="デフォルト" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443.1690345844" name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1055699561" name="GCC for Renesas RX" superClass="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections.678740128" name="Data sections (-fdata-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.381430239" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/>
<builder buildPath="${workspace_loc:/ToppersRX72N/toppers_rx/asp" id="com.renesas.cdt.managedbuild.gcc.core.builder.1030109045" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="GCC for Renesas Builder" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.804155652" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen">
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.893452155" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.1297260447" name="Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC">
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.310967362" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP.1598710000" name="Compiler CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP">
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.121564378" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c"/>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.cpp.79675668" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.cpp"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler.387084048" name="Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor.423779631" name="Use preprocessor" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor" useByScannerDiscovery="false"/>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler.1439578367" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.linker.1367244952" name="Linker" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.linker"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker.1748688168" name="Linker CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy.1515188628" name="Objcopy" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver.1093836688" name="Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize.481557741" name="Print Size" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format.953359081" name="Size Format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format" useByScannerDiscovery="false"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="RENESAS_GCC_RX"/>
<option id="toolchain.version" value="8.3.0.202305"/>
<option id="toolchain.enable" value="true"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.boardInfo"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="ToppersRX72N.null.168699913" name="ToppersRX72N"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443;com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443.1690345844;com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP.1598710000;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.121564378">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443;com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443.1690345844;com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP.1598710000;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.cpp.79675668">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443;com.renesas.cdt.managedbuild.gcc.rx.toolChainUpdate.1921012443.1690345844;com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.1297260447;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.310967362">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="デフォルト">
<resource resourceType="PROJECT" workspacePath="/ToppersRX72N"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ToppersRX72N</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>toppers_rx/asp</name>
<type>2</type>
<locationURI>PARENT-1-PROJECT_LOC/asp</locationURI>
</link>
</linkedResources>
</projectDescription>

View File

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="RENESAS_GCC_RX"/>
<option id="toolchain.version" value="8.3.0.202305"/>
<option id="toolchain.enable" value="true"/>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.boardInfo">
<option id="board.id" value="RX72NEnvisionKit"/>
<option id="board.name" value="RX72NEnvisionKit"/>
<option id="board.device" value="R5F572NDHxFB"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561" name="HardwareDebug" parent="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update">
<folderInfo id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug.update.1438084345" name="GCC for Renesas RX" superClass="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug.update">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel.773661756" name="Optimization Level" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel" useByScannerDiscovery="true"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections.1958148373" name="Data sections (-fdata-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.280319181" name="Debug format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.Default" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize.1018017424" name="Create Print Size" superClass="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.2082429366" name="Architecture" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.rx.architecture.v3" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability.1723608165" name="Architecture Applicability" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.567125430" name="CPU Type" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.rx72n" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName.1490284704" name="DeviceName" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName" useByScannerDiscovery="false" value="R5F572NDHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand.1013416035" name="DeviceCommand" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand" useByScannerDiscovery="false" value="R5F572ND" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.fdiagnostics.700449935" name="Fixit error parser" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.fdiagnostics" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections.1516014188" name="Function sections (-ffunction-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.1547949648" name="Warn if stack size exceeds the limit, in bytes (-Wstack-usage)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="32400" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.211598939" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/>
<builder buildPath="${workspace_loc:/WolfSSLDemo}/HardwareDebug" id="com.renesas.cdt.managedbuild.gcc.core.builder.1502025353" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.1618525141" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen">
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.754526964" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType.1530948677" name="Library type" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.libraryType.preBuilt" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.295906912" name="Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir.2111909539" name="Include file directories (-I)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/wolfDemo}&quot;"/>
<listOptionValue builtIn="false" value="&quot;..\..\..\..\..\..\..\&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/general}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_ether_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen}&quot;"/>
</option>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.std.508800314" name="Language standard" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.std" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.compiler.common.gnu99" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines.34828625" name="Macro Defines (-D)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.877365152" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP.114565395" name="Compiler CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir.618834075" name="Include file directories (-I)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir" useByScannerDiscovery="false" valueType="includePath"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler.463969167" name="Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor.1639377829" name="Use preprocessor" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor" useByScannerDiscovery="false"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories.1960302555" name="Include file directories" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/src&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/general}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_bsp}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_config}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_driver_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_sys_time_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_cmt_rx/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_ether_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen}&quot;"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler.933373184" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.linker.1952562174" name="Linker" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript.553671214" name="Linker script" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/linker_script.ld}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories.27106641" name="Standard archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories" useByScannerDiscovery="false" valueType="stringList"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.userDefinedArchives.934596770" name="User defined archive search directories (-L) [Only the path to the library]" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.userDefinedArchives" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/ccrx/}&quot;"/>
<listOptionValue builtIn="false" value="&quot;..\..\Toppers_app\toppers_rx&quot;"/>
<listOptionValue builtIn="false" value="&quot;..\..\wolflib\Debug&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.archives.userArchiveLibraryFiles.1688435183" name="User defined archive (library) files (-l) [Only the library's name, without the &quot;lib&quot; prefix and &quot;.a&quot;extension]" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.archives.userArchiveLibraryFiles" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="wolflib"/>
<listOptionValue builtIn="false" value="asp"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkOrderList.1947372818" name="Linkage Order List" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkOrderList" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_rx/src\config_tcpudp.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\ether_callback.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\t4_driver.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\timer.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_sys_time_rx/src\r_sys_time_rx.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_pincfg\Pin.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_pincfg\r_ether_rx_pinset.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src/targets/rx72n\r_ether_setting_rx72n.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src/phy\phy.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src\r_ether_rx.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_cmt_rx/src\r_cmt_rx.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_clocks.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_init.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_interrupts.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_mapped_interrupts.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\vecttbl.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\dbsct.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\lowlvl.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\lowsrc.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\mcu_locks.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_common.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_cpu.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_interrupts.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_locking.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_mcu_startup.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_software_interrupt.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_rx_intrinsic_functions.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\reset_program.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\resetprg.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\sbrk.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/board/generic_rx72n\hwsetup.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_cg_hardware_setup.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_cgc.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_cgc_user.o&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_interrupt.o&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.additionalInputFiles.1664302687" name="Additional input files" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.additionalInputFiles" useByScannerDiscovery="false" valueType="userObjs">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/gcc/libT4_Library_ether_gcc_rxv1_little.a}&quot;"/>
</option>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker.563406141" name="Linker CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript.1311903300" name="Linker script" superClass="com.renesas.cdt.managedbuild.gcc.core.option.linker.source.linkerScript" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/src/linker_script.ld&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.cpp.archives.archiveSearchDirectories.2109836312" name="Standard archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.cpp.archives.archiveSearchDirectories" useByScannerDiscovery="false" valueType="stringList"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy.841550833" name="Objcopy" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver.866328949" name="Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize.41060151" name="Print Size" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format.584856493" name="Size Format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format" useByScannerDiscovery="false"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="generate"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="WolfSSLDemo.com.renesas.cdt.managedbuild.gcc.rx.projectType.update.1766633473" name="実行可能" projectType="com.renesas.cdt.managedbuild.gcc.rx.projectType.update"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561;com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.1706953561.;com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.295906912;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.877365152">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="HardwareDebug">
<resource resourceType="PROJECT" workspacePath="/WolfSSLDemo"/>
</configuration>
</storageModule>
</cproject>

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>WolfSSLDemo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.renesas.smc.ui.pgsupport.SCContentBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
</natures>
<variableList>
<variable>
<name>RX720_TAGERT_LOC</name>
<value>file:/D:/1204NEWREPVS/wolfssl/IDE/Renesas/e2studio/RX72N/EnvisionKit_Toppers/RenesasRX72NwithToppers/asp/target/rx72n_gcc</value>
</variable>
</variableList>
</projectDescription>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.renesas.cdt.launch.dsf.gdbremote.launchConfigurationType">
<booleanAttribute key=".setStepMode" value="false"/>
<intAttribute key="com.renesas.cdt.core.connectionTimeout" value="30"/>
<stringAttribute key="com.renesas.cdt.core.initCommands" value=""/>
<stringAttribute key="com.renesas.cdt.core.ipAddress" value="localhost"/>
<stringAttribute key="com.renesas.cdt.core.jtagDeviceId" value="com.renesas.hardwaredebug.rx.e2"/>
<booleanAttribute key="com.renesas.cdt.core.loadImage" value="true"/>
<stringAttribute key="com.renesas.cdt.core.optionInitCommands" value="monitor set_internal_mem_overwrite 0-581&#10;monitor force_rtos_off&#10;&#10;"/>
<intAttribute key="com.renesas.cdt.core.portNumber" value="61234"/>
<stringAttribute key="com.renesas.cdt.core.runCommands" value=""/>
<stringAttribute key="com.renesas.cdt.core.secondGDBExe" value="green_dsp-elf-gdb"/>
<intAttribute key="com.renesas.cdt.core.secondGdbPortNumber" value="61237"/>
<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E2LITE -t R5F572ND -uConnectionTimeout= 30 -uClockSrcHoco= 1 -uAllowClockSourceInternal= 1 -uUseFine= 0 -uJTagClockFreq= &quot;6.00&quot; -w 1 -z &quot;0&quot; -uRegisterSetting= &quot;0&quot; -uModePin= &quot;0&quot; -uChangeStartupBank= 0 -uStartupBank= &quot;0&quot; -uDebugMode= &quot;0&quot; -uExecuteProgram= 0 -uIdCode= &quot;FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&quot; -uresetOnReload= 1 -n 0 -uWorkRamAddress= &quot;1000&quot; -uverifyOnWritingMemory= 0 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uhookWorkRamAddr= &quot;0x7fb40&quot; -uhookWorkRamSize= &quot;0x4c0&quot; -uOSRestriction= 0"/>
<booleanAttribute key="com.renesas.cdt.core.setResume" value="true"/>
<booleanAttribute key="com.renesas.cdt.core.setStopAt" value="true"/>
<stringAttribute key="com.renesas.cdt.core.stopAt" value="main"/>
<stringAttribute key="com.renesas.cdt.core.targetDevice" value="R5F572ND"/>
<booleanAttribute key="com.renesas.cdt.core.useRemoteTarget" value="true"/>
<stringAttribute key="com.renesas.cdt.launch.dsf.IO_MAP" value="${support_area_loc}"/>
<booleanAttribute key="com.renesas.cdt.launch.dsf.USE_DEFAULT_IO_MAP" value="true"/>
<stringAttribute key="com.renesas.cdt.launch.dsf.launchSeqType" value="com.renesas.cdt.launch.dsf.launchSequence.e2GdbServer"/>
<stringAttribute key="com.renesas.cdt.launch.dsf.serverPath" value="${renesas.support.targetLoc:rx-debug}\e2-server-gdb"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2.E2LiteDebugToolSettingsTree.resetAfterReload" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.allow.change.startup_bank" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.allow.clock.source.internal" value="true"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.clock_source" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.connection.mode" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.e2lite_pwr" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.enable.hot.plug" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.enable_external_flash" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.execute.program" value="false"/>
<listAttribute key="com.renesas.hardwaredebug.rx.e2lite.ext_flash_definitions"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.fine.baud.rate" value="1.50"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_Stop_func" value="0x0"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_enable_Stop" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_enable_start" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_start_func" value="0x0"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_work_ram_Addr" value="523072"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.hook_work_ram_Size" value="1216"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.id_code" value="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.inputclock" value="16"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.jtag.clock.freq" value="6.00"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.jtag.or.fine" value="1"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.le" value="true"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.mode" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.mode_pin" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.prog_rewrite_dflash" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.prog_rewrite_irom" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.rtosIntegrationInDebugView" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.rtosintegrationthreadsrunning" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.serial_number" value=""/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.startup_bank" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.supply.voltage" value="3.3"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.timer_clock" value="240000000"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.verify.on.writing.to.memory" value="false"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.work_ram_start" value="4096"/>
<booleanAttribute key="com.renesas.hardwaredebug.timemeasurement" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useProjBinaryForSymbols" value="true"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="rx-elf-gdb -rx-force-isa=v3 -rx-force-double-fpu"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="HardwareDebug/WolfSSLDemo.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="WolfSSLDemo"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.32976927"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/WolfSSLDemo"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;"/>
<stringAttribute key="process_factory_id" value="org.eclipse.cdt.dsf.gdb.GdbProcessFactory"/>
</launchConfiguration>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,147 @@
diff -cr --new-file src/smc_gen/r_bsp/mcu/all/resetprg.c src/smc_gen_A0/r_bsp/mcu/all/resetprg.c
*** src/smc_gen/r_bsp/mcu/all/resetprg.c Tue Dec 13 14:52:54 2022
--- src/smc_gen_A0/r_bsp/mcu/all/resetprg.c Tue Dec 13 14:57:16 2022
***************
*** 158,164 ****
R_BSP_POR_FUNCTION(R_BSP_STARTUP_FUNCTION);
/* Main program function declaration */
! #if (BSP_CFG_RTOS_USED == 0) || (BSP_CFG_RTOS_USED == 5) /* Non-OS or Azure RTOS */
extern void R_BSP_MAIN_FUNCTION(void);
#endif
--- 158,164 ----
R_BSP_POR_FUNCTION(R_BSP_STARTUP_FUNCTION);
/* Main program function declaration */
! #if (BSP_CFG_RTOS_USED == 0) || (BSP_CFG_RTOS_USED == 5) || (BSP_CFG_RTOS_USED == 4) /* Non-OS or Azure RTOS */
extern void R_BSP_MAIN_FUNCTION(void);
#endif
***************
*** 200,214 ****
* and constructors of C++ objects have not been executed until the _INITSCT() is executed. */
#if defined(__GNUC__)
#if BSP_CFG_USER_STACK_ENABLE == 1
! INTERNAL_NOT_USED(ustack_area);
#endif
! INTERNAL_NOT_USED(istack_area);
#endif
#if defined(__CCRX__) || defined(__GNUC__)
/* Initialize the Interrupt Table Register */
! R_BSP_SET_INTB(R_BSP_SECTOP_INTVECTTBL);
#ifdef BSP_MCU_EXCEPTION_TABLE
/* Initialize the Exception Table Register */
--- 200,214 ----
* and constructors of C++ objects have not been executed until the _INITSCT() is executed. */
#if defined(__GNUC__)
#if BSP_CFG_USER_STACK_ENABLE == 1
! // INTERNAL_NOT_USED(ustack_area);
#endif
! // INTERNAL_NOT_USED(istack_area);
#endif
#if defined(__CCRX__) || defined(__GNUC__)
/* Initialize the Interrupt Table Register */
! // R_BSP_SET_INTB(R_BSP_SECTOP_INTVECTTBL);
#ifdef BSP_MCU_EXCEPTION_TABLE
/* Initialize the Exception Table Register */
***************
*** 275,281 ****
#endif
/* Initialize MCU interrupt callbacks. */
! bsp_interrupt_open();
/* Initialize register protection functionality. */
bsp_register_protect_open();
--- 275,281 ----
#endif
/* Initialize MCU interrupt callbacks. */
! // bsp_interrupt_open();
/* Initialize register protection functionality. */
bsp_register_protect_open();
***************
*** 302,308 ****
/* Enable the bus error interrupt to catch accesses to illegal/reserved areas of memory */
R_BSP_InterruptControl(BSP_INT_SRC_BUS_ERROR, BSP_INT_CMD_INTERRUPT_ENABLE, FIT_NO_PTR);
! #if (BSP_CFG_RTOS_USED == 0) || (BSP_CFG_RTOS_USED == 5) /* Non-OS or Azure RTOS */
/* Call the main program function (should not return) */
R_BSP_MAIN_FUNCTION();
#elif BSP_CFG_RTOS_USED == 1 /* FreeRTOS */
--- 302,308 ----
/* Enable the bus error interrupt to catch accesses to illegal/reserved areas of memory */
R_BSP_InterruptControl(BSP_INT_SRC_BUS_ERROR, BSP_INT_CMD_INTERRUPT_ENABLE, FIT_NO_PTR);
! #if (BSP_CFG_RTOS_USED == 0) || (BSP_CFG_RTOS_USED == 5) || (BSP_CFG_RTOS_USED == 4) /* Non-OS or Azure RTOS */
/* Call the main program function (should not return) */
R_BSP_MAIN_FUNCTION();
#elif BSP_CFG_RTOS_USED == 1 /* FreeRTOS */
diff -cr --new-file src/smc_gen/r_config/r_bsp_config.h src/smc_gen_A0/r_config/r_bsp_config.h
*** src/smc_gen/r_config/r_bsp_config.h Tue Dec 13 14:52:56 2022
--- src/smc_gen_A0/r_config/r_bsp_config.h Tue Dec 13 14:57:16 2022
***************
*** 667,673 ****
4 = Renesas ITRON OS (RI600V4 or RI600PX) is used.
5 = Azure RTOS is used.(This is not available.)
*/
! #define BSP_CFG_RTOS_USED (0)
/* This macro is used to select which Renesas ITRON OS.
0 = RI600V4 is used.
--- 667,673 ----
4 = Renesas ITRON OS (RI600V4 or RI600PX) is used.
5 = Azure RTOS is used.(This is not available.)
*/
! #define BSP_CFG_RTOS_USED (4)
/* This macro is used to select which Renesas ITRON OS.
0 = RI600V4 is used.
diff -cr --new-file src/smc_gen/r_config/r_cmt_rx_config.h src/smc_gen_A0/r_config/r_cmt_rx_config.h
*** src/smc_gen/r_config/r_cmt_rx_config.h Tue Dec 13 14:52:55 2022
--- src/smc_gen_A0/r_config/r_cmt_rx_config.h Tue Dec 13 14:57:16 2022
***************
*** 37,43 ****
#define CMT_RX_CFG_IPR (5)
#if (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == 0) /* RI600V4 */
! #define _RI_TRACE_TIMER 1 /* RI600V4 uses CMT1 channel for the trace feature.*/
#elif (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == 1) /* RI600PX */
#include "r_bsp_config.h"
#define _RI_TRACE_TIMER BSP_CFG_RTOS_SYSTEM_TIMER /* RI600PX does not actually have the trace feature.*/
--- 37,43 ----
#define CMT_RX_CFG_IPR (5)
#if (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == 0) /* RI600V4 */
! #define _RI_TRACE_TIMER 0 /* RI600V4 uses CMT1 channel for the trace feature.*/
#elif (BSP_CFG_RTOS_USED == 4) && (BSP_CFG_RENESAS_RTOS_USED == 1) /* RI600PX */
#include "r_bsp_config.h"
#define _RI_TRACE_TIMER BSP_CFG_RTOS_SYSTEM_TIMER /* RI600PX does not actually have the trace feature.*/
diff -cr --new-file src/smc_gen/r_t4_driver_rx/src/t4_driver.c src/smc_gen_A0/r_t4_driver_rx/src/t4_driver.c
*** src/smc_gen/r_t4_driver_rx/src/t4_driver.c Tue Dec 13 15:19:38 2022
--- src/smc_gen_A0/r_t4_driver_rx/src/t4_driver.c Tue Dec 13 14:57:17 2022
***************
*** 70,76 ****
#include "r_tsip_rx_if.h"
#elif (defined BSP_MCU_RX72M || defined BSP_MCU_RX72N || defined BSP_MCU_RX66N) && \
(BSP_CFG_MCU_PART_FUNCTION == 0x11 /* H */)
! #include "r_tsip_rx_if.h"
#else
#warning "Your MCU does not support TSIP functions. It is better to use RX Family that support TSIP functions for more security. Vulnerability reference: https://www.ipa.go.jp/security/rfc/RFC1948EN.html"
#endif /* defined BSP_MCU_RX231 || defined BSP_MCU_RX23W && BSP_CFG_MCU_PART_VERSION == 0xB */
--- 70,76 ----
#include "r_tsip_rx_if.h"
#elif (defined BSP_MCU_RX72M || defined BSP_MCU_RX72N || defined BSP_MCU_RX66N) && \
(BSP_CFG_MCU_PART_FUNCTION == 0x11 /* H */)
! //#include "r_tsip_rx_if.h"
#else
#warning "Your MCU does not support TSIP functions. It is better to use RX Family that support TSIP functions for more security. Vulnerability reference: https://www.ipa.go.jp/security/rfc/RFC1948EN.html"
#endif /* defined BSP_MCU_RX231 || defined BSP_MCU_RX23W && BSP_CFG_MCU_PART_VERSION == 0xB */

View File

@ -0,0 +1,196 @@
MEMORY
{
RAM : ORIGIN = 0x4, LENGTH = 0x7fffc
RAM2 : ORIGIN = 0x00800000, LENGTH = 524288
ROM : ORIGIN = 0xFFE00000, LENGTH = 2097152
OFS : ORIGIN = 0xFE7F5D00, LENGTH = 128
}
SECTIONS
{
.exvectors 0xFFFFFF80: AT(0xFFFFFF80)
{
"_exvectors_start" = .;
KEEP(*(.exvectors))
"_exvectors_end" = .;
} >ROM
.fvectors 0xFFFFFFFC: AT(0xFFFFFFFC)
{
KEEP(*(.fvectors))
} > ROM
.text 0xFFE00000: AT(0xFFE00000)
{
*(.text)
*(.text.*)
*(P)
etext = .;
} > ROM
.rvectors ALIGN(4):
{
_rvectors_start = .;
_rvectors_end = .;
} > ROM
.init :
{
KEEP(*(.init))
__preinit_array_start = .;
KEEP(*(.preinit_array))
__preinit_array_end = .;
__init_array_start = (. + 3) & ~ 3;
KEEP(*(.init_array))
KEEP(*(SORT(.init_array.*)))
__init_array_end = .;
__fini_array_start = .;
KEEP(*(.fini_array))
KEEP(*(SORT(.fini_array.*)))
__fini_array_end = .;
} > ROM
.fini :
{
KEEP(*(.fini))
} > ROM
.got :
{
*(.got)
*(.got.plt)
} > ROM
.rodata :
{
*(.rodata)
*(.rodata.*)
*(C_1)
*(C_2)
*(C)
*(C$VECT)
_erodata = .;
} > ROM
gcc_exceptions_table :
{
KEEP (*(.gcc_except_table))
*(.gcc_except_table.*)
} > ROM
.eh_frame_hdr :
{
*(.eh_frame_hdr)
} > ROM
.eh_frame :
{
*(.eh_frame)
} > ROM
.jcr :
{
*(.jcr)
} > ROM
.tors :
{
__CTOR_LIST__ = .;
. = ALIGN(2);
___ctors = .;
*(.ctors)
___ctors_end = .;
__CTOR_END__ = .;
__DTOR_LIST__ = .;
___dtors = .;
*(.dtors)
___dtors_end = .;
__DTOR_END__ = .;
. = ALIGN(2);
_mdata = .;
} > ROM
.data : AT(_mdata)
{
_data = .;
*(.data)
*(.data.*)
*(D)
*(D_1)
*(D_2)
_edata = .;
} > RAM
.B_TX_DESC_1 : ALIGN(16)
{
*(B_TX_DESC_1)
}> RAM
.B_RX_DESC_1 : ALIGN(16)
{
*(B_RX_DESC_1)
}> RAM
.B_ETHERNET_BUFFERS_1 : ALIGN(32)
{
*(B_ETHERNET_BUFFERS_1)
}> RAM
.bss : ALIGN(128)
{
_bss = .;
*(.bss)
*(.bss.**)
*(COMMON)
*(B)
*(B_1)
*(B_2)
_ebss = .;
. = ALIGN(128);
_end = .;
} > RAM
.ofs1 0xFE7F5D00: AT(0xFE7F5D00)
{
KEEP(*(.ofs1))
} > OFS
.ofs2 0xFE7F5D10: AT(0xFE7F5D10)
{
KEEP(*(.ofs2))
} > OFS
.ofs3 0xFE7F5D20: AT(0xFE7F5D20)
{
KEEP(*(.ofs3))
} > OFS
.ofs4 0xFE7F5D40: AT(0xFE7F5D40)
{
KEEP(*(.ofs4))
} > OFS
.ofs5 0xFE7F5D48: AT(0xFE7F5D48)
{
KEEP(*(.ofs5))
} > OFS
.ofs6 0xFE7F5D50: AT(0xFE7F5D50)
{
KEEP(*(.ofs6))
} > OFS
.ofs7 0xFE7F5D64: AT(0xFE7F5D64)
{
KEEP(*(.ofs7))
} > OFS
.ofs8 0xFE7F5D70: AT(0xFE7F5D70)
{
KEEP(*(.ofs8))
} > OFS
.r_bsp_NULL :
{
. += 0x100;
"_r_bsp_NULL_end" = .;
} >RAM
.r_bsp_istack BLOCK(0x4) (NOLOAD) :
{
KEEP(*(.r_bsp_istack))
} >RAM
.istack :
{
"_istack" = .;
} >RAM
.r_bsp_ustack BLOCK(0x4) (NOLOAD) :
{
KEEP(*(.r_bsp_ustack))
} >RAM
.ustack :
{
"_ustack" = .;
} >RAM
}

View File

@ -0,0 +1,39 @@
/* kernel.h
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifndef KERNEL_H
#define KERNEL_H
#include "r_t4_itcpip.h"
extern ER get_tid(ID *p_tskid);
extern ER slp_tsk(void) ;
extern bool sns_ctx(void);
extern ER iwup_tsk(ID tskid);
extern ER wup_tsk(ID tskid) ;
extern ER iwup_tsk(ID tskid) ;
extern ER rot_rdq(PRI tskpri);
extern ER dly_tsk(UW) ;
#define TPRI_SELF 0
#define _RI_CLOCK_TIMER (0)
#ifndef TRUE
#define TRUE true
#endif
#endif /* KERNEL_H */

View File

@ -0,0 +1,21 @@
/* kernel_id.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/* Dummy file bsp */

View File

@ -0,0 +1,21 @@
/* kernel_ram.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/* Dummy file bsp */

View File

@ -0,0 +1,21 @@
/* kernel_rom.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/* Dummy file bsp */

View File

@ -0,0 +1,21 @@
/* ri_cmt.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/* Dummy file bsp */

View File

@ -0,0 +1,26 @@
/* strings.h
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifndef _STRING_H
#define _STRING_H
int strncasecmp(const char *s1, const char * s2, unsigned int sz);
#endif

View File

@ -0,0 +1,22 @@
/* unistd.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/* DUMMY Header */

View File

@ -0,0 +1,83 @@
/* user_settings.h
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifndef USER_SETTINGS_H
#define USER_SETTINGS_H
#define NO_MAIN_DRIVER
#define BENCH_EMBEDDED
#define NO_WRITEV
#define NO_DEV_RANDOM
#define USE_CERT_BUFFERS_2048
#define SIZEOF_LONG_LONG 8
#define NO_WOLFSSL_DIR
#define WOLFSSL_NO_CURRDIR
#define WOLFSSL_LOG_PRINTF
#define NO_WOLFSSL_STUB
#define NO_DYNAMIC_ARRAY /* for compilers not allowed dynamic size array */
#define WOLFSSL_SMALL_STACK
#define WOLFSSL_DH_CONST
#define NO_ERROR_QUEUE
#define WOLFSSL_NO_VALIABLE_ARG
#define TFM_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#define WC_RSA_BLINDING
#define HAVE_TLS_EXTENSIONS
#define HAVE_SUPPORTED_CURVES
#define WOLFSSL_USER_IO
#define XTIME time
#define USE_WOLF_SUSECONDS_T
#define WOLFSSL_USER_CURRTIME /* for benchmark */
#define WOLFSSL_GENSEED_FORTEST /* Warning: define your own seed gen */
#define SINGLE_THREADED /* or define RTOS option */
/*#define WOLFSSL_CMSIS_RTOS */
/* #define NO_DH */
#define NO_RC4
#define HAVE_AESGCM
#define WOLFSSL_SHA512
#define WOLFSSL_SHA384
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define NO_OLD_SHA256_NAMES
#define HAVE_CRL
#define HAVE_OCSP
#define HAVE_CERTIFICATE_STATUS_REQUEST
#define NO_FILESYSTEM
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_FFDHE_2048
#define WOLFSSL_TLS13
#endif

View File

@ -0,0 +1,237 @@
/* wolf_client.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <stdio.h>
#include <string.h>
#include "r_t4_itcpip.h"
#include "wolfssl/certs_test.h"
#include "wolf_demo.h"
ER t4_tcp_callback(ID cepid, FN fncd , VP p_parblk);
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid = 0;
if (ctx != NULL)
cepid = *(ID *)ctx;
else
return WOLFSSL_CBIO_ERR_GENERAL;
ret = tcp_rcv_dat(cepid, buff, sz, TMO_FEVR);
if (ret > 0)
return ret;
else
return WOLFSSL_CBIO_ERR_GENERAL;
}
static int my_IOSend(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid = 0 ;
if (ctx != NULL)
cepid = *(ID *)ctx;
else
return WOLFSSL_CBIO_ERR_GENERAL;
ret = tcp_snd_dat(cepid, buff, sz, TMO_FEVR);
if (ret == sz)
return ret;
else
return WOLFSSL_CBIO_ERR_GENERAL;
}
static int getIPaddr(char *arg)
{
int a1, a2, a3, a4;
if (sscanf(arg, "%d.%d.%d.%d", &a1, &a2, &a3, &a4) == 4)
return (a1 << 24) | (a2 << 16) | (a3 << 8) | a4;
else
return 0;
}
WOLFSSL_CTX *wolfSSL_TLS_client_init(void)
{
WOLFSSL_CTX* ctx;
#ifndef NO_FILESYSTEM
#ifdef USE_ECC_CERT
char *cert = "./certs/ca-ecc-cert.pem";
#else
char *cert = "./certs/ca-cert.pem";
#endif
#else
#ifdef USE_ECC_CERT
const unsigned char *cert = ca_ecc_der_256;
#define SIZEOF_CERT sizeof_ca_ecc_der_256
#else
const unsigned char *cert = ca_cert_der_2048;
#define SIZEOF_CERT sizeof_ca_cert_der_2048
#endif
#endif
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* Create and initialize WOLFSSL_CTX */
#ifdef WOLFSSL_TLS13
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_3_client_method_ex((void *)NULL))) == NULL)
#else
if ((ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method_ex((void *)NULL))) == NULL)
#endif
{
printf("ERROR: failed to create WOLFSSL_CTX\n");
return NULL;
}
#if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_locations(ctx, cert, 0) != WOLFSSL_SUCCESS) {
printf("ERROR: can't load \"%s\"\n", cert);
return NULL;
}
#else
if (wolfSSL_CTX_load_verify_buffer(ctx, cert, SIZEOF_CERT, WOLFSSL_FILETYPE_ASN1) != WOLFSSL_SUCCESS){
printf("ERROR: can't load certificate data\n");
return NULL;
}
#endif
/* Register callbacks */
wolfSSL_SetIORecv(ctx, my_IORecv);
wolfSSL_SetIOSend(ctx, my_IOSend);
return (void *)ctx;
}
int wolfSSL_TLS_client(void *v_ctx, func_args *args)
{
ID cepid = 3; /* Not used ID 3 Used */
ER ercd;
int ret = 0;
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)v_ctx;
WOLFSSL *ssl;
#define BUFF_SIZE 256
static const char sendBuff[]= "Hello Server\n" ;
char rcvBuff[BUFF_SIZE] = {0};
static T_IPV4EP my_addr = { 0, 0 };
T_IPV4EP dst_addr;
dst_addr.ipaddr = getIPaddr(SERVER_IP);
dst_addr.portno = SERVER_PortNo;
if ((ercd = tcp_con_cep(cepid, &my_addr, &dst_addr, TMO_FEVR)) != E_OK) {
printf("ERROR TCP Connect: %d\n", ercd);
ret = -1;
goto exit_;
}
if ((ssl = wolfSSL_new(ctx)) == NULL) {
printf("ERROR wolfSSL_new: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
goto exit_;
}
/* set client certificate */
#if defined(USE_ECC_CERT)
if (ret == 0) {
ret = wolfSSL_use_certificate_buffer(ssl,
cliecc_cert_der_256,
sizeof_cliecc_cert_der_256,
WOLFSSL_FILETYPE_ASN1);
if(err != SSL_SUCCESS) {
printf("ERROR: can't load client-certificate\n");
ret = -1;
goto exit_;
}
}
#else
ret = wolfSSL_use_certificate_buffer(ssl,
client_cert_der_2048,
sizeof_client_cert_der_2048,
WOLFSSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
printf("ERROR: can't load client-certificate\n");
ret = -1;
goto exit_;
}
#endif /* USE_ECC_CERT */
#if defined(USE_ECC_CERT)
ret = wolfSSL_use_PrivateKey_buffer(ssl,
ecc_clikey_der_256,
sizeof_ecc_clikey_der_256,
WOLFSSL_FILETYPE_ASN1);
if (ret) {
printf("ERROR wolfSSL_use_PrivateKey_buffer: %d\n",
wolfSSL_get_error(ssl, 0));
ret = -1;
goto exit_;
}
#else
ret = wolfSSL_use_PrivateKey_buffer(ssl, client_key_der_2048,
sizeof_client_key_der_2048, WOLFSSL_FILETYPE_ASN1);
if (ret != SSL_SUCCESS) {
printf("ERROR wolfSSL_use_PrivateKey_buffer: %d\n",
wolfSSL_get_error(ssl, 0));
ret = -1;
goto exit_;
}
#endif /* USE_ECC_CERT */
/* set callback context */
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
if ((ret = wolfSSL_connect(ssl)) != WOLFSSL_SUCCESS) {
printf("ERROR SSL connect: %d\n", wolfSSL_get_error(ssl, 0));
goto exit_;
}
if ((ret = wolfSSL_write(ssl, sendBuff, strlen(sendBuff)))
!= strlen(sendBuff)) {
printf("ERROR SSL write: %d\n", wolfSSL_get_error(ssl, 0));
goto exit_;
}
if ((ret = wolfSSL_read(ssl, rcvBuff, BUFF_SIZE)) < 0) {
printf("ERROR SSL read: %d\n", wolfSSL_get_error(ssl, 0));
goto exit_;
}
ret = (ret >= BUFF_SIZE) ? BUFF_SIZE - 1 : ret ;
rcvBuff[ret] = '\0' ;
printf("Received: %s\n", rcvBuff);
ret = 0;
exit_:
/* frees all data before client termination */
if (ssl) {
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
ssl = NULL;
}
tcp_sht_cep(cepid);
tcp_cls_cep(cepid, TMO_FEVR);
return ret;
}

View File

@ -0,0 +1,81 @@
/* wolf_console.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#include "wolfssl/wolfcrypt/settings.h"
#include "wolfssl/ssl.h"
#include <stdio.h>
#include <stdint.h>
#include <r_t4_itcpip.h>
#include "wolf_demo.h"
extern int wolfSSL_TLS_server(void *v_ctx, func_args *args);
extern int wolfSSL_TLS_client(void *v_ctx, func_args *args);
static WOLFSSL_CTX *wolfSSL_sv_ctx;
static WOLFSSL_CTX *wolfSSL_cl_ctx;
static long tick;
void timeTick(void *pdata)
{
tick++;
}
#define FREQ 10000 /* Hz */
double current_time(int reset)
{
if (reset)
tick = 0 ;
return ((double)tick/FREQ) ;
}
int wolfSSL_TLS_client_Wrapper(void) {
func_args args = {0};
int ret = 0;
wolfSSL_cl_ctx = wolfSSL_TLS_client_init();
if(wolfSSL_cl_ctx == NULL) {
printf("wolfSSL client initialization failure\n");
return E_SYS;
}
printf("Start TLS Client\n");
ret = wolfSSL_TLS_client(wolfSSL_cl_ctx, &args);
wolfSSL_CTX_free(wolfSSL_cl_ctx);
wolfSSL_Cleanup();
return ret;
}
int wolfSSL_TLS_server_Wrapper(void) {
func_args args = {0};
int ret = 0;
wolfSSL_sv_ctx = wolfSSL_TLS_server_init();
if(wolfSSL_sv_ctx == NULL) {
printf("wolfSSL server initialization failure\n");
return E_SYS;
}
printf("Start TLS Server\n");
ret = wolfSSL_TLS_server(wolfSSL_sv_ctx, &args);
wolfSSL_CTX_free(wolfSSL_sv_ctx);
wolfSSL_Cleanup();
return ret;
}

View File

@ -0,0 +1,62 @@
/* wolf_demo.h
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifndef WOLFDEMO_H_
#define WOLFDEMO_H_
//#define WOLFCRYPT_TEST
//#define WOLF_BENCHMARK
#define WOLFSSL_CLIENT_TEST
//#define WOLFSSL_SERVER_TEST
#if defined(WOLFSSL_CLIENT_TEST) || \
defined(WOLFSSL_SERVER_TEST)
#define ETHER_TASK
#endif
#if defined(WOLFSSL_CLIENT_TEST) && \
defined(WOLFSSL_SERVER_TEST)
#error "Only one of Client or Server can be set."
#endif
typedef struct func_args
{
int argc;
char **argv;
int return_code;
} func_args;
struct WOLFSSL_CTX;
void wolfSSL_init(void) ;
int wolfCrypt_Init(void);
int wolfCrypt_Cleanup(void);
struct WOLFSSL_CTX *wolfSSL_TLS_server_init(void);
struct WOLFSSL_CTX *wolfSSL_TLS_client_init(void);
void benchmark_test(void *args);
void wolfcrypt_test(void *args);
int wolfSSL_TLS_client(void *ctx, func_args *args);
int wolfSSL_TLS_server(void *ctx, func_args *args);
#define SERVER_IP "192.168.11.38"
#define SERVER_PortNo (11111)
#endif /* WOLFDEMO_H_ */

View File

@ -0,0 +1,288 @@
/* wolf_main.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#include <string.h>
#include <wolf_main.h>
#include "r_sys_time_rx_if.h"
#include "r_cmt_rx_if.h"
#include "Pin.h"
#include "r_t4_itcpip.h"
#include "wolf_demo.h"
extern const UB _t4_dhcp_enable;
static int dhcp_accept_flg = 0;
static UW tcpudp_work[14800] = {0};
UB dhcp_evt = 0;
void dhcp_check(void);
void print_dhcp(VP param);
#define DHCP_ENABEL (1)
#define IF_CH_NUMBER (0)
void main(void)
{
/*Toppers start function */
startw();
}
void timer_int_Wrapper(void)
{
#ifndef ETHER_TASK
cmt1_isr();
#endif
}
void timer_cm2_int_Wrapper(void)
{
int du = 0;
timeTick((void *)&du);
}
extern bool sns_ctx(void);
void ether_int_Wrapper(void)
{
R_BSP_InterruptControl(BSP_INT_SRC_AL1_EDMAC0_EINT0, BSP_INT_CMD_CALL_CALLBACK, FIT_NO_PTR);
}
void taskEther(intptr_t exinf)
{
int dhcp_cnt = 0;
bool flg = false;
while(1) {
if (flg == false) {
waisem_ether_wrapper();
flg = true;
}
dhcp_check();
dly_tsk(1);
}
}
/* DHCP Reset Event Check */
void dhcp_check(void)
{
if (DHCP_ENABEL == _t4_dhcp_enable && dhcp_evt == DHCP_EV_PLEASE_RESET) {
tcpudp_reset(IF_CH_NUMBER);
dhcp_evt = 0;
}
return;
}
void taskNetWork(intptr_t exinf)
{
UB ctl = 0;
UW i = 0;
while(1) {
if (!(i % 10)) {
ctl = ctl ? 0 : 1;
}
LED_CTL(ctl)
i++;
#ifdef ETHER_TASK
cmt1_isr();
#endif
dly_tsk(1);
}
}
#define FREQ 10000 /* Hz */
extern void timeTick(void *pdata);
void taskDemoWolf(intptr_t exinf)
{
int ret;
#if defined(WOLFCRYPT_TEST)
func_args args = { 0 };
#endif
uint32_t channel = 0;
printf("Start WolfSSL Demo !!\n");
#if defined(WOLFSSL_SERVER_TEST) || \
defined(WOLFSSL_CLIENT_TEST)
if (!init_ether())
return ;
#endif
R_CMT_CreatePeriodic(FREQ, &timeTick, &channel);
ICU.SLIBXR128.BYTE = 1; /* select B */
sigsem_ether_wrapper();
while(1) {
dly_tsk(10);
#if defined(WOLFCRYPT_TEST)
if ((ret = wolfCrypt_Init()) != 0) {
printf(" wolfCrypt_Init failed %d\n", ret);
}
printf("\n");
printf("\n Start wolfCrypt Test\n");
wolfcrypt_test((void*)&args);
printf(" End wolfCrypt Test\n");
if ((ret = wolfCrypt_Cleanup()) != 0) {
printf("wolfCrypt_Cleanup failed %d\n", ret);
}
break;
#elif defined(WOLF_BENCHMARK)
printf(" Start wolfCrypt Benchmark\n");
benchmark_test(NULL);
printf(" End wolfCrypt Benchmark\n");
break;
#elif defined(WOLFSSL_SERVER_TEST) || \
defined(WOLFSSL_CLIENT_TEST)
if (dhcp_accept_flg == 1) {
dly_tsk(100);
#if defined(WOLFSSL_SERVER_TEST)
if((ret = wolfSSL_TLS_server_Wrapper()) != 0) {
printf("wolfSSL server failure end of process(%d)\n", ret);
break;
}
#elif defined(WOLFSSL_CLIENT_TEST)
if((ret = wolfSSL_TLS_client_Wrapper()) != 0) {
printf("wolfSSL client failure end of process(%d)\n", ret);
break;
}
#endif
}
#endif
}
}
bool init_ether(void)
{
ER ercd;
W size;
sys_time_err_t systime_ercd;
systime_ercd = R_SYS_TIME_Open();
if (systime_ercd != SYS_TIME_SUCCESS) {
printf("init_ether R_SYS_TIME_Open Error%d \n",systime_ercd);
return false;
}
R_Pins_Create();
ercd = lan_open();
if (ercd != E_OK) {
printf("lan_open Error%d \n",ercd);
return false;
}
size = tcpudp_get_ramsize();
if (size > (sizeof(tcpudp_work))) {
printf("tcpudp_get_ramsize size over %d \n",size);
return false;
}
ercd = tcpudp_open(tcpudp_work);
if (ercd != E_OK) {
printf("tcpudp_open Open Error %d \n",ercd);
return false;
}
return true;
}
void print_dhcp(VP param)
{
DHCP* dhcp_data = (DHCP*)param;
printf("Accept DHCP.ipaddr[4] %d.%d.%d.%d\n",dhcp_data->ipaddr[0], dhcp_data->ipaddr[1],
dhcp_data->ipaddr[2], dhcp_data->ipaddr[3]);
printf("Accept DHCP.maskaddr[4] %d.%d.%d.%d\n",dhcp_data->maskaddr[0], dhcp_data->maskaddr[1],
dhcp_data->maskaddr[2], dhcp_data->maskaddr[3]);
printf("Accept DHCP.gwaddr[4] %d.%d.%d.%d\n",dhcp_data->gwaddr[0], dhcp_data->gwaddr[1],
dhcp_data->gwaddr[2], dhcp_data->gwaddr[3]);
printf("Accept DHCP.dnsaddr[4] %d.%d.%d.%d\n",dhcp_data->dnsaddr[0], dhcp_data->dnsaddr[1],
dhcp_data->dnsaddr[2], dhcp_data->dnsaddr[3]);
printf("Accept DHCP.dnsaddr2[4] %d.%d.%d.%d\n",dhcp_data->dnsaddr2[0], dhcp_data->dnsaddr2[1],
dhcp_data->dnsaddr2[2], dhcp_data->dnsaddr2[3]);
printf("Accept DHCP.macaddr[6] %02X:%02X:%02X:%02X:%02X:%02X\n",dhcp_data->macaddr[0], dhcp_data->macaddr[1], dhcp_data->macaddr[2],
dhcp_data->macaddr[3], dhcp_data->macaddr[4], dhcp_data->macaddr[5]);
printf("Accept DHCP.domain[%d] %s\n", strlen(dhcp_data->domain), dhcp_data->domain);
printf("\n");
return;
}
ER system_callback(UB channel, UW eventid, VP param)
{
debug_print("Network callback accept channel=%d,EventNo=%d \n",channel,eventid);
dhcp_evt = eventid;
switch(eventid) {
case ETHER_EV_LINK_OFF:
{
debug_print("DHCP Event Accept ETHER_EV_LINK_OFF\n");
}
break;
case ETHER_EV_LINK_ON:
{
debug_print("DHCP Event Accept ETHER_EV_LINK_ON\n");
}
break;
case ETHER_EV_COLLISION_IP:
{
debug_print("DHCP Event Accept ETHER_EV_COLLISION_IP\n");
}
break;
case DHCP_EV_LEASE_IP:
{
debug_print("DHCP Event Accept DHCP_EV_LEASE_IP\n");
print_dhcp(param);
dhcp_accept_flg = 1;
}
break;
case DHCP_EV_LEASE_OVER:
{
debug_print("DHCP Event Accept DHCP_EV_LEASE_OVER\n");
}
break;
case DHCP_EV_INIT:
{
debug_print("DHCP Event Accept DHCP_EV_INIT\n");
}
break;
case DHCP_EV_INIT_REBOOT:
{
debug_print("DHCP Event Accept DHCP_EV_INIT_REBOOT\n");
}
break;
case DHCP_EV_APIPA:
{
debug_print("DHCP Event Accept DHCP_EV_LEASE_IP\n");
print_dhcp(param);
dhcp_accept_flg = 1;
}
break;
case DHCP_EV_NAK:
{
debug_print("DHCP Event Accept DHCP_EV_NAK\n");
}
break;
case DHCP_EV_FATAL_ERROR:
{
debug_print("DHCP Event Accept DHCP_EV_FATAL_ERROR\n");
}
break;
case DHCP_EV_PLEASE_RESET:
{
debug_print("DHCP Event Accept DHCP_EV_PLEASE_RESET\n");
}
break;
default:
{
debug_print("DHCP Event Accept undefined\n");
}
break;
}
return 0;
}

View File

@ -0,0 +1,61 @@
/* wolf_main.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifndef WOLFSSLDEMO_H_
#define WOLFSSLDEMO_H_
#include "r_sys_time_rx_if.h"
#include "r_cmt_rx_if.h"
#include "Pin.h"
#include "r_t4_itcpip.h"
//#define DEBUG_PRINT
#if defined(DEBUG_PRINT)
#define debug_print(...) printf(__VA_ARGS__)
#else
#define debug_print(...)
#endif
void main(void);
bool init_ether(void);
/******************************************************************************
Typedef definitions
******************************************************************************/
extern ER dly_tsk(UW) ;
extern void dhcp_check(void);
extern void print_dhcp(VP param);
extern void startw(void);
extern void waisem_ether_wrapper(void);
extern void sigsem_ether_wrapper(void);
extern void timer_interrupt(void *pdata);
extern void cmt_isr_common2 (uint32_t channel);
extern ER wolfSSL_TLS_client_Wrapper(void) ;
extern ER wolfSSL_TLS_server_Wrapper(void) ;
extern void timeTick(void *pdata);
extern void cmt1_isr (void);
#define LED_CTL(x) \
PORT4.PODR.BYTE = x; \
PORT4.PDR.BYTE = 0x01;
#endif /* WOLFSSLDEMO_H_ */

View File

@ -0,0 +1,202 @@
/* wolf_server.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <stdio.h>
#include <string.h>
#include "r_t4_itcpip.h"
#include "r_ether_rx_if.h"
#include "r_sys_time_rx_if.h"
#include "r_t4_rx_config.h"
#include "wolfssl/certs_test.h"
#include "wolf_demo.h"
#include "wolf_main.h"
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid = 0;
if (ctx != NULL)
cepid = *(ID *)ctx;
else
return WOLFSSL_CBIO_ERR_GENERAL;
ret = tcp_rcv_dat(cepid, buff, sz, TMO_FEVR);
if (ret == sz)
return ret;
else
return WOLFSSL_CBIO_ERR_GENERAL;
}
static int my_IOSend(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid = 0;
if (ctx != NULL) {
debug_print("my_IOSend cepid OK \n");
cepid = *(ID *)ctx;
} else
return WOLFSSL_CBIO_ERR_GENERAL;
ret = tcp_snd_dat(cepid, buff, sz, TMO_FEVR);
if (ret == sz) {
return ret;
} else {
printf("my_IOSend NG \n");
return WOLFSSL_CBIO_ERR_GENERAL;
}
}
WOLFSSL_CTX *wolfSSL_TLS_server_init(void)
{
int ret;
WOLFSSL_CTX* ctx;
#ifndef NO_FILESYSTEM
#ifdef USE_ECC_CERT
char *cert = "./certs/server-ecc-cert.pem";
char *key = "./certs/server-ecc-key.pem";
#else
char *cert = "./certs/server-cert.pem";
char *key = "./certs/server-key.pem";
#endif
#else
#ifdef USE_ECC_CERT
char *cert = serv_ecc_der_256;
int sizeof_cert = sizeof_serv_ecc_der_256;
char *cert = serv_ecc_key_der_256;
int sizeof_key = sizeof_serv_ecc_key_der_256;
#else
const unsigned char *cert = server_cert_der_2048;
#define sizeof_cert sizeof_server_cert_der_2048
const unsigned char *key = server_key_der_2048;
#define sizeof_key sizeof_server_key_der_2048
#endif
#endif
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON(void);
#endif
/* Create and initialize WOLFSSL_CTX */
if ((ctx = wolfSSL_CTX_new(wolfSSLv23_server_method_ex((void *)NULL))) == NULL) {
printf("ERROR: failed to create WOLFSSL_CTX\n");
return NULL;
}
#if !defined(NO_FILESYSTEM)
ret = wolfSSL_CTX_use_certificate_file(ctx, cert, 0);
#else
ret = wolfSSL_CTX_use_certificate_buffer(ctx, cert, sizeof_cert, WOLFSSL_FILETYPE_ASN1);
#endif
if (ret != WOLFSSL_SUCCESS) {
printf("Error %d loading server-cert!\n", ret);
return NULL;
}
/* Load server key into WOLFSSL_CTX */
#if !defined(NO_FILESYSTEM)
ret = wolfSSL_CTX_use_PrivateKey_file(ctx, key, 0);
#else
ret = wolfSSL_CTX_use_PrivateKey_buffer(ctx, key, sizeof_key, WOLFSSL_FILETYPE_ASN1);
#endif
if (ret != WOLFSSL_SUCCESS) {
printf("Error %d loading server-key!\n", ret);
return NULL;
}
/* Register callbacks */
wolfSSL_SetIORecv(ctx, my_IORecv);
wolfSSL_SetIOSend(ctx, my_IOSend);
return ctx;
}
#define BUFF_SIZE 256
char buff[BUFF_SIZE];
int wolfSSL_TLS_server(void *v_ctx, func_args *args)
{
int ret = 0;
ID cepid = 1;
ID repid = 1;
ER ercd;
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)v_ctx;
(void) args;
WOLFSSL *ssl;
int len;
T_IPV4EP dst_addr = {0, 0};
if ((ercd = tcp_acp_cep(cepid, repid, &dst_addr, TMO_FEVR)) != E_OK) {
printf("ERROR TCP Accept: %d\n", ercd);
return -1;
}
if ((ssl = wolfSSL_new(ctx)) == NULL) {
printf("ERROR: failed wolfSSL_new\n");
ret = MEMORY_E;
goto exit_;
}
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
printf("SSL Accept\n");
if ((ret = wolfSSL_accept(ssl)) < 0) {
printf("ERROR: SSL Accept(%d)\n", wolfSSL_get_error(ssl, 0));
goto exit_;
}
printf("SSL Read\n");
if ((len = wolfSSL_read(ssl, buff, sizeof(buff) - 1)) < 0) {
printf("ERROR: SSL Read(%d)\n", wolfSSL_get_error(ssl, 0));
ret = -1;
goto exit_;
}
buff[len] = '\0';
printf("Received Data: %s\n", buff);
if (wolfSSL_write(ssl, buff, len) != len) {
printf("ERROR: SSL Write(%d)\n", wolfSSL_get_error(ssl, 0));
ret = -1;
goto exit_;
}
ret = 0;
exit_:
if (ssl) {
wolfSSL_shutdown(ssl);
wolfSSL_free(ssl);
}
tcp_sht_cep(cepid);
ercd = tcp_cls_cep(cepid, TMO_FEVR);
if (ercd != E_OK) {
printf("tcp_cls_cep error %d\n",ercd);
}
return ret;
}

View File

@ -0,0 +1,61 @@
/* wolfssl_dummy.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#ifdef HAVE_CONFIG_H
#include <wolfssl/src/config.h>
#endif
#include <wolfssl/wolfcrypt/settings.h>
#include <wolfssl/ssl.h>
#include <wolfssl/wolfcrypt/types.h>
#include <wolfssl/wolfcrypt/error-crypt.h>
#include <stdio.h>
#define YEAR 2023
#define MON 2
static int tick = 0;
time_t time(time_t *t)
{
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
}
#include <ctype.h>
int strncasecmp2(const char *s1, const char * s2, unsigned int sz)
{
for ( ; sz>0; sz--, s1++, s2++){
if (toupper(*s1) < toupper(*s2)){
return -1;
}
if (toupper(*s1) > toupper(*s2)){
return 1;
}
}
return 0;
}
void abort(void)
{
while(1);
}

View File

@ -0,0 +1,47 @@
/*target_edmac.c
*
* Copyright (C) 2006-2023 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 2 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
*/
#include "kernel_impl.h"
#include <sil.h>
#include "target_edmac.h"
#include "kernel.h"
STK_T *const istack;
extern void ether_int_Wrapper();
/*
* Target system dependent module (EDMAC Wrapper for RX72N)
*/
void
rx72n_edmac_interrput_wrapper(void){
i_begin_int(INTNO_EDMAC_0);
ether_int_Wrapper();
i_end_int(INTNO_EDMAC_0);
}
void
rx72n_edmac_interrput_wrapper_term(void){
}

View File

@ -0,0 +1,28 @@
/*target_edmac.cfg
*
* Copyright (C) 2006-2023 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 2 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
*/
/*
* EDMAC (for RX72N) configuration file
*/
#include "target_edmac.h"
DEF_INH(INHNO_EDMAC_0, { TA_NULL, rx72n_edmac_interrput_wrapper });
CFG_INT(INTNO_EDMAC_0, { INTATR_EDMAC_0, INTPRI_EDMAC_0 });
CRE_SEM(ETHER_START_SEM, {TA_TPRI, 0, 1 });

View File

@ -0,0 +1,45 @@
/*target_edmac.h
*
* Copyright (C) 2006-2023 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 2 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
*/
/*
* EDMAC module for RX72N
*
*/
#ifndef TOPPERS_TARGET_72N_EDMAC_H
#define TOPPERS_TARGET_72N_EDMAC_H
#include <sil.h>
#include "target_board.h"
#include "prc_kernel.h"
#define INHNO_EDMAC_0 INT_EDMAC0 /* Interrupt handler number */
#define INTNO_EDMAC_0 INT_EDMAC0 /* interrupt number */
#define INTPRI_EDMAC_0 -5 /* Interrupt priority */
#define INTATR_EDMAC_0 TA_ENAINT | TA_EDGE /* interrupt attribute */
#ifndef TOPPERS_MACRO_ONLY
extern void rx72n_edmac_interrput_wrapper(void);
#endif
#endif /* TOPPERS_TARGET_72N_EDMAC_H */

View File

@ -0,0 +1,7 @@
#!/bin/sh
# param none
# copy edmac to asp
cp ./WolfSSLDemo/target_edmac.c ./asp/target/rx72n_gcc/
cp ./WolfSSLDemo/target_edmac.h ./asp/target/rx72n_gcc/
cp ./WolfSSLDemo/target_edmac.cfg ./asp/target/rx72n_gcc/

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings>
<externalSetting>
<entry flags="VALUE_WORKSPACE_PATH" kind="includePath" name="/wolflib"/>
<entry flags="VALUE_WORKSPACE_PATH" kind="libraryPath" name="/wolflib/Debug"/>
<entry flags="RESOLVED" kind="libraryFile" name="wolflib" srcPrefixMapping="" srcRootPath=""/>
</externalSetting>
</externalSettings>
<extensions>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="RENESAS_GCC_RX"/>
<option id="toolchain.version" value="8.3.0.202305"/>
<option id="toolchain.enable" value="true"/>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.boardInfo">
<option id="board.id" value="RX72NEnvisionKit"/>
<option id="board.name" value="RX72NEnvisionKit"/>
<option id="board.device" value="R5F572NDHxFB"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978" name="Debug" parent="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib">
<folderInfo id="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug.update.lib.623401907" name="GCC for Renesas RX" superClass="com.renesas.cdt.managedbuild.gcc.rx.toolchain.debug.update.lib">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel.241328986" name="Optimization Level" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.optimizationLevel" useByScannerDiscovery="true"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections.1816948723" name="Data sections (-fdata-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.fdatasections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.2127293027" name="Debug format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.debug.debugFormat.Default" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize.803724204" name="Create Print Size" superClass="com.renesas.cdt.managedbuild.gcc.core.option.addtools.printsize" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.730696086" name="Architecture" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.rx.architecture.v3" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability.335128746" name="Architecture Applicability" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.architecture.applicability" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.712177709" name="CPU Type" superClass="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.gcc.core.option.cpu.cpuType.rx72n" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName.2117743975" name="DeviceName" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceShortName" useByScannerDiscovery="false" value="R5F572NDHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand.954998029" name="DeviceCommand" superClass="com.renesas.cdt.managedbuild.gcc.core.option.deviceCommand" useByScannerDiscovery="false" value="R5F572ND" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.fdiagnostics.780944482" name="Fixit error parser" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.fdiagnostics" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections.1995337211" name="Function sections (-ffunction-sections)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.optimization.functionsections" useByScannerDiscovery="true" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize.1359279869" name="Warn if stack size exceeds the limit, in bytes (-Wstack-usage)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.debug.warnStackSize" useByScannerDiscovery="false" value="24576" valueType="string"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.renesas.cdt.managedbuild.gcc.core.targetPlatform.1121942531" isAbstract="false" osList="all" superClass="com.renesas.cdt.managedbuild.gcc.core.targetPlatform"/>
<builder buildPath="${workspace_loc:/wolflib}/Debug" id="com.renesas.cdt.managedbuild.gcc.core.builder.724603160" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="GCC for Renesas Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.gcc.core.builder"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen.1505390322" name="Library Generator" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.libgen">
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary.1798457964" name="Select Library" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.selectlibrary" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.selectLibrary.newLib" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType.1025010418" name="Library type" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.libraryType" useByScannerDiscovery="true" value="com.renesas.cdt.managedbuild.gcc.core.option.librarygenerator.settings.libraryType.preBuilt" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.429593477" name="Compiler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir.1912623967" name="Include file directories (-I)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src}&quot;"/>
<listOptionValue builtIn="false" value="&quot;..\..\WolfSSLDemo\src\wolfDemo\&quot;"/>
<listOptionValue builtIn="false" value="&quot;&quot;..\..\..\..\..\..\..\&quot;&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.userDefinedCompilerOptions.1706427517" name="User defined compiler options" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.source.userDefinedCompilerOptions" useByScannerDiscovery="false" valueType="stringList"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines.1935527791" name="Macro Defines (-D)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.macroDefines" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.1445839921" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP.679880739" name="Compiler CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.compilerCPP">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir.1866371481" name="Include file directories (-I)" superClass="com.renesas.cdt.managedbuild.gcc.core.option.compiler.includes.includeFileDir" useByScannerDiscovery="false" valueType="includePath"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler.1038981092" name="Assembler" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.assembler">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor.1192620352" name="Use preprocessor" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.source.usepreprocessor" useByScannerDiscovery="false"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories.494616520" name="Include file directories" superClass="com.renesas.cdt.managedbuild.gcc.core.option.assembler.includes.includeFileDirectories" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/src&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/wolfssl}&quot;"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler.1294576248" superClass="com.renesas.cdt.managedbuild.gcc.core.inputType.assembler"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.linker.919912270" name="Linker" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories.1865768202" name="Standard archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.archives.archiveSearchDirectories" useByScannerDiscovery="false" valueType="stringList"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker.738337247" name="Linker CPP" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.cpp.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="true" id="com.renesas.cdt.managedbuild.gcc.rx.option.linker.cpp.archives.archiveSearchDirectories.1835680794" name="Standard archive search directories (-L)" superClass="com.renesas.cdt.managedbuild.gcc.rx.option.linker.cpp.archives.archiveSearchDirectories" useByScannerDiscovery="false" valueType="stringList"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy.1767920807" name="Objcopy" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.objcopy"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver.329979858" name="Archiver" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.archiver"/>
<tool id="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize.331293895" name="Print Size" superClass="com.renesas.cdt.managedbuild.gcc.rx.tool.printsize">
<option id="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format.1488629708" name="Size Format" superClass="com.renesas.cdt.managedbuild.gcc.core.option.printsize.format" useByScannerDiscovery="false"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="generate"/>
<entry excluding="test|wolfcrypt|src|wolfcrypt/src/sm3_asm.S|wolfcrypt/src/aes_gcm_asm.asm|wolfcrypt/src/port|src/x509_str.c|wolfcrypt/src/evp.c|wolfcrypt/src/misc.c|src/bio.c|src/conf.c|src/pk.c|src/x509.c|wolfcrypt/src/port/arm/armv8-sha512-asm.S|wolfcrypt/src/port/arm/armv8-sha3-asm.S|wolfcrypt/src/port/arm/armv8-curve25519.S|wolfcrypt/src/port/arm/armv8-32-sha512-asm.S|wolfcrypt/src/port/arm/armv8-32-sha256-asm.S|wolfcrypt/src/port/arm/armv8-32-curve25519.S|wolfcrypt/src/wc_kyber_asm.S|wolfcrypt/src/sp_x86_64_asm.S|wolfcrypt/src/sp_x86_64_asm.asm|wolfcrypt/src/sha512_asm.S|wolfcrypt/src/sha3_asm.S|wolfcrypt/src/sha256_asm.S|wolfcrypt/src/poly1305_asm.S|wolfcrypt/src/fe_x25519_asm.S|wolfcrypt/src/chacha_asm.S|wolfcrypt/src/aes_asm.asm|wolfcrypt/src/aes_gcm_x86_asm.S|wolfcrypt/src/aes_gcm_asm.S|wolfcrypt/src/aes_asm.S|wolfcrypt/user-crypto" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/src"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/test"/>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src/wolfcrypt"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="wolflib.com.renesas.cdt.managedbuild.gcc.rx.projectType.lib.update.941278214" name="static ライブラリー" projectType="com.renesas.cdt.managedbuild.gcc.rx.projectType.lib.update"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978;com.renesas.cdt.managedbuild.gcc.rx.configuration.debug.update.lib.2145194978.;com.renesas.cdt.managedbuild.gcc.rx.tool.compilerC.429593477;com.renesas.cdt.managedbuild.gcc.core.inputType.compiler.c.1445839921">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/wolflib"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

View File

@ -0,0 +1,348 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>wolflib</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>src/src/crl.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/crl.c</locationURI>
</link>
<link>
<name>src/src/internal.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/internal.c</locationURI>
</link>
<link>
<name>src/src/keys.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/keys.c</locationURI>
</link>
<link>
<name>src/src/ocsp.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/ocsp.c</locationURI>
</link>
<link>
<name>src/src/sniffer.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/sniffer.c</locationURI>
</link>
<link>
<name>src/src/ssl.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/ssl.c</locationURI>
</link>
<link>
<name>src/src/tls.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/tls.c</locationURI>
</link>
<link>
<name>src/src/tls13.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/tls13.c</locationURI>
</link>
<link>
<name>src/src/wolfio.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/src/wolfio.c</locationURI>
</link>
<link>
<name>src/test/benchmark.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/benchmark/benchmark.c</locationURI>
</link>
<link>
<name>src/test/test.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/test/test.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/aes.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/aes.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/arc4.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/arc4.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/asm.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/asm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/asn.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/asn.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/blake2b.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/blake2b.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/camellia.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/camellia.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/chacha.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/chacha.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/cmac.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/cmac.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/coding.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/coding.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/compress.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/compress.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/cpuid.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/cpuid.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/curve25519.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/curve25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/des3.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/des3.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/dh.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/dh.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/dsa.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/dsa.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/ecc.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/ecc.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/ecc_fp.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/ecc_fp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/ed25519.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/ed25519.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/error.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/error.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/fe_low_mem.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/fe_low_mem.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/fe_operations.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/fe_operations.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/ge_low_mem.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/ge_low_mem.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/ge_operations.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/ge_operations.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/hash.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/hash.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/hmac.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/hmac.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/integer.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/integer.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/kdf.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/kdf.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/logging.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/logging.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/md4.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/md4.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/md5.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/md5.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/memory.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/memory.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/poly1305.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/poly1305.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/pwdbased.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/pwdbased.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/random.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/random.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/rsa.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/rsa.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sha.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sha.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sha256.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sha256.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sha512.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sha512.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/signature.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/signature.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sp_c32.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sp_c32.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sp_c64.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sp_c64.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/sp_int.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/sp_int.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/srp.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/srp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/tfm.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/tfm.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_dsp.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_dsp.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_encrypt.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_encrypt.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_kyber.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_kyber.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_kyber_poly.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_kyber_poly.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_lms.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_lms.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_pkcs11.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_pkcs11.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wc_port.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wc_port.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wolfevent.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wolfevent.c</locationURI>
</link>
<link>
<name>src/wolfcrypt/wolfmath.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/src/wolfmath.c</locationURI>
</link>
</linkedResources>
</projectDescription>