Modify example app to work with FreeRTOS+IoT

This commit is contained in:
TakayukiMatsuo 2022-02-04 10:46:44 +09:00
parent d0246a280d
commit 1bd4cb4eee
27 changed files with 747 additions and 3864 deletions

View File

@ -3,242 +3,7 @@ wolfSSL sample application project for Renesas RX72N EnvisionKit evaluation boar
<br>
## 1. Overview
-----
A sample program for evaluating wolfSSL targeting the Renesas RX72N EnvisionKit evaluation board is provided. For details on the program, refer to the following documents included in the package.
We provide a sample program for evaluating wolfSSL targeting the Renesas RX72N EnvisionKit evaluation board. The sample program runs in a bare metal environment that does not use a real-time OS and uses e2 studio as an IDE. This document describes the procedure from build to execution of the sample program.
The sample provided is a single application that can evaluate the following three functions:
- CryptoTest: A program that automatically tests various cryptographic operation functions
- Benchmark: A program that measures the execution speed of various cryptographic operations
- TlsClient: A program that performs TLS communication with the opposite TLS server application
<br><br>
Since the H/W settings and S/W settings for operating the evaluation board have already been prepared, the minimum settings are required to operate the sample application. In addition, the RootCA certificate and server-side certificate required for TLS communication have already been set for sample use only.
The following sections will walk you through the steps leading up to running the sample application.
<br><br>
## 2. Target H/W, components and libraries
-----
This sample program uses the following hardware and software libraries. If a new version of the software component is available at the time of use, please update it as appropriate.
|item|name & version|
|:--|:--|
|Board|Renesas RX72N EnvisionKit|
|Device|R5F572NNHxFB|
|IDE| Renesas e2Studio Version:2021-10 |
|Emulator| On-board Emulator E2 Lite |
|Toolchain|CCRX v3.03.00|
|TSIP| TSIP v1.14|
<br>
The project of this sample program has a configuration file that uses the following FIT components.
However, the FIT components themselves are not included in the distribution of this sample application. You need to download it by operating in the IDE. Some FIT components (TSIPs) cannot be downloaded directly from within the IDE and may need to be downloaded separately from the Renesas download site.
<br>
|FIT component|version|name|
|:--|:--|:--|
|8bit timer|1.9.0|Config_TMR0|
|Board Support Packages|6.21|r_bsp|
|CMT driver|4.90|r_cmt_rx|
|Ethernet Driver|1.21|r_ether_rx|1.21|r_ether_rx|
|Generic system timer for RX MCUs|1.01|r_sys_time_rx|
|TCP/IP protocol stack[M3S-T4-Tiny] - RX Ethernet Driver Interface|1.09|r_t4_driver_rx|
|TCP/IP protocol stack[M3S-T4-Tiny] for Renesas MCUs|2.10|r_t4_rx|
|TSIP(Trusted Secure IP) driver|1.14|r_tsip_rx|
<br>
Note) As of December 2021, TIPS v1.13 does not seem to be able to be added as a FIT component by adding a component in the Smart Configurator Perspective. Add it manually along the method described later.
<br><br>
## 3. Importing sample application project into e2Studio
----
There is no need to create a new sample program. Since the project file is already prepared, please import the project from the IDE by following the steps below.
+ e2studio "File" menu> "Open project from file system ..."> "Directory (R) ..." Click the import source button and select the folder from which the project will be imported. Select the folder (Renesas/e2studio/\<MCU>/\<borad-name-folder\>/)) where this README file exists.
+ Four projects that can be imported are listed, but check only the three projects "smc", "test" and "wolfssl" and click the "Finish" button.
You should see the **smc**, **test**, and **wolfssl** 3 projects you imported into the project explorer.
<br><br>
## 4. FIT module download and smart configurator file generation
----
You will need to get the required FIT modules yourself. Follow the steps below to get them.
1. Open the smc project in Project Explorer and double-click the **smc.scfg** file to open the Smart Configurator Perspective.
2. Select the "Components" tab on the software component settings pane. Then click the "Add Component" button at the top right of the pane. The software component selection dialog will pop up. Click "Download the latest version of FIT driver and middleware" at the bottom of the dialog to get the modules. You can check the dowmload destination folder by pressing "Basic settings...".
3. The latest version of the TSIP component may not be automatically obtained due to the delay in Renesas' support by the method in step 2 above. In that case, you can download it manually from the Renesas website. Unzip the downloaded component and store the files contained in the FIT Modules folder in the download destination folder of step 2.
4. Select the required FIT components shown from the list and press the "Finish" button. Repeat this operation until you have the required FIT components.
5. Select the Components tab on the Software Component Settings pane and select the r_t4_rx component. In the settings pane on the right, specify the IP address of this board as the value of the "# IP address for ch0, when DHCP disable." Property (e.g. 192.168.1.9).
6. Press the "Generate Code" button at the top right of the software component settings pane to have the smart configurator generate the source files. A src/smc_gen folder will be created under the smc project to store source files, libraries, etc.
<br><br>
## 5. Adding smc_gen files to the test project
----
The test project is a sample application project. When you open the test project in the project explorer, there is a src folder, which contains the source files of the sample application. Add the source files by copying and pasting the smc_gen folder generated in the step5, directly under this src folder.
Make sure you have a folder hierarchy like this:
```
<board-name-folder>/test/src/smc_gen
```
<br>
## 6. Select the behavior of the test application
----
The test project is a single sample application, but you can specify to perform one of the following by switching the settings:
- CryptoTest: A program that automatically tests various encryption operation functions
- Benchmark: A program that measures the execution speed of various cryptographic operations
- TlsClient: A program that performs TLS communication with the opposite TLS server application
Open the <board-name-folder\>/test/src/wolfssl_demo.h file and enable one of the following definitions:
- #define CRYPT_TEST
- #define BENCHMARK
- #define TLS_CLIENT
Then build the test application.
<br><br>
## 7. Build and run the test application
-----
Now that the test application is ready to build.
1. Build the wolfssl project on the project explorer, then the test project.
2. After a successful build, connect the target board to the emulator and supply external power.
3. Select "Run" menu> "Debug" to open the debug perspective.
4. The test application outputs the operating status to the standard output. Keep the "Renesas Debug Virtual Console" open for viewing this standard output.
5. Press the run button to run the test application.
6. CryptoTest, Benchmark or TLS_Client After displaying the execution result according to the selected behavior, it enters an infinite loop, so if you think that the output has stopped, stop debugging.
<br><br>
## 8. Running test application as TLS_Client
-----
<br>
### 8.1 Generate a server application
To operate as TLS_Client, an opposite application for TLS communication is required. A wolfSSL package provides a server sample application that you can use for this purpose. This program is generated by building wolfssl. You can build wolfSSL on Linux (including MacOS and WSL) with gcc installed or build using Visual Studio. The following introduces the build on WSL.
<br><br>
```
$ cd <wolfssl-folder>
$ ./autogen.sh
$ ./configure CFLAGS="-DWOLFSSL_STATIC_RSA -DHAVEAES_CBC"
$ make
```
<br>
With the above build, <wolfssl-folder\>/examples/server/server
Is generated. This executable acts as a TLS server application. If you execute it with the following options, it will be in the listening state for the connection from TLS_Client.
<br><br>
```
$ examples/server/server -b -d -i
```
<br>
For the test application, specify the IP address assigned to the server application.
Open wolf_client.c to specify ip address of the server in "#define SIMPLE_TLSSEVER_IP" like as:
<br>
```
-- <board-name-folder>/test/src/wolf_client.c --
...
#define SIMPLE_TLSSEVER_IP 192.168.53.9
...
```
<br>
Save the file and rebuild the test application. When you run the test application, it makes a TLS connection with the opposite application, then exchanges a simple string and displays the following on the standard output.
<br><br>
```
cipher : ECDHE-RSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : AES128-SHA256
Received: I hear you fa shizzle!
cipher : AES256-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
```
<br>
### 8.2 Change server certificate (change authentication method)
<br>
The above is an execution example when the server certificate presented by the server application contains the RSA public key (RSA authentication). TSIP can also handle cases where the server certificate contains an ECC public key (ECDSA authentication).
<br>
If you want to use a cipher suite that includes ECDSA, you will need to change the settings of the test application and rebuild. Open common/ user_settings.h, enable the USE_ECC_CERT definition and rebuild.
<br><br>
```
-- <board-name-folder>/common/user_settings.h --
#define USE_ECC_CERT
```
<br>
This definition causes the test application to use a RootCA certificate that can validate the server certificate containing the ECC public key presented by the server.
<br>
In addition, the opposite server application also needs to specify the server certificate and private key file containing the ECC public key as an option, and then execute it as shown below.
<br><br>
```
$ ./examples/server/server -b -d -i -c ./certs/server-ecc.pem -k ./certs/ecc-key.pem
```
<br>
The following is displayed as the execution result.
<br> <br>
```
cipher : ECDHE-ECDSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-ECDSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
```
<br>
## 9. What you need to do to use the RootCA certificate prepared by the user
----
In this sample program, the RootCA certificate required to operate as TLS_Client and the server certificate used by the sample TLS server application are certificates that can be used only for evaluation.
If you want to use it for purposes beyond functional evaluation, you need to prepare the RootCA certificate yourself. with this,
1. Provisioning key
2. RSA key pair required for RootCA certificate validation
3. The signature generated by the RootCA certificate with the private key in 2 above.
will become necessary. Please refer to the manual provided by Renesas for how to generate them.
+ InstructionManualForExample_RX72N_EnvisonKit_JP.pdf (Japanese)
+ InstructionManualForExample_RX72N_EnvisonKit_EN.pdf(English

View File

@ -3,249 +3,10 @@ Renesas RX72N EnvisionKit用 wolfSSLサンプルプロジェクト
<br>
## 1. 概要
-----
Renesas社製 RX72N EnvisionKit 評価ボードをターゲットとしてwolfSSLを評価するためのサンプルプログラムを提供します。サンプルプログラムはリアルタイムOSを使わないベアメタル環境で動作し、IDEとしてe2 studioを使用するものです。本ドキュメントではサンプルプログラムのビルドから実行までの手順を説明します。
Renesas社製 RX72N EnvisionKit 評価ボードをターゲットとしてwolfSSLを評価するためのサンプルプログラムを提供します。サンプルプログラムに関するマニュアルは同梱の
提供するサンプルプログラムは次の3機能を評価できる単一のアプリケーションです
+ InstructionManualForExample_RX72N_EnvisonKit_JP.pdf (日本語版)
+ InstructionManualForExample_RX72N_EnvisonKit_EN.pdf(英語版)
- CryptoTest: 各種暗号化オペレーション機能を自動テストするプログラム
- Benchmark: 各種暗号化オペレーションの実行速度を測定するプログラム
- TlsClient: 対向するTLSサーバーアプリケーションとTLS通信を行うプログラム
評価ボードを動作させる為のH/W設定、S/W設定は既に用意していますから、サンプルプロジェクトの動作までは最少の設定で済むようになっています。また、TLS通信において必要となる、RootCA証明書、サーバー側証明書もサンプル使用に限定したものが既に設定済みです。
以降のセクションはサンプルアプリケーションの実行までのステップを順に説明していきます。
<br><br>
## 2. ターゲットとしているH/W、コンポーネント、ライブラリ
-----
このサンプルプログラムでは以下のハードウエアやソソフトウエアライブラリを使用しています。皆さんがご利用時にバージョンの新しいソフトウエアコンポーネントが利用可能であれば適宜更新の上ご利用ください。
<br><br>
|要素|名称/バージョン|
|:--|:--|
|評価ボード|RX72N EnvisionKit|
|Device|R5F572NNHxFB|
|IDE| Renesas e2Studio Version:2021-10 |
|エミュレーター| On-board Emulator E2 Lite|
|Toolchain|CCRX v3.03.00|
|TSIP| TSIP v1.14|
<br>
本サンプルプログラムのプロジェクトには以下のFITコンポーネントを使用する設定ファイルが用意されています。
しかし、FITコンポーネント群そのものは本サンプルアプリケーションの配布物としては含まれていません。皆さん自身でIDE内の操作によってダウンロードしていただく必要があります。一部のFITコンポーネントTSIPはIDE内から直接ダウンロードできず、Renesas社のダウンロードサイトから別途ダウンロードが必要なものがあります。
<br><br>
|FITコンポーネント|バージョン|略称|
|:--|:--|:--|
|8ビットタイマー|1.9.0|Config_TMR0|
|Board Support Packages|6.21|r_bsp|
|CMT driver|4.90|r_cmt_rx|
|Ethernet Driver|1.21|r_ether_rx|1.21|r_ether_rx|
|Generic system timer for RX MCUs|1.01|r_sys_time_rx|
|TCP/IP protocol stack[M3S-T4-Tiny] - RX Ethernet Driver Interface|1.09|r_t4_driver_rx|
|TCP/IP protocol stack[M3S-T4-Tiny] for Renesas MCUs|2.10|r_t4_rx|
|TSIP(Trusted Secure IP) driver|1.14|r_tsip_rx|
注意2021年12月現在、TIPSv1.14はFITコンポーネントとしてスマートコンフィギュレータパースペクティブのコンポーネントの追加操作では追加できないようです。後ほど説明する手動での追加方法を使って追加してください。<br>
<br><br>
## 3. サンプルプログラムプロジェクトのe2Studioへのインポート
----
サンプルプログラムは新規作成する必要はありません。すでにプロジェクトファイルが用意されていますからIDEから以下の手順でプロジェクトをインポートしてください。
+ 1.e2studioの"ファイル"メニュー > "ファイル・システムからプロジェクトを開く..." > "ディレクトリ(R)..."インポート元ボタンを押して、プロジェクトのインポート元となるフォルダーを選択します。本READMEファイルが存在するフォルダ(wolfssl/IDE/Renesas/e2studio/\<MCU>/\<borad-name-folder\>/)を選択してください。
+ インポートできるプロジェクトが4つリストアップされますが、"smc", "test" と"wolfssl"の3プロジェクトにのみチェックを入れて”終了”ボタンを押してください。
プロジェクト・エクスプローラーにインポートしたsmc,test,wolfsslの3プロジェクトが表示されるはずです。
<br><br>
## 4. FITモジュールの取得とスマートコンフィギュレータによるファイル生成
----
FITモジュールは皆さん自身で取得していただく必要があります。以下の手順で取得してください。
<br><br>
1. プロジェクト・エクスプローラー上でsmcプロジェクトを開き**smc.scfg**ファイルをダブルクリックして、スマートコンフィギュレータパースペクティブを開きます。
2. ソフトウエアコンポーネント設定画面の"コンポーネント"タブを選択 > 画面右上の"コンポーネントの追加" ボタンを押して下さい。ソフトウエアコンポーネントの選択ダイアログが表示されます。ここで、画面下部の"最新版のFITドライバとミドルウエアをダウンロードする"を押して、モジュール群を取得しておいてください。ダウンロード先のフォルダは"基本設定..."を押して確認することができます。
3. TSIPコンポーネントは上記ステップの方法ではRenesas社の対応が遅れていて最新版が自動的には取得できないことがあります。その場合にはRenesas社のサイトから手動でダウンロードできます。ダウンロードしたコンポーネントのを解凍し、FITModulesフォルダに含まれているファイル群をステップ2のダウンロード先フォルダに格納してください。
4. 先に示したFITコンポーネントを一覧から選択して"終了"ボタンを押します。この操作を必要なFITコンポーネントを得るまで繰り返し行います。
5. ソフトウエアコンポーネント設定画面のコンポーネントタブを選択し、r_t4_rxコンポーネントを選択します。右の設定ペインに"# IP address for ch0, when DHCP disable."プロパティの値として、このボードのIPアドレスを皆さんの環境に合わせてて指定します例:
192.168.1.9)。
6. ソフトウエアコンポーネント設定画面の右上の”コードの生成"ボタンを押して、スマートコンフィギュレータにソースファイルを生成させます。smcプロジェクトの下にsrc/smc_genフォルダが生成され、ソースファイル、ライブラリ等が格納されされます。
<br><br>
## 5. testプロジェクトへのsmc_genファイル群の追加
----
testプロジェクトはサンプルアプリケーションのプロジェクトです。プロジェクト・エクスプローラー上でtestプロジェクトを開くとsrcフォルダが存在し、そこにサンプルアプリケーションのソースファイルが格納されています。このsrcフォルダ直下に4-5で生成したsmc_genフォルダごとコピー&ペーストしてソースファイルを追加します。
test/src/smc_gen
のようなフォルダ階層になることを確認してください。
<br><br>
## 6. testアプリケーションの動作を選択する
----
testプロジェクトが唯一のサンプルアプリケーションですが、その動作を設定で切り替えることによって、
- CryptoTest: 各種暗号化オペレーション機能を自動テストするプログラム
- Benchmark: 各種暗号化オペレーションの実行速度を測定するプログラム
- TlsClient: 対向するTLSサーバーアプリケーションとTLS通信を行うプログラム
のいずれかの動作を行うよう指定できます。
設定はtest/src/wolfssl_demo.hファイル内の、
- #define CRYPT_TEST
- #define BENCHMARK
- #define TLS_CLIENT
のいずれか一つを有効にしてアプリケーションをビルドすることで行います。
<br><br>
## 7. testアプリケーションのビルドと実行
-----
testアプリケーションのビルドの準備が整ったので、ビルドを行います。
1プロジェクト・エクスプローラー上のwolfsslプロジェクトをビルドし、次にtestプロジェクトをビルドします。
2ビルドが成功したら、ターゲットボードとエミュレーターを接続し、外部電源を入力します。
3"実行"メニュー > "デバッグ"を選択し、デバッグパースペクティブを開きます。
4 testアプリケーションは標準出力に動作状況を出力します。この標準出力の表示用に、"Renesas Debug Virtual Console"を開いておきます。
5実行ボタンを押してtestアプリケーションを動作させます。
6CryptoTest、BenchmarkあるいはTLS_Client選択していた動作に応じた実行結果を表示したあと無限ループに入るので出力が停止したと思われたらデバッグを停止させます。
<br><br>
## 8. TLS_Clientとしてのtestアプリケーションの実行
-----
<br>
### 8.1 TLS対向アプリケーションの生成と実行
<br>
testアプリケーションをTLS_Clientとしての動作を行わせる場合には、TLS通信の相手方となる対向アプリケーションが必要となります。wolfSSLパッケージにはこの用途に使用できるTLSserverサンプルアプリケーションが用意されています。このプログラムはwolfsslをビルドすることで生成されます。wolfSSLのビルドにはgccがインストールされているLinux(MacOS, WSLも含む)でのビルドとVisualStudioを使ってのビルドが可能です。以下ではWSL上でのビルドを紹介します。
<br><br>
```
$ cd <wolfssl-folder>
$ ./autogen.sh
$ ./configure CFLAGS="-DWOLFSSL_STATIC_RSA -DHAVEAES_CBC"
$ make
```
<br>
上記のビルドによって、<wolfssl-folder\>/examples/server/server
が生成されます。この実行プログラムがサーバーアプリケーションとして機能します。以下のオプションを与えて実行させるとTLS_Clientからの接続を待ち受け状態になります。
<br><br>
```
$ examples/server/server -b -d -i
```
<br>
testアプリケーションには、サーバーアプリケーションに割り当てられたIPアドレスを指定します。
wolf_client.cを開き、#define SIMPLE_TLSSEVER_IPにアドレスを指定します。
```
-- wolf_client.c --
...
#define SIMPLE_TLSSEVER_IP 192.168.53.9
...
```
<br>
ファイルをセーブしてtestアプリケーションを再ビルドしてください。testアプリケーションを実行すると、対向アプリケーションとの間でTLS接続が行われ、その後簡単な文字列を交換して標準出力に以下のような表示を行います。
<br><br>
```
cipher : ECDHE-RSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : AES128-SHA256
Received: I hear you fa shizzle!
cipher : AES256-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-RSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
```
<br>
### 8.2 サーバー証明書の変更(認証方式の変更)
<br>
上記はサーバーアプリケーションが提示すサーバー証明書にRSA公開鍵が含まれているRSA認証場合の実行例です。TSIPにはこのほかにサーバー証明書にECC公開鍵を含む場合ECDSA認証も扱えます。
<br>
ECDSAを含む暗号化スイートを使用したい場合には、testアプリケーションの設定を変更して再ビルドが必要となります。\<board-name-folder\>/common/user_settings.h を開き、USE_ECC_CERT定義を有効化して再ビルドしてください。
<br><br>
```
#define USE_ECC_CERT
```
<br>
この定義により、testアプリケーションはサーバーの提示するECC公開鍵を含んだサーバー証明書を検証できるRootCA証明書を使うようになります。
<br><br>
さらに対向するサーバーアプリケーションの方でも以下のようにECC公開鍵を含んだサーバー証明書と秘密鍵ファイルをオプションで指定して実行する必要があります。
<br><br>
```
$ ./examples/server/server -b -d -i -c ./certs/server-ecc.pem -k ./certs/ecc-key.pem
```
<br>
実行結果として以下が表示されます。
<br><br>
```
cipher : ECDHE-ECDSA-AES128-SHA256
Received: I hear you fa shizzle!
cipher : ECDHE-ECDSA-AES128-GCM-SHA256
Received: I hear you fa shizzle!
```
<br>
## 9. ユーザーが用意したRootCA証明書を利用する際に必要なこと
-----
本サンプルプログラムでは、TLS_Clientとして動作する際に必要なRootCA証明書とサンプルTLSサーバーアプリケーションが使用するサーバー証明書などは評価用でのみ利用可能な証明書です。
機能評価を超えた目的で利用する場合にはRootCA証明書をユーザー自身で用意する必要があります。それに伴い、
1. Provisioning key
2. RootCA証明書の検証の為に必要なRSA鍵ペア
3. RootCA証明書を上記の秘密鍵で生成した署名
が必要になります。それらの生成方法はRenesas社提供のマニュアルを参照してください。
を参照ください。

View File

@ -1,22 +0,0 @@
/* strings.h
*
* Copyright (C) 2006-2021 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
*/
int strncasecmp(const char *s1, const char * s2, unsigned int sz);

View File

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

@ -1,41 +0,0 @@
/* wolfssl_dummy.c
*
* Copyright (C) 2006-2021 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
*/
typedef unsigned long time_t;
#define YEAR 2021
#define MON 7
static int tick = 0;
time_t time(time_t *t)
{
return ((YEAR-1970)*365+30*MON)*24*60*60 + tick++;
}
#include <ctype.h>
int strncasecmp(const char *s1, const char * s2, unsigned int sz)
{
for( ; sz>0; sz--)
if(toupper(s1++) != toupper(s2++))
return 1;
return 0;
}

View File

@ -4,23 +4,14 @@
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/README_EN.md
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/README_JP.md
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/InstructionManualForExample_RX72N_EnvisonKit_EN.pdf
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/InstructionManualForExample_RX72N_EnvisonKit_JP.pdf
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/resource/section.esi
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl/.cproject
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl/.project
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl/wolfssl.rcpc
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/.cproject
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/.project
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/test_HardwareDebug.launch
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/test.rcpc
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/test_main.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/key_data.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/key_data.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/wolf_client.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/wolf_server.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/test/src/wolfssl_demo.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/common/wolfssl_dummy.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/common/strings.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/common/unistd.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/common/user_settings.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/smc/.cproject
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/smc/.project
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/smc/smc.scfg
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/key_data.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/key_data.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/wolfssl_demo.c
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/wolfssl_demo.h
EXTRA_DIST+= IDE/Renesas/e2studio/RX72N/EnvisionKit/wolfssl_demo/user_settings.h

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="ASCII"?>
<com.renesas.linkersection.model:SectionContainer xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.renesas.linkersection.model="http:///LinkerSection.ecore">
<sections name="B_ETHERNET_BUFFERS_1">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress"/>
</sections>
<sections name="B_RX_DESC_1"/>
<sections name="B_TX_DESC_1"/>
<sections name="R"/>
<sections name="R_1"/>
<sections name="R_2"/>
<sections name="R_8"/>
<sections name="B_8"/>
<sections name="B"/>
<sections name="B_1"/>
<sections name="B_2"/>
<sections name="RPFRAM2*"/>
<sections name="SU"/>
<sections name="SI"/>
<sections name="C_BOOTLOADER_KEY_STORAGE*">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="1048576"/>
</sections>
<sections name="C_PKCS11_STORAGE*">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="1050624"/>
</sections>
<sections name="C_SYSTEM_CONFIG*">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="1067008"/>
</sections>
<sections name="C_1">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="4292870912"/>
</sections>
<sections name="C_2"/>
<sections name="C"/>
<sections name="C_8"/>
<sections name="C$*"/>
<sections name="D*"/>
<sections name="W*"/>
<sections name="L"/>
<sections name="P*"/>
<sections name="EXCEPTVECT">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="4294967168"/>
</sections>
<sections name="RESETVECT">
<sectionAddress xsi:type="com.renesas.linkersection.model:FixedAddress" fixedAddress="4294967292"/>
</sections>
</com.renesas.linkersection.model:SectionContainer>

View File

@ -1,149 +0,0 @@
<?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.renesas.ccrx.hardwaredebug.configuration.1034911632">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1034911632" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.renesas.core.RenesasCompilerAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.core.buildRunnerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="Renesas_RXC"/>
<option id="toolchain.version" value="v3.02.00"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="abs" 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="Debug on hardware" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1034911632" name="HardwareDebug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration">
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1034911632." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain.2083798146" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.1553425974" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
<builder buildPath="${workspace_loc:/smc}/HardwareDebug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.728775241" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.1074736849" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.1437047237" name="デバッグ情報を出力する (-no_debug_info)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.850740926" name="出力するデータ値のエンディアン (-littleEndianData)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.big" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.189886433" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.1998690625" name="命令セット・アーキテクチャ (-isa)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv3" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture.960776357" name="RX Architecture" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture" useByScannerDiscovery="false" value="rxv3" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.478847685" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.yes" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.217406660" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.doublePrecisionFPU.1863668418" name="倍精度浮動小数点処理命令を使用する (-dpfpu/-nodpfpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.doublePrecisionFPU" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.1644771309" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F572NNHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.1014766670" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F572NNHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory.799048652" name="ISA history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory" useByScannerDiscovery="false" value="non_init;com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv3" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.401879791" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F572NN" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.723360463" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.1084188471" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.1569119399" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX72N" valueType="string"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.1255239266" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.40700832" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.1698327371" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" valueType="includePath">
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/general}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/Config_TMR0}&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_config}&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_bsp}&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/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_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_tsip_rx}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore.689082812" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter.1291582485" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.1092400212" name="Cソース (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.1134863351" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.utf8" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.1384702193" name="出力する文字コード (-outcode)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.utf8" valueType="enumerated"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1318182307" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.2014243112" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.828471590" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore.1076957084" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter.322327641" name="追加するオプション(すべての指定オプションの後ろに追加)&#10;" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.1981032357" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.utf8" valueType="enumerated"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.1925809882" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1186652965" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.97438325" name="ROMからRAMへマップするセクション (-rom)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="D=R"/>
<listOptionValue builtIn="false" value="D_1=R_1"/>
<listOptionValue builtIn="false" value="D_2=R_2"/>
<listOptionValue builtIn="false" value="D_8=R_8"/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.319906735" name="セクション (-start)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R,B_8,R_8/04,C_1,C_2,C,C_8,C$*,D*,W*,L,P*/0FFC00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/00010000" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore.1970509300" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter.525178825" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect.1813480503" name="可変ベクタテーブルのアドレス未設定ベクタ番号に指定するアドレス (-vect)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect" useByScannerDiscovery="false" value="_undefined_interrupt_source_isr" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection.122296241" name="セクションの割り付けアドレスをチェックする (-cpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.341427834" name="アドレス範囲指定方法 (-cpu(アドレス範囲指定方法))" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.autoSpecify" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1967673887" name="(リンク順序のリスト) (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\smc.lib&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.702731379" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/ccrx/T4_Library_ether_ccrx_rxv1_little.lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/lib/ccrx/r_tsip_rx72m_rx72n_rx66n_little.lib}&quot;"/>
</option>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.267645921" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.1945977999" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore.1559216167" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter.478801180" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.1104431523" name="C言語標準ライブラリ関数の構成 (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.135636800" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore.1334132823" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter.1353925049" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile.1953735364" name="出力ファイル形式 (-form)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile" value="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOFOutputFile.none" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.1515705145" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
</toolChain>
</folderInfo>
<sourceEntries>
<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="smc.com.renesas.cdt.managedbuild.renesas.ccrx.projectType.586427983" name="実行可能" projectType="com.renesas.cdt.managedbuild.renesas.ccrx.projectType"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope"/>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>smc</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<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>
<buildCommand>
<name>com.renesas.cdt.managedbuild.renesas.misrachecker.builder</name>
<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>
</projectDescription>

File diff suppressed because it is too large Load Diff

View File

@ -1,357 +0,0 @@
<?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.renesas.ccrx.hardwaredebug.configuration.1378385971">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971" moduleId="org.eclipse.cdt.core.settings" name="HardwareDebug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.renesas.core.RenesasCompilerAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.core.buildRunnerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="Renesas_RXC"/>
<option id="toolchain.version" value="v3.03.00"/>
<option id="toolchain.enable" value="true"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="abs" 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="Debug on hardware" errorParsers="org.eclipse.cdt.core.GmakeErrorParser;com.renesas.cdt.managedbuild.renesas.core.RenesasCompilerAssemblerErrorParser;com.renesas.cdt.managedbuild.core.buildRunnerErrorParser" id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971" name="HardwareDebug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration">
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.configuration.1378385971." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain.1637393351" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.hardwaredebug.toolChain">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.808325012" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
<builder buildPath="${workspace_loc:/test}/HardwareDebug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.65531188" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.1710373085" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.390598726" name="デバッグ情報を出力する (-no_debug_info)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.2145260692" name="出力するデータ値のエンディアン (-littleEndianData)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.big" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.385785132" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.968417281" name="命令セット・アーキテクチャ (-isa)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv3" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture.1826562770" name="RX Architecture" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture" useByScannerDiscovery="false" value="rxv3" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.2015650112" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.yes" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.1065149525" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.1439501151" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F572NNHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.141103170" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F572NNHxFB" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory.13818145" name="ISA history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory" useByScannerDiscovery="false" value="non_init;com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.624156745" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F565NE" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.198501700" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.898504242" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.2015079094" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX72N" valueType="string"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.220371913" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.1764475068" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.477145288" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../common&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/Config_TMR0}&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_tsip_rx}&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_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_ether_rx}&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/general}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.511269805" name="プリプロセッサ・マクロの定義 (-define)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG_CONSOLE"/>
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore.165256012" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter.850666858" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.897672730" name="Cソース (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.862144636" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.utf8" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.48690443" name="出力する文字コード (-outcode)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.utf8" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.1557621233" name="最適化レベル (-optimize)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.optimize.level2" valueType="enumerated"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1722484558" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.709788007" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.1564576801" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore.1555827005" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter.912893655" name="追加するオプション(すべての指定オプションの後ろに追加)&#10;" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.864537553" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.utf8" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include.1616986135" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include" useByScannerDiscovery="false" valueType="includePath">
<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;"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.502444415" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1333901009" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.2020069967" name="ROMからRAMへマップするセクション (-rom)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="D=R"/>
<listOptionValue builtIn="false" value="D_1=R_1"/>
<listOptionValue builtIn="false" value="D_2=R_2"/>
<listOptionValue builtIn="false" value="D_8=R_8"/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.2043161263" name="セクション (-start)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R,B_8,R_8/04,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/020000,C_1,C_2,C,C_8,C$*,D*,W*,L,P*/0FFC00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore.1452234640" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter.1724535779" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect.47410515" name="可変ベクタテーブルのアドレス未設定ベクタ番号に指定するアドレス (-vect)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect" useByScannerDiscovery="false" value="_undefined_interrupt_source_isr" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection.239094904" name="セクションの割り付けアドレスをチェックする (-cpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.1942768497" name="アドレス範囲指定方法 (-cpu(アドレス範囲指定方法))" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.autoSpecify" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1237940973" name="(リンク順序のリスト) (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\src\benchmark.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\key_data.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/Config_TMR0\Config_TMR0.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/Config_TMR0\Config_TMR0_user.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_cg_hardware_setup.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_cgc.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_cgc_user.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/general\r_smc_interrupt.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/board/generic_rx72n\hwsetup.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\dbsct.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\lowlvl.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\lowsrc.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\mcu_locks.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_common.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_cpu.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_interrupts.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_locking.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_mcu_startup.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_bsp_software_interrupt.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\r_rx_intrinsic_functions.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\resetprg.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/all\sbrk.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_clocks.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_init.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_interrupts.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\mcu_mapped_interrupts.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_bsp/mcu/rx72n\vecttbl.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_cmt_rx/src\r_cmt_rx.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src/phy\phy.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src\r_ether_rx.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_ether_rx/src/targets/rx72n\r_ether_setting_rx72n.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_pincfg\Pin.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_pincfg\r_ether_rx_pinset.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_sys_time_rx/src\r_sys_time_rx.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\ether_callback.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\t4_driver.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_driver_rx/src\timer.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src/smc_gen/r_t4_rx/src\config_tcpudp.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\test.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\test_main.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\wolf_client.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\wolf_server.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\src\wolfssl_dummy.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\test.lib&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/ccrx/T4_Library_ether_ccrx_rxv1_little_debug.lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/lib/ccrx/r_tsip_rx72m_rx72n_rx66n_little.lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../wolfssl/Debug/wolfssl.lib&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.1438206933" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/ccrx/T4_Library_ether_ccrx_rxv1_little_debug.lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/lib/ccrx/r_tsip_rx72m_rx72n_rx66n_little.lib}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../wolfssl/Debug/wolfssl.lib&quot;"/>
</option>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.1723543812" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.1397073307" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore.1773409552" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter.946493093" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.338617005" name="C言語標準ライブラリ関数の構成 (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype.1293885198" name="ctype.hC89/C99文字操作用ライブラリ (-head=ctype)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.headCtype" useByScannerDiscovery="false" value="true" valueType="boolean"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.1917108303" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore.109845398" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter.289006348" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile.172365501" name="出力ファイル形式 (-form)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOFOutputFile.none" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.318974000" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="ether" flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.boardInfo"/>
</cconfiguration>
<cconfiguration id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000" moduleId="org.eclipse.cdt.core.settings" name="Debug">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.renesas.core.RenesasCompilerAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.renesas.cdt.managedbuild.core.buildRunnerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="com.renesas.cdt.managedbuild.core.toolchainInfo">
<option id="toolchain.id" value="Renesas_RXC"/>
<option id="toolchain.version" value="v3.01.00"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="abs" 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="Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000" name="Debug" parent="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration">
<folderInfo id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.configuration.992474000." name="/" resourcePath="">
<toolChain id="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain.1794956243" name="Renesas CCRX Toolchain" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.debug.toolChain">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF;org.eclipse.cdt.core.PE" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform.617132481" osList="win32" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.targetPlatform"/>
<builder buildPath="${workspace_loc:/test}/Debug" id="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder.117543810" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CCRX Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.builder"/>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp.1744140894" name="DSP Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.dsp">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo.1464228342" name="デバッグ情報を出力する (-no_debug_info)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.noDebugInfo" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.733005442" name="出力するデータ値のエンディアン (-littleEndianData)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.dsp.option.endian.big" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.common.1294844059" name="Common" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.common">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.644795578" name="命令セット・アーキテクチャ (-isa)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture.1771586719" name="RX Architecture" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.rxArchitecture" useByScannerDiscovery="false" value="rxv2" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.1045346284" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.floatIns.yes" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu.229476184" name="Has FPU" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasFpu" useByScannerDiscovery="false" value="TRUE" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName.748972653" name="Device Name" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceName" useByScannerDiscovery="false" value="R5F565NEHxFP" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory.780008434" name="Device history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceHistory" useByScannerDiscovery="false" value="non_init;R5F565NEHxFP" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory.783836823" name="ISA history" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isaHistory" useByScannerDiscovery="false" value="non_init;com.renesas.cdt.managedbuild.renesas.ccrx.common.option.isa.rxv2" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand.1221884092" name="Device Command" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceCommand" useByScannerDiscovery="false" value="R5F565NE" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos.1001057208" name="Check RTOS" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.checkRtos" useByScannerDiscovery="false" value="unusedRtos" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp.963664750" name="Has DSP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.hasDsp" useByScannerDiscovery="false" value="false" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily.1280023203" name="Device Family" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.deviceFamily" useByScannerDiscovery="false" value="RX65N" valueType="string"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.278830907" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.2144484247" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.545347560" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" valueType="includePath">
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
<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_tsip_rx}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx231}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx66t}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_tsip_rx/src/targets/rx65n}&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_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_ether_rx}&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/general}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_pincfg}&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.935611572" name="プリプロセッサ・マクロの定義 (-define)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" valueType="definedSymbols">
<listOptionValue builtIn="false" value="DEBUG_CONSOLE"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore.878126292" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter.443993930" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.47850385" name="Cソース (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.langFileC.c99" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.24533273" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.inputCharCode.utf8" valueType="enumerated"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.542364588" name="出力する文字コード (-outcode)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.outcode.utf8" valueType="enumerated"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType.1919404628" name="Compiler Input C" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gcc.inputType"/>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType.293530100" name="Compiler Input CPP" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.gpp.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler.607581328" name="Assembler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.assembler">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore.622904140" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter.67379527" name="追加するオプション(すべての指定オプションの後ろに追加)&#10;" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.1186358257" name="プログラムの文字コード (-euc/-sjis/-latin1/-utf8/-big5/-gb2312)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.characterCode.utf8" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include.1360045103" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.option.include" valueType="includePath">
<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;"/>
</option>
<inputType id="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType.1482916460" name="Assembler InputType" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.assembler.inputType"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker.1516159151" name="Linker" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.linker">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom.1765662172" name="ROMからRAMへマップするセクション (-rom)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.rom" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value="D=R"/>
<listOptionValue builtIn="false" value="D_1=R_1"/>
<listOptionValue builtIn="false" value="D_2=R_2"/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection.1046231838" name="セクション (-start)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.linkerSection" useByScannerDiscovery="false" value="SU,SI,B_1,R_1,B_2,R_2,B,R/04,C_1,C_2,C,C$*,D*,W*,L,P*/0FFE00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/00010000" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore.1651005552" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter.40118921" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect.1524833684" name="可変ベクタテーブルのアドレス未設定ベクタ番号に指定するアドレス (-vect)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.vect" useByScannerDiscovery="false" value="_undefined_interrupt_source_isr" valueType="string"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection.1914971075" name="セクションの割り付けアドレスをチェックする (-cpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.checkSection" useByScannerDiscovery="false" value="true" valueType="boolean"/>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.1670384649" name="アドレス範囲指定方法 (-cpu(アドレス範囲指定方法))" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.memoryType.autoSpecify" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList.1556433699" name="(リンク順序のリスト) (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.noneLinkageOrderList" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;.\test.lib&quot;"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile.856176867" name="リンクするリロケータブル・ファイル、ライブラリ・ファイルおよびバイナリ・ファイル (-input/-library/-binary)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.linker.option.inputFile" valueType="stringList">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/src/smc_gen/r_t4_rx/lib/T4_Library_rxv1_ether_little.lib}&quot;"/>
</option>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian.1598250045" name="Library Generator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.librarian">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.665362864" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore.413642487" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter.322853429" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.1591825359" name="C言語標準ライブラリ関数の構成 (-lang)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.librarian.option.lang.c99" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter.175269062" name="Converter" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.converter">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore.1586351233" name="追加するオプション(すべての指定オプションの前に追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userBefore" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter.900284814" name="追加するオプション(すべての指定オプションの後ろに追加)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.userAfter" useByScannerDiscovery="false" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile.376126009" name="出力ファイル形式 (-form)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOfOutputFile" value="com.renesas.cdt.managedbuild.renesas.ccrx.converter.option.typeOFOutputFile.none" valueType="enumerated"/>
</tool>
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig.1118615463" name="RTOS Configurator" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.rtosConfig"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="ether" 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="test.com.renesas.cdt.managedbuild.renesas.ccrx.projectType.1611298680" name="実行可能" projectType="com.renesas.cdt.managedbuild.renesas.ccrx.projectType"/>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="HardwareDebug">
<resource resourceType="PROJECT" workspacePath="/test"/>
</configuration>
<configuration configurationName="Debug">
<resource resourceType="PROJECT" workspacePath="/test"/>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>

View File

@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>test</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>
<buildCommand>
<name>com.renesas.cdt.managedbuild.renesas.misrachecker.builder</name>
<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/benchmark.c</name>
<type>1</type>
<locationURI>$%7BPARENT-6-PROJECT_LOC%7D/wolfcrypt/benchmark/benchmark.c</locationURI>
</link>
<link>
<name>src/benchmark.h</name>
<type>1</type>
<locationURI>$%7BPARENT-6-PROJECT_LOC%7D/wolfcrypt/benchmark/benchmark.h</locationURI>
</link>
<link>
<name>src/test.c</name>
<type>1</type>
<locationURI>PARENT-6-PROJECT_LOC/wolfcrypt/test/test.c</locationURI>
</link>
<link>
<name>src/wolfssl_dummy.c</name>
<type>1</type>
<locationURI>$%7BPARENT-1-PROJECT_LOC%7D/common/wolfssl_dummy.c</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>copy_PARENT</name>
<value>$%7BPARENT-3-ECLIPSE_HOME%7D/workspace/wolfssl</value>
</variable>
</variableList>
</projectDescription>

View File

@ -1,178 +0,0 @@
/* key_data.c
*
* Copyright (C) 2006-2021 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 "key_data.h"
/*-------------------------------------------------------------------------
TSIP v1.09 or later
--------------------------------------------------------------------------*/
#if defined(WOLFSSL_RENESAS_TSIP_TLS) && (WOLFSSL_RENESAS_TSIP_VER >=109)
const st_key_block_data_t g_key_block_data =
{
/* uint8_t encrypted_provisioning_key[R_TSIP_AES_CBC_IV_BYTE_SIZE * 2]; */
{
0xD8, 0xB3, 0xA7, 0xDB, 0xD1, 0x5E, 0x44, 0x24, 0x00, 0xDA, 0xEB, 0xB3,
0x33, 0xE1, 0x49, 0xAF, 0x4B, 0xAC, 0xC5, 0xF5, 0xC8, 0xD5, 0xAC, 0x12,
0x7F, 0xF7, 0x58, 0xAE, 0x59, 0xFE, 0xFB, 0x32
},
/* uint8_t iv[R_TSIP_AES_CBC_IV_BYTE_SIZE]; */
{
0xF6, 0xA9, 0x83, 0x5A, 0xA1, 0x65, 0x1D, 0x28, 0xC8, 0x1A, 0xA6, 0x9D,
0x34, 0xB2, 0x4D, 0x92
},
/* uint8_t
* encrypted_user_rsa2048_ne_key[R_TSIP_RSA2048_NE_KEY_BYTE_SIZE + 16];
*/
{
0xC1, 0xB7, 0xCC, 0x99, 0x0A, 0xC8, 0x3E, 0xAB, 0x74, 0x35, 0x9D, 0x1C,
0x81, 0x32, 0x72, 0xA7, 0xA8, 0x0D, 0xBA, 0x1B, 0x35, 0x42, 0x2F, 0x7B,
0xB4, 0x1C, 0x86, 0x81, 0xC4, 0xFA, 0xD9, 0x65, 0xCE, 0x8A, 0x70, 0x1A,
0x28, 0x09, 0x72, 0xC0, 0x4F, 0x7A, 0x4A, 0xC7, 0xE6, 0x21, 0x65, 0x6E,
0xEB, 0x11, 0x45, 0x23, 0x35, 0xC0, 0x0F, 0x1D, 0x48, 0xC6, 0x8A, 0x1C,
0x27, 0x70, 0xA6, 0x26, 0xD0, 0x49, 0xCD, 0x42, 0x8D, 0x65, 0x2F, 0xFC,
0x32, 0x12, 0x6F, 0xE6, 0x61, 0xB6, 0x2F, 0xD9, 0xA7, 0xC3, 0xB0, 0x3A,
0x4F, 0x58, 0xFD, 0x1E, 0x8E, 0xDE, 0x5C, 0xD4, 0xF3, 0x4E, 0xF7, 0x45,
0x01, 0xDC, 0x39, 0x38, 0x15, 0x37, 0x8A, 0xFD, 0x59, 0x1A, 0x6C, 0x04,
0x55, 0x31, 0x56, 0x14, 0x07, 0x71, 0x9A, 0x19, 0x81, 0x7F, 0x69, 0x88,
0xD7, 0xD5, 0xBE, 0xB4, 0x95, 0x83, 0xC5, 0x35, 0xA8, 0xDE, 0x65, 0x5E,
0x95, 0xBB, 0xE3, 0x9C, 0x81, 0x4C, 0x8B, 0x18, 0x4C, 0xEA, 0x12, 0xEE,
0xF3, 0x98, 0x68, 0x35, 0xC8, 0xA5, 0x69, 0x6F, 0x71, 0x8C, 0xAA, 0xB5,
0x3F, 0xF7, 0x3C, 0x10, 0xC0, 0xD4, 0x46, 0x4D, 0xD0, 0x56, 0xDB, 0x7F,
0xC1, 0x52, 0xE0, 0x06, 0xD8, 0xB9, 0x5E, 0x41, 0x43, 0x0E, 0xBB, 0xCD,
0x5C, 0x4D, 0x02, 0x37, 0xD1, 0xFD, 0x88, 0xCB, 0x49, 0xC3, 0x51, 0x0C,
0x8A, 0x17, 0x71, 0xFE, 0x97, 0x8F, 0xF6, 0x65, 0xFC, 0xF8, 0xB4, 0xC2,
0x65, 0x4B, 0x5B, 0x74, 0x4B, 0xFF, 0x35, 0xE9, 0x33, 0x3A, 0xBE, 0xDF,
0x23, 0x4F, 0xDB, 0x3F, 0x94, 0x6F, 0x34, 0x21, 0x76, 0x14, 0xAF, 0x2B,
0x96, 0x62, 0xA5, 0x52, 0x80, 0xB9, 0x36, 0x7E, 0x25, 0xAF, 0xB6, 0x75,
0xE5, 0x79, 0x8E, 0xE8, 0x67, 0xE4, 0xDD, 0x4B, 0x3D, 0xB2, 0x7F, 0xAF,
0x32, 0xC5, 0xF5, 0x1B, 0x90, 0x0E, 0x41, 0x97, 0x5D, 0xFD, 0xC1, 0x9A,
0xA1, 0xF9, 0x57, 0xF1, 0x21, 0x94, 0xF9, 0x31, 0xC9, 0xC7, 0x16, 0xAA,
0xD8, 0xE9, 0x78, 0x03, 0xAD, 0xEF, 0x3E, 0x98, 0x1F, 0x32, 0x3D, 0x8E
},
/* uint8_t encrypted_user_update_key[R_TSIP_AES256_KEY_BYTE_SIZE + 16]; */
{
0x70, 0xA8, 0xB5, 0x63, 0xE9, 0xC2, 0xA0, 0xFC, 0xE5, 0xA5, 0x4D, 0x94,
0x6E, 0x69, 0xE8, 0x94, 0xAC, 0xE6, 0x68, 0x7C, 0xB2, 0xB9, 0xDC, 0xCF,
0x69, 0xBC, 0xE6, 0xB9, 0x8C, 0xDA, 0x72, 0x5C, 0x62, 0xE9, 0xB9, 0xC1,
0xB4, 0xC7, 0x60, 0x21, 0xAE, 0x1B, 0x52, 0x25, 0x06, 0x8A, 0x91, 0xA1
},
};
/* Public key type of CA root cert: 0: RSA-2048 2: ECDSA-P256*/
#if defined(USE_ECC_CERT)
const uint32_t encrypted_user_key_type =
R_TSIP_TLS_PUBLIC_KEY_TYPE_ECDSA_P256;
#else
const uint32_t encrypted_user_key_type =
R_TSIP_TLS_PUBLIC_KEY_TYPE_RSA2048;
#endif
const unsigned char ca_ecc_cert_der_sig[] =
{
0x7D, 0x73, 0xF9, 0x15, 0x6A, 0x87, 0x5C, 0xE9, 0x36, 0x4B, 0xA5, 0x8B,
0xE8, 0xC1, 0xBD, 0x78, 0x01, 0x51, 0x93, 0xC1, 0xAF, 0xF7, 0xCB, 0xE0,
0x61, 0xD4, 0x33, 0x67, 0xEC, 0x6E, 0x37, 0x92, 0xE2, 0x16, 0x99, 0xC5,
0x5E, 0x74, 0xB0, 0xF3, 0xFD, 0xE0, 0x13, 0x1C, 0xA0, 0x5D, 0x10, 0x41,
0xE6, 0x8B, 0xAE, 0x48, 0xF5, 0x3E, 0x5E, 0xEA, 0xED, 0x17, 0x45, 0xD5,
0xCA, 0xDC, 0xB4, 0xC6, 0xA5, 0xD7, 0x9E, 0xAA, 0x06, 0x99, 0xA2, 0x70,
0x8C, 0x4C, 0xC0, 0x19, 0xB2, 0xF9, 0x6E, 0x1C, 0x96, 0x58, 0xE0, 0xFD,
0x26, 0x02, 0x34, 0xA6, 0x1D, 0x4A, 0x03, 0x76, 0x3E, 0x84, 0x7A, 0xAA,
0xB4, 0xBF, 0x1E, 0x5A, 0x77, 0x97, 0x12, 0x56, 0x23, 0x55, 0xF6, 0xC7,
0xED, 0x61, 0x75, 0x42, 0x99, 0x67, 0xCD, 0x10, 0xCA, 0x79, 0x4E, 0x9A,
0x91, 0x67, 0xCF, 0x49, 0x6F, 0xC1, 0xD2, 0x0C, 0x16, 0x90, 0xE4, 0x2E,
0x27, 0x63, 0x13, 0xF9, 0x4F, 0x6C, 0xE3, 0x55, 0x09, 0x18, 0xC2, 0xB3,
0x70, 0x5C, 0x0C, 0x52, 0x5B, 0xC4, 0x81, 0xFD, 0x30, 0xE9, 0x41, 0xB1,
0x1C, 0x84, 0x07, 0x36, 0xFC, 0x2F, 0x68, 0x97, 0x2D, 0x73, 0x56, 0x88,
0x39, 0x5C, 0x9E, 0x50, 0xA8, 0x47, 0x1E, 0x83, 0xF5, 0x4E, 0xD0, 0xA5,
0xAD, 0xFA, 0xE0, 0x52, 0xFC, 0x47, 0x15, 0x58, 0x2E, 0xC5, 0x53, 0x0F,
0x3F, 0x98, 0x11, 0xF3, 0x5C, 0x3A, 0x83, 0x35, 0xF7, 0x9E, 0x1B, 0x94,
0x7A, 0x84, 0x7D, 0x51, 0x72, 0x32, 0xE2, 0x29, 0xF2, 0x9D, 0xC0, 0xED,
0x25, 0x9A, 0xD6, 0x76, 0x07, 0x75, 0x18, 0xA8, 0x29, 0xAA, 0x2D, 0x69,
0xE2, 0xAF, 0xEE, 0x03, 0xE9, 0xDC, 0xCC, 0x4E, 0x92, 0x71, 0x05, 0x3A,
0x74, 0x4A, 0x21, 0xA4, 0x3B, 0xB3, 0xCF, 0x8A, 0x73, 0x02, 0x8C, 0x84,
0x8B, 0x6B, 0xDA, 0x46
};
const int sizeof_ca_ecc_cert_sig = sizeof(ca_ecc_cert_der_sig);
/* ./ca-cert.der.sign, */
const unsigned char ca_cert_der_sig[] =
{
0x0E, 0xC3, 0x9B, 0x77, 0xF8, 0x58, 0x08, 0x9E, 0x5D, 0x1E, 0x03, 0x8D,
0x60, 0xD1, 0xF6, 0x3E, 0x3D, 0xFF, 0x89, 0x4C, 0x91, 0x5C, 0x00, 0xEB,
0x05, 0xE5, 0x65, 0x62, 0x17, 0xFB, 0xD4, 0x52, 0x69, 0x9D, 0xB8, 0x07,
0xAF, 0xA9, 0x4C, 0xA5, 0xB9, 0x8D, 0x52, 0xC0, 0xF3, 0x34, 0x13, 0x67,
0x40, 0xAA, 0xE1, 0xA3, 0x9E, 0x5D, 0x0F, 0xCE, 0x87, 0xB0, 0x10, 0xB4,
0x79, 0x8F, 0x84, 0x21, 0x81, 0xC2, 0xF9, 0xF7, 0xDB, 0xCB, 0x8F, 0xE4,
0x9B, 0xF5, 0x85, 0x9D, 0x11, 0x04, 0xFB, 0xA7, 0xFD, 0x13, 0x6F, 0x02,
0xA5, 0xBF, 0xE0, 0x89, 0x62, 0x5E, 0x24, 0x95, 0xF6, 0x01, 0x7D, 0x7F,
0xB5, 0xD1, 0xDD, 0xF3, 0x3B, 0xD5, 0x04, 0x54, 0xE1, 0x8E, 0xA8, 0x3D,
0x30, 0xB3, 0x35, 0x76, 0xAF, 0xA7, 0x94, 0xD7, 0x59, 0x82, 0x38, 0x2C,
0xD6, 0x95, 0x57, 0xD1, 0xD5, 0x62, 0xB1, 0x69, 0x60, 0xCD, 0x3F, 0x7D,
0x0E, 0x9F, 0x00, 0x21, 0x04, 0xFE, 0x43, 0xBD, 0x7D, 0x3D, 0xA7, 0x6B,
0xC5, 0x82, 0x92, 0xDE, 0xB7, 0xA3, 0xD4, 0x7D, 0x3C, 0x14, 0x46, 0x28,
0x50, 0xCA, 0x86, 0x9F, 0x66, 0x4C, 0xB0, 0x46, 0x46, 0x4D, 0x31, 0xD6,
0x7B, 0xEC, 0xBA, 0xED, 0xA1, 0xF9, 0x88, 0x68, 0xB9, 0xA9, 0xDA, 0x88,
0x63, 0x01, 0x95, 0x5B, 0x78, 0x38, 0x03, 0xD6, 0xDF, 0x86, 0xC4, 0x3E,
0x3B, 0xCF, 0xED, 0x8B, 0x2A, 0x41, 0x49, 0x65, 0x3E, 0x2F, 0x45, 0x71,
0xD8, 0x0B, 0xF1, 0xF0, 0xC7, 0xB5, 0x2E, 0xBE, 0xF0, 0x71, 0xDE, 0x40,
0xB0, 0x54, 0x25, 0xD7, 0x4A, 0x86, 0xF1, 0xB9, 0xF6, 0xAB, 0x07, 0x07,
0x21, 0x7C, 0x15, 0x7B, 0x1F, 0xCF, 0xE4, 0x1F, 0x0B, 0xEB, 0x0E, 0x96,
0xE5, 0x59, 0x34, 0xC6, 0x4B, 0x1B, 0xF6, 0xC7, 0x6C, 0x4C, 0x16, 0x43,
0x72, 0xAF, 0x82, 0x1E
};
const int sizeof_ca_cert_sig = sizeof(ca_cert_der_sig);
/* ./client-cert.der.sign, */
const unsigned char client_cert_der_sign[] =
{
0x5D, 0x1F, 0x89, 0x41, 0xEC, 0x47, 0xC8, 0x90, 0x61, 0x79,
0x8A, 0x16, 0x1F, 0x31, 0x96, 0x67, 0xD9, 0x3C, 0xEC, 0x6B,
0x58, 0xC6, 0x5A, 0xED, 0x99, 0xB3, 0xEF, 0x27, 0x6F, 0x04,
0x8C, 0xD9, 0x68, 0xB1, 0xD6, 0x23, 0x15, 0x84, 0x00, 0xE1,
0x27, 0xD1, 0x1F, 0x68, 0xB7, 0x3F, 0x13, 0x53, 0x8A, 0x95,
0x5A, 0x20, 0x7C, 0xB2, 0x76, 0x5B, 0xDC, 0xE0, 0xA6, 0x21,
0x7C, 0x49, 0xCF, 0x93, 0xBA, 0xD5, 0x12, 0x9F, 0xEE, 0x90,
0x5B, 0x3F, 0xA3, 0x9D, 0x13, 0x72, 0xAC, 0x72, 0x16, 0xFE,
0x1D, 0xBE, 0xEB, 0x8E, 0xC7, 0xDC, 0xC4, 0xF8, 0x1A, 0xD8,
0xA0, 0xA4, 0xF6, 0x04, 0x30, 0xF6, 0x7E, 0xB6, 0xC8, 0xE1,
0xAB, 0x88, 0x37, 0x08, 0x63, 0x72, 0xAA, 0x46, 0xCC, 0xCA,
0xF0, 0x9E, 0x02, 0x1E, 0x65, 0x67, 0xFF, 0x2C, 0x9D, 0x81,
0x6C, 0x1E, 0xF1, 0x54, 0x05, 0x68, 0x68, 0x18, 0x72, 0x26,
0x55, 0xB6, 0x2C, 0x95, 0xC0, 0xC9, 0xB2, 0xA7, 0x0B, 0x60,
0xD7, 0xEB, 0x1D, 0x08, 0x1A, 0xA2, 0x54, 0x15, 0x89, 0xCB,
0x83, 0x21, 0x5D, 0x15, 0x9B, 0x38, 0xAC, 0x89, 0x63, 0xD5,
0x4B, 0xF4, 0x8B, 0x47, 0x93, 0x78, 0x43, 0xCB, 0x9B, 0x71,
0xBF, 0x94, 0x76, 0xB5, 0xCE, 0x35, 0xA9, 0x1A, 0xD5, 0xA5,
0xD8, 0x19, 0xA6, 0x04, 0x39, 0xB1, 0x09, 0x8C, 0x65, 0x02,
0x58, 0x3A, 0x95, 0xEF, 0xA2, 0xC3, 0x85, 0x18, 0x61, 0x23,
0x2D, 0xC5, 0xCD, 0x62, 0xC1, 0x19, 0x31, 0xE5, 0x36, 0x95,
0x22, 0xDB, 0x3E, 0x1A, 0x3C, 0xE8, 0xC6, 0x2E, 0xDF, 0xD9,
0x2F, 0x84, 0xC1, 0xF0, 0x38, 0x2B, 0xE5, 0x73, 0x35, 0x4F,
0x05, 0xE2, 0xA5, 0x60, 0x79, 0xB0, 0x23, 0xDC, 0x56, 0x4C,
0xE7, 0xD9, 0x1F, 0xCF, 0x6A, 0xFC, 0x55, 0xEB, 0xAA, 0x48,
0x3E, 0x95, 0x2A, 0x10, 0x01, 0x05
};
const int sizeof_client_cert_der_sign = sizeof(client_cert_der_sign);
uint32_t s_inst1[R_TSIP_SINST_WORD_SIZE] = { 0 };
uint32_t s_inst2[R_TSIP_SINST2_WORD_SIZE]= { 0 };
#endif

View File

@ -1,276 +0,0 @@
/* test_main.c
*
* Copyright (C) 2006-2021 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 "stdio.h"
#include "stdint.h"
#include <wolfssl/wolfcrypt/settings.h>
#include "wolfssl/wolfcrypt/types.h"
#include "wolfssl_demo.h"
void main(void);
#ifdef __cplusplus
extern "C" {
}
#endif
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
#include "r_t4_itcpip.h"
#include "r_sys_time_rx_if.h"
#include "Pin.h"
#define T4_WORK_SIZE (14800)
static UW tcpudp_work[(T4_WORK_SIZE / 4) + 1];
#endif
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
#include "key_data.h"
#include <wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h>
extern const st_key_block_data_t g_key_block_data;
user_PKCbInfo guser_PKCbInfo;
#endif
static long tick;
static void timeTick(void *pdata)
{
tick++;
}
typedef struct func_args {
int argc;
char** argv;
int return_code;
} func_args;
void wolfcrypt_test(func_args args);
int benchmark_test(void *args);
double current_time(int reset)
{
if(reset) tick = 0 ;
return ((double)tick/FREQ) ;
}
#if defined(TLS_CLIENT) || defined(TLS_SERVER)
int SetTsiptlsKey()
{
#if defined(WOLFSSL_RENESAS_TSIP) && (WOLFSSL_RENESAS_TSIP_VER >=109)
#if defined(TLS_CLIENT)
#if defined(USE_ECC_CERT)
/* Root CA cert has ECC-P256 public key */
tsip_inform_cert_sign((const byte *)ca_ecc_cert_der_sig);
#else
/* Root CA cert has RSA public key */
tsip_inform_cert_sign((const byte *)ca_cert_der_sig);
#endif
tsip_inform_user_keys_ex(
(byte*)&g_key_block_data.encrypted_provisioning_key,
(byte*)&g_key_block_data.iv,
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key,
encrypted_user_key_type);
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
guser_PKCbInfo.user_key_id = 0;
#endif
#elif defined(TLS_SERVER)
tsip_inform_cert_sign((const byte *)client_cert_der_sign);
tsip_inform_user_keys_ex(
(byte *)&g_key_block_data.encrypted_provisioning_key,
(byte *)&g_key_block_data.iv,
(byte *)&g_key_block_data.encrypted_user_rsa2048_ne_key,
encrypted_user_key_type);
#endif
#else
#if defined(TLS_CLIENT)
tsip_inform_cert_sign((const byte *)ca_cert_sig);
tsip_inform_user_keys((byte*)&g_key_block_data.encrypted_session_key,
(byte*)&g_key_block_data.iv,
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key);
#elif defined(TLS_SERVER)
tsip_inform_cert_sign((const byte *)client_cert_der_sign);
tsip_inform_user_keys((byte*)&g_key_block_data.encrypted_session_key,
(byte*)&g_key_block_data.iv,
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key);
#endif
#endif
return 0;
}
int Open_tcp( )
{
ER ercd;
W size;
sys_time_err_t sys_ercd;
char ver[128];
/* cast from uint8_t to char* */
strcpy(ver, (char*)R_t4_version.library);
sys_ercd = R_SYS_TIME_Open();
if (sys_ercd != SYS_TIME_SUCCESS) {
printf("ERROR : R_SYS_TIME_Open() failed\n");
return -1;
}
R_Pins_Create();
/* start LAN controller */
ercd = lan_open();
/* initialize TCP/IP */
size = tcpudp_get_ramsize();
if (size > (sizeof(tcpudp_work))) {
printf("size > (sizeof(tcpudp_work))!\n");
return -1;
}
ercd = tcpudp_open(tcpudp_work);
if (ercd != E_OK) {
printf("ERROR : tcpudp_open failed\n");
return -1;
}
return 0;
}
void Close_tcp()
{
/* end TCP/IP */
tcpudp_close();
lan_close();
R_SYS_TIME_Close();
}
#endif
void main(void)
{
(void)timeTick;
#if defined(CRYPT_TEST) || defined(BENCHMARK)
#if defined(CRYPT_TEST)
int ret;
func_args args = { 0 };
if ((ret = wolfCrypt_Init()) != 0) {
printf("wolfCrypt_Init failed %d\n", ret);
}
printf("Start wolfCrypt Test\n");
wolfcrypt_test(args);
printf("End wolfCrypt Test\n");
if ((ret = wolfCrypt_Cleanup()) != 0) {
printf("wolfCrypt_Cleanup failed %d\n", ret);
}
#endif
#if defined(BENCHMARK)
#include "r_cmt_rx_if.h"
uint32_t channel;
R_CMT_CreatePeriodic(FREQ, &timeTick, &channel);
printf("Start wolfCrypt Benchmark\n");
benchmark_test(NULL);
printf("End wolfCrypt Benchmark\n");
#endif
#elif defined(TLS_CLIENT)
#include "r_cmt_rx_if.h"
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
#ifdef USE_ECC_CERT
const char* cipherlist[] = {
"ECDHE-ECDSA-AES128-GCM-SHA256",
"ECDHE-ECDSA-AES128-SHA256"
};
const int cipherlist_sz = 2;
#else
const char* cipherlist[] = {
"ECDHE-RSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES128-SHA256",
"AES128-SHA",
"AES128-SHA256",
"AES256-SHA",
"AES256-SHA256"
};
const int cipherlist_sz = 6;
#endif
#else
const char* cipherlist[] = { NULL };
const int cipherlist_sz = 0;
#endif
int i = 0;
Open_tcp();
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
SetTsiptlsKey();
#endif
do {
if(cipherlist_sz > 0 ) printf("cipher : %s\n", cipherlist[i]);
wolfSSL_TLS_client_init(cipherlist[i]);
wolfSSL_TLS_client();
i++;
} while (i < cipherlist_sz);
Close_tcp();
#elif defined(TLS_SERVER)
Open_tcp();
#if defined(WOLFSSL_RENESAS_TSIP)
SetTsiptlsKey();
#endif
wolfSSL_TLS_server_init();
wolfSSL_TLS_server();
Close_tcp();
#endif
}
#ifdef __cplusplus
void abort(void)
{
}
#endif

View File

@ -1,224 +0,0 @@
/* wolf_client.c
*
* Copyright (C) 2006-2021 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 <stdio.h>
#include <string.h>
#include "r_t4_itcpip.h"
#include "wolfssl/wolfcrypt/settings.h"
#include "wolfssl/ssl.h"
#include "wolfssl/certs_test.h"
#include "key_data.h"
#include "wolfssl_demo.h"
#define SIMPLE_TLSSEVER_IP "192.168.1.7"
#define SIMPLE_TLSSERVER_PORT "11111"
ER t4_tcp_callback(ID cepid, FN fncd , VP p_parblk);
static WOLFSSL_CTX *client_ctx;
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
uint32_t g_encrypted_root_public_key[140];
static TsipUserCtx userContext;
#endif
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid;
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;
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;
}
static int getPort(char *arg)
{
int port;
if(sscanf(arg, "%d", &port) == 1)
return port;
else return 0;
}
void wolfSSL_TLS_client_init(const char* cipherlist)
{
#ifndef NO_FILESYSTEM
#ifdef USE_ECC_CERT
char *cert = "./certs/ca-ecc-cert.pem";
#else
char *cert = "./certs/ca-cert.pem";
#endif
#else
#if defined(USE_ECC_CERT) && defined(USE_CERT_BUFFERS_256)
const unsigned char *cert = ca_ecc_cert_der_256;
#define SIZEOF_CERT sizeof_ca_ecc_cert_der_256
#else
const unsigned char *cert = ca_cert_der_2048;
#define SIZEOF_CERT sizeof_ca_cert_der_2048
#endif
#endif
wolfSSL_Init();
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* Create and initialize WOLFSSL_CTX */
if ((client_ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method_ex((void *)NULL))) == NULL) {
printf("ERROR: failed to create WOLFSSL_CTX\n");
return;
}
#ifdef WOLFSSL_RENESAS_TSIP_TLS
tsip_set_callbacks(client_ctx);
#endif
#if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_locations(client_ctx, cert, 0) != SSL_SUCCESS) {
printf("ERROR: can't load \"%s\"\n", cert);
return NULL;
}
#else
if (wolfSSL_CTX_load_verify_buffer(client_ctx, cert, SIZEOF_CERT, SSL_FILETYPE_ASN1) != SSL_SUCCESS){
printf("ERROR: can't load certificate data\n");
return;
}
#endif
/* Register callbacks */
wolfSSL_SetIORecv(client_ctx, my_IORecv);
wolfSSL_SetIOSend(client_ctx, my_IOSend);
/* use specific cipher */
if (cipherlist != NULL &&
wolfSSL_CTX_set_cipher_list(client_ctx, cipherlist) != WOLFSSL_SUCCESS) {
wolfSSL_CTX_free(client_ctx); client_ctx = NULL;
printf("client can't set cipher list");
}
}
void wolfSSL_TLS_client( )
{
ID cepid = 1;
ER ercd;
int ret;
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)client_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;
if((dst_addr.ipaddr = getIPaddr(SIMPLE_TLSSEVER_IP)) == 0){
printf("ERROR: IP address\n");
return;
}
if((dst_addr.portno = getPort(SIMPLE_TLSSERVER_PORT)) == 0){
printf("ERROR: IP address\n");
return;
}
if((ercd = tcp_con_cep(cepid, &my_addr, &dst_addr, TMO_FEVR)) != E_OK) {
printf("ERROR TCP Connect: %d\n", ercd);
return;
}
if((ssl = wolfSSL_new(ctx)) == NULL) {
printf("ERROR wolfSSL_new: %d\n", wolfSSL_get_error(ssl, 0));
return;
}
#ifdef WOLFSSL_RENESAS_TSIP_TLS
tsip_set_callback_ctx(ssl, &userContext);
#endif
/* set callback context */
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
if(wolfSSL_connect(ssl) != SSL_SUCCESS) {
printf("ERROR SSL connect: %d\n", wolfSSL_get_error(ssl, 0));
return;
}
if (wolfSSL_write(ssl, sendBuff, strlen(sendBuff)) != strlen(sendBuff)) {
printf("ERROR SSL write: %d\n", wolfSSL_get_error(ssl, 0));
return;
}
if ((ret=wolfSSL_read(ssl, rcvBuff, BUFF_SIZE)) < 0) {
printf("ERROR SSL read: %d\n", wolfSSL_get_error(ssl, 0));
return;
}
rcvBuff[ret] = '\0' ;
printf("Received: %s\n\n", rcvBuff);
/* frees all data before client termination */
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
tcp_sht_cep(cepid);
tcp_cls_cep(cepid, TMO_FEVR);
return;
}

View File

@ -1,207 +0,0 @@
/* wolf_server.c
*
* Copyright (C) 2006-2021 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 <stdio.h>
#include <string.h>
#include "r_t4_itcpip.h"
#include "wolfssl/wolfcrypt/settings.h"
#include "wolfssl/ssl.h"
#include "wolfssl/certs_test.h"
#include "wolfssl_demo.h"
static WOLFSSL_CTX *server_ctx;
static byte doCliCertCheck;
static int my_IORecv(WOLFSSL* ssl, char* buff, int sz, void* ctx)
{
int ret;
ID cepid;
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;
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;
}
void wolfSSL_TLS_server_init(byte doClientCheck)
{
int ret;
#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
char *clientCert = "./certs/client-cert.pem";
#else
#if defined(USE_ECC_CERT) && defined(USE_CERT_BUFFERS_256)
const unsigned char *cert = serv_ecc_der_256;
#define sizeof_cert sizeof_serv_ecc_der_256
const unsigned char *key = NULL;
#define sizeof_key NULL
const unsigned char *clientCert = NULL;
#define sizeof_clicert NULL
#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
const unsigned char *clientCert = client_cert_der_2048;
#define sizeof_clicert sizeof_client_cert_der_2048
#endif
#endif
wolfSSL_Init();
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* Create and initialize WOLFSSL_CTX */
if ((server_ctx = wolfSSL_CTX_new(wolfSSLv23_server_method_ex((void *)NULL)))
== NULL) {
printf("ERROR: failed to create WOLFSSL_CTX\n");
return;
}
#if !defined(NO_FILESYSTEM)
ret = wolfSSL_CTX_use_certificate_file(server_ctx, cert, 0);
#else
ret = wolfSSL_CTX_use_certificate_buffer(server_ctx, cert,
sizeof_cert, SSL_FILETYPE_ASN1);
#endif
if (ret != SSL_SUCCESS) {
printf("Error %d loading server-cert!\n", ret);
return;
}
/* Load server key into WOLFSSL_CTX */
#if !defined(NO_FILESYSTEM)
ret = wolfSSL_CTX_use_PrivateKey_file(server_ctx, key, 0);
#else
ret = wolfSSL_CTX_use_PrivateKey_buffer(server_ctx, key, sizeof_key,
SSL_FILETYPE_ASN1);
#endif
if (ret != SSL_SUCCESS) {
printf("Error %d loading server-key!\n", ret);
return;
}
#if defined(WOLFSSL_RENESAS_TSIP)
doCliCertCheck = 1;
#endif
if (doCliCertCheck) {
wolfSSL_CTX_set_verify(server_ctx, WOLFSSL_VERIFY_PEER |
WOLFSSL_VERIFY_FAIL_IF_NO_PEER_CERT, 0);
#if !defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_locations(server_ctx, clientCert, 0)
!= WOLFSSL_SUCCESS)
#else
if (wolfSSL_CTX_load_verify_buffer(server_ctx, clientCert,
sizeof_clicert,
SSL_FILETYPE_ASN1) != SSL_SUCCESS)
#endif
printf("can't load ca file, Please run from wolfSSL home dir\n");
}
/* Register callbacks */
wolfSSL_SetIORecv(server_ctx, my_IORecv);
wolfSSL_SetIOSend(server_ctx, my_IOSend);
}
void wolfSSL_TLS_server( )
{
ID cepid = 1;
ID repid = 1;
ER ercd;
WOLFSSL_CTX *ctx = (WOLFSSL_CTX *)server_ctx;
WOLFSSL *ssl;
int len;
#define BUFF_SIZE 256
char buff[BUFF_SIZE];
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;
}
if((ssl = wolfSSL_new(ctx)) == NULL) {
printf("ERROR: failed wolfSSL_new\n");
return;
}
wolfSSL_SetIOReadCtx(ssl, (void *)&cepid);
wolfSSL_SetIOWriteCtx(ssl, (void *)&cepid);
if (wolfSSL_accept(ssl) < 0) {
printf("ERROR: SSL Accept(%d)\n", wolfSSL_get_error(ssl, 0));
return;
}
if ((len = wolfSSL_read(ssl, buff, sizeof(buff) - 1)) < 0) {
printf("ERROR: SSL Read(%d)\n", wolfSSL_get_error(ssl, 0));
return;
}
buff[len] = '\0';
printf("Received: %s\n", buff);
if (wolfSSL_write(ssl, buff, len) != len) {
printf("ERROR: SSL Write(%d)\n", wolfSSL_get_error(ssl, 0));
return;
}
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
tcp_sht_cep(cepid);
}

View File

@ -1,542 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MicomToolCommonProjectFile Version="1.00">
<CreatorType Name="e2studio" Version=""/>
<Placeholders>
<PlaceholderPrefix>${</PlaceholderPrefix>
<PlaceholderPostfix>}</PlaceholderPostfix>
</Placeholders>
<Project Name="test" Type="Application">
<Files>
<Category Name="src">
<Path>..\..\..\..\..\..\wolfcrypt\benchmark\benchmark.c</Path>
<Path>..\..\..\..\..\..\wolfcrypt\benchmark\benchmark.h</Path>
<Path>src\key_data.c</Path>
<Path>src\key_data.h</Path>
<Path>..\..\..\..\..\..\wolfcrypt\test\test.c</Path>
<Path>src\test_main.c</Path>
<Path>src\wolf_client.c</Path>
<Path>src\wolf_server.c</Path>
<Path>src\wolfssl_demo.h</Path>
<Path>..\common\wolfssl_dummy.c</Path>
<Category Name="smc_gen">
<Category Name="Config_TMR0">
<Path>src\smc_gen\Config_TMR0\Config_TMR0.c</Path>
<Path>src\smc_gen\Config_TMR0\Config_TMR0.h</Path>
<Path>src\smc_gen\Config_TMR0\Config_TMR0_user.c</Path>
</Category>
<Category Name="general">
<Path>src\smc_gen\general\r_cg_hardware_setup.c</Path>
<Path>src\smc_gen\general\r_cg_macrodriver.h</Path>
<Path>src\smc_gen\general\r_cg_tmr.h</Path>
<Path>src\smc_gen\general\r_cg_userdefine.h</Path>
<Path>src\smc_gen\general\r_smc_cgc.c</Path>
<Path>src\smc_gen\general\r_smc_cgc.h</Path>
<Path>src\smc_gen\general\r_smc_cgc_user.c</Path>
<Path>src\smc_gen\general\r_smc_entry.h</Path>
<Path>src\smc_gen\general\r_smc_interrupt.c</Path>
<Path>src\smc_gen\general\r_smc_interrupt.h</Path>
</Category>
<Category Name="r_bsp">
<Path>src\smc_gen\r_bsp\platform.h</Path>
<Path>src\smc_gen\r_bsp\readme.txt</Path>
<Category Name="board">
<Category Name="generic_rx72n">
<Path>src\smc_gen\r_bsp\board\generic_rx72n\hwsetup.c</Path>
<Path>src\smc_gen\r_bsp\board\generic_rx72n\hwsetup.h</Path>
<Path>src\smc_gen\r_bsp\board\generic_rx72n\r_bsp.h</Path>
<Path>src\smc_gen\r_bsp\board\generic_rx72n\r_bsp_config_reference.h</Path>
<Path>src\smc_gen\r_bsp\board\generic_rx72n\r_bsp_interrupt_config_reference.h</Path>
</Category>
<Category Name="user">
<Path>src\smc_gen\r_bsp\board\user\r_bsp.h</Path>
</Category>
</Category>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_bsp\doc\en\r01an1685ej0621-rx-bsp.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_bsp\doc\ja\r01an1685jj0621-rx-bsp.pdf</Path>
</Category>
</Category>
<Category Name="mcu">
<Category Name="all">
<Path>src\smc_gen\r_bsp\mcu\all\dbsct.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\fsp_common_api.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\lowlvl.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\lowlvl.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\lowsrc.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\lowsrc.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\mcu_locks.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_common.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_common.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_cpu.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_interrupts.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_interrupts.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_locking.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_mcu_startup.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_mcu_startup.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_software_interrupt.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_bsp_software_interrupt.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_fsp_error.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_rtos.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_rx_compiler.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_rx_intrinsic_functions.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_rx_intrinsic_functions.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\r_typedefs.h</Path>
<Path>src\smc_gen\r_bsp\mcu\all\resetprg.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\sbrk.c</Path>
<Path>src\smc_gen\r_bsp\mcu\all\sbrk.h</Path>
</Category>
<Category Name="rx72n">
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_clocks.c</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_clocks.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_info.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_init.c</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_init.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_interrupts.c</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_interrupts.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_locks.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_mapped_interrupts.c</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_mapped_interrupts.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\mcu_mapped_interrupts_private.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\r_bsp_cpu.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\r_bsp_locking.h</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\vecttbl.c</Path>
<Path>src\smc_gen\r_bsp\mcu\rx72n\vecttbl.h</Path>
<Category Name="register_access">
<Category Name="ccrx">
<Path>src\smc_gen\r_bsp\mcu\rx72n\register_access\ccrx\iodefine.h</Path>
</Category>
</Category>
</Category>
</Category>
</Category>
<Category Name="r_cmt_rx">
<Path>src\smc_gen\r_cmt_rx\r_cmt_rx_if.h</Path>
<Path>src\smc_gen\r_cmt_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_cmt_rx\doc\en\r01an1856ej0490-rx-timer.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_cmt_rx\doc\ja\r01an1856jj0490-rx-timer.pdf</Path>
</Category>
</Category>
<Category Name="src">
<Path>src\smc_gen\r_cmt_rx\src\r_cmt_rx.c</Path>
</Category>
</Category>
<Category Name="r_config">
<Path>src\smc_gen\r_config\r_bsp_config.h</Path>
<Path>src\smc_gen\r_config\r_bsp_config_readme.txt</Path>
<Path>src\smc_gen\r_config\r_bsp_interrupt_config.h</Path>
<Path>src\smc_gen\r_config\r_cmt_rx_config.h</Path>
<Path>src\smc_gen\r_config\r_ether_rx_config.h</Path>
<Path>src\smc_gen\r_config\r_sys_time_rx_config.h</Path>
<Path>src\smc_gen\r_config\r_t4_driver_rx_config.h</Path>
<Path>src\smc_gen\r_config\r_t4_rx_config.h</Path>
<Path>src\smc_gen\r_config\r_tsip_rx_config.h</Path>
</Category>
<Category Name="r_ether_rx">
<Path>src\smc_gen\r_ether_rx\r_ether_rx_if.h</Path>
<Path>src\smc_gen\r_ether_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_ether_rx\doc\en\r01an2009ej0121-rx-ether.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_ether_rx\doc\ja\r01an2009jj0121-rx-ether.pdf</Path>
</Category>
</Category>
<Category Name="ref">
<Path>src\smc_gen\r_ether_rx\ref\r_ether_rx_config_reference.h</Path>
</Category>
<Category Name="src">
<Path>src\smc_gen\r_ether_rx\src\r_ether_rx.c</Path>
<Path>src\smc_gen\r_ether_rx\src\r_ether_rx_private.h</Path>
<Category Name="phy">
<Path>src\smc_gen\r_ether_rx\src\phy\phy.c</Path>
<Path>src\smc_gen\r_ether_rx\src\phy\phy.h</Path>
</Category>
<Category Name="targets">
<Category Name="rx72n">
<Path>src\smc_gen\r_ether_rx\src\targets\rx72n\r_ether_setting_rx72n.c</Path>
</Category>
</Category>
</Category>
</Category>
<Category Name="r_pincfg">
<Path>src\smc_gen\r_pincfg\Pin.c</Path>
<Path>src\smc_gen\r_pincfg\Pin.h</Path>
<Path>src\smc_gen\r_pincfg\r_ether_rx_pinset.c</Path>
<Path>src\smc_gen\r_pincfg\r_ether_rx_pinset.h</Path>
<Path>src\smc_gen\r_pincfg\r_pinset.h</Path>
</Category>
<Category Name="r_sys_time_rx">
<Path>src\smc_gen\r_sys_time_rx\r_sys_time_rx_if.h</Path>
<Path>src\smc_gen\r_sys_time_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_sys_time_rx\doc\en\r20an0431ej0101-rx-middle.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_sys_time_rx\doc\ja\r20an0431jj0101-rx-middle.pdf</Path>
</Category>
</Category>
<Category Name="ref">
<Path>src\smc_gen\r_sys_time_rx\ref\r_sys_time_rx_config_reference.h</Path>
</Category>
<Category Name="src">
<Path>src\smc_gen\r_sys_time_rx\src\r_sys_time_rx.c</Path>
<Path>src\smc_gen\r_sys_time_rx\src\r_sys_time_rx_private.h</Path>
</Category>
</Category>
<Category Name="r_t4_driver_rx">
<Path>src\smc_gen\r_t4_driver_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_t4_driver_rx\doc\en\r20an0311ej0109-rx-t4.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_t4_driver_rx\doc\ja\r20an0311jj0109-rx-t4.pdf</Path>
</Category>
</Category>
<Category Name="ref">
<Path>src\smc_gen\r_t4_driver_rx\ref\r_t4_driver_rx_config_reference.h</Path>
</Category>
<Category Name="src">
<Path>src\smc_gen\r_t4_driver_rx\src\ether_callback.c</Path>
<Path>src\smc_gen\r_t4_driver_rx\src\t4_driver.c</Path>
<Path>src\smc_gen\r_t4_driver_rx\src\timer.c</Path>
<Path>src\smc_gen\r_t4_driver_rx\src\timer.h</Path>
</Category>
</Category>
<Category Name="r_t4_rx">
<Path>src\smc_gen\r_t4_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_t4_rx\doc\en\r20an0051ej0210-rx-t4.pdf</Path>
<Path>src\smc_gen\r_t4_rx\doc\en\r20uw0031ej0111-t4tiny.pdf</Path>
<Path>src\smc_gen\r_t4_rx\doc\en\r20uw0032ej0109-t4tiny.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_t4_rx\doc\ja\r20an0051jj0210-rx-t4.pdf</Path>
<Path>src\smc_gen\r_t4_rx\doc\ja\r20uw0031jj0111-t4tiny.pdf</Path>
<Path>src\smc_gen\r_t4_rx\doc\ja\r20uw0032jj0109-t4tiny.pdf</Path>
</Category>
</Category>
<Category Name="lib">
<Path>src\smc_gen\r_t4_rx\lib\r_mw_version.h</Path>
<Path>src\smc_gen\r_t4_rx\lib\r_stdint.h</Path>
<Path>src\smc_gen\r_t4_rx\lib\r_t4_itcpip.h</Path>
</Category>
<Category Name="ref">
<Path>src\smc_gen\r_t4_rx\ref\r_t4_rx_config_reference.h</Path>
</Category>
<Category Name="src">
<Path>src\smc_gen\r_t4_rx\src\config_tcpudp.c</Path>
</Category>
</Category>
<Category Name="r_tsip_rx">
<Path>src\smc_gen\r_tsip_rx\r_tsip_rx_if.h</Path>
<Path>src\smc_gen\r_tsip_rx\readme.txt</Path>
<Category Name="doc">
<Category Name="en">
<Path>src\smc_gen\r_tsip_rx\doc\en\r20an0548ej0114-rx-tsip-security.pdf</Path>
</Category>
<Category Name="ja">
<Path>src\smc_gen\r_tsip_rx\doc\ja\r20an0548jj0114-rx-tsip-security.pdf</Path>
</Category>
</Category>
<Category Name="ref">
<Path>src\smc_gen\r_tsip_rx\ref\r_tsip_rx_config_reference.h</Path>
</Category>
</Category>
</Category>
</Category>
</Files>
<Device Category="com.renesas.cdt.managedbuild.renesas.ccrx.common.option.cpu.rx600" Series="RX">R5F572NNHxFB</Device>
<BuildOptions Name="CC-RX" Version="v3.03.00">
<BuildMode Active="True" Name="HardwareDebug">
<GeneralOptions/>
<CompileOptions>
<Option>-isa=rxv3</Option>
<Option>-fpu</Option>
<Option>-nodpfpu</Option>
<Option>-include="${ProjDirPath}\..\common"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\Config_TMR0"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_bsp"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_config"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx\lib"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_ether_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</Option>
<Option>-define=DEBUG_CONSOLE,WOLFSSL_USER_SETTINGS</Option>
<Option>-asmopt=-bank</Option>
<Option>-utf8</Option>
<Option>-nomessage</Option>
<Option>-debug</Option>
<Option>-outcode=utf8</Option>
<Option>-tfu=intrinsic</Option>
<Option>-nologo</Option>
<Option>-lang=c99</Option>
<Option>-lang=cpp</Option>
<Option>-output=obj=${CONFIGDIR}\${FILELEAF}.obj</Option>
<Option>-obj_path=${CONFIGDIR}</Option>
</CompileOptions>
<AssembleOptions>
<Option>-isa=rxv3</Option>
<Option>-fpu</Option>
<Option>-nodpfpu</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</Option>
<Option>-utf8</Option>
<Option>-bank</Option>
<Option>-debug</Option>
<Option>-nologo</Option>
<Option>-output=${CONFIGDIR}</Option>
</AssembleOptions>
<LinkOptions>
<Option>-output="${ProjName}.abs"</Option>
<Option>-form=absolute</Option>
<Option>-nomessage</Option>
<Option>-vect=_undefined_interrupt_source_isr</Option>
<Option>-list=${ProjName}.map</Option>
<Option>-nooptimize</Option>
<Option>-rom=D=R,D_1=R_1,D_2=R_2,D_8=R_8</Option>
<Option>-cpu=RAM=00000000-0007ffff,FIX=00080000-00083fff,FIX=00086000-00087fff,FIX=00088000-0009ffff,FIX=000a0000-000a3fff,RAM=000a4000-000a5fff,FIX=000a6000-000bffff,FIX=000c0000-000dffff,FIX=000e0000-000fffff,ROM=00100000-00107fff,FIX=007fc000-007fcfff,FIX=007fe000-007fffff,RAM=00800000-0087ffff,RAM=00ff8000-00ffffff,RAM=fe7f5d00-fe7f5d7f,RAM=fe7f7d70-fe7f7d9f,ROM=ffc00000-ffffffff</Option>
<Option>-nologo</Option>
<Option>-library="${ProjDirPath}/../${ProjName}/src/smc_gen/r_t4_rx/lib/ccrx/T4_Library_ether_ccrx_rxv1_little_debug.lib"</Option>
<Option>-library="${ProjDirPath}/../${ProjName}/src/smc_gen/r_tsip_rx/lib/ccrx/r_tsip_rx72m_rx72n_rx66n_little.lib"</Option>
<Option>-library="${ProjDirPath}/../wolfssl/Debug/wolfssl.lib"</Option>
<Option>-start=SU,SI,B_1,R_1,B_2,R_2,B,R,B_8,R_8/04,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/020000,C_1,C_2,C,C_8,C$*,D*,W*,L,P*/0FFC00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC</Option>
<PreLinker>Auto</PreLinker>
</LinkOptions>
<LibraryGenerateOptions>
<Option>-isa=rxv3</Option>
<Option>-fpu</Option>
<Option>-nodpfpu</Option>
<Option>-lang=c99</Option>
<Option>-head=runtime,ctype,stdio,stdlib,string,new</Option>
<Option>-output="${ProjName}.lib"</Option>
<Option>-nologo</Option>
<GenerateMode>BuildOptionChanged</GenerateMode>
</LibraryGenerateOptions>
<LinkOrder>
<Path>HardwareDebug\benchmark.obj</Path>
<Path>HardwareDebug\key_data.obj</Path>
<Path>HardwareDebug\Config_TMR0.obj</Path>
<Path>HardwareDebug\Config_TMR0_user.obj</Path>
<Path>HardwareDebug\r_cg_hardware_setup.obj</Path>
<Path>HardwareDebug\r_smc_cgc.obj</Path>
<Path>HardwareDebug\r_smc_cgc_user.obj</Path>
<Path>HardwareDebug\r_smc_interrupt.obj</Path>
<Path>HardwareDebug\hwsetup.obj</Path>
<Path>HardwareDebug\dbsct.obj</Path>
<Path>HardwareDebug\lowlvl.obj</Path>
<Path>HardwareDebug\lowsrc.obj</Path>
<Path>HardwareDebug\mcu_locks.obj</Path>
<Path>HardwareDebug\r_bsp_common.obj</Path>
<Path>HardwareDebug\r_bsp_cpu.obj</Path>
<Path>HardwareDebug\r_bsp_interrupts.obj</Path>
<Path>HardwareDebug\r_bsp_locking.obj</Path>
<Path>HardwareDebug\r_bsp_mcu_startup.obj</Path>
<Path>HardwareDebug\r_bsp_software_interrupt.obj</Path>
<Path>HardwareDebug\r_rx_intrinsic_functions.obj</Path>
<Path>HardwareDebug\resetprg.obj</Path>
<Path>HardwareDebug\sbrk.obj</Path>
<Path>HardwareDebug\mcu_clocks.obj</Path>
<Path>HardwareDebug\mcu_init.obj</Path>
<Path>HardwareDebug\mcu_interrupts.obj</Path>
<Path>HardwareDebug\mcu_mapped_interrupts.obj</Path>
<Path>HardwareDebug\vecttbl.obj</Path>
<Path>HardwareDebug\r_cmt_rx.obj</Path>
<Path>HardwareDebug\phy.obj</Path>
<Path>HardwareDebug\r_ether_rx.obj</Path>
<Path>HardwareDebug\r_ether_setting_rx72n.obj</Path>
<Path>HardwareDebug\Pin.obj</Path>
<Path>HardwareDebug\r_ether_rx_pinset.obj</Path>
<Path>HardwareDebug\r_sys_time_rx.obj</Path>
<Path>HardwareDebug\ether_callback.obj</Path>
<Path>HardwareDebug\t4_driver.obj</Path>
<Path>HardwareDebug\timer.obj</Path>
<Path>HardwareDebug\config_tcpudp.obj</Path>
<Path>HardwareDebug\test.obj</Path>
<Path>HardwareDebug\test_main.obj</Path>
<Path>HardwareDebug\wolf_client.obj</Path>
<Path>HardwareDebug\wolf_server.obj</Path>
<Path>HardwareDebug\wolfssl_dummy.obj</Path>
<Path>HardwareDebug\test.lib</Path>
</LinkOrder>
<CommonOptions>
<IncludePathForC>"${ProjDirPath}\..\common"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\Config_TMR0"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_bsp"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_config"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx\lib"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_ether_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</IncludePathForC>
<IncludePathForAsm>"${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</IncludePathForAsm>
<IncludePathForAsm>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</IncludePathForAsm>
<MacroForC>DEBUG_CONSOLE</MacroForC>
<MacroForC>WOLFSSL_USER_SETTINGS</MacroForC>
</CommonOptions>
</BuildMode>
<BuildMode Active="False" Name="Debug">
<GeneralOptions/>
<CompileOptions>
<Option>-isa=rxv2</Option>
<Option>-fpu</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_bsp"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_config"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx231"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx66t"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx65n"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx\lib"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_ether_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx\src"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</Option>
<Option>-define=DEBUG_CONSOLE</Option>
<Option>-utf8</Option>
<Option>-nomessage</Option>
<Option>-debug</Option>
<Option>-outcode=utf8</Option>
<Option>-nologo</Option>
<Option>-lang=c99</Option>
<Option>-lang=cpp</Option>
<Option>-output=obj=${CONFIGDIR}\${FILELEAF}.obj</Option>
<Option>-obj_path=${CONFIGDIR}</Option>
</CompileOptions>
<AssembleOptions>
<Option>-isa=rxv2</Option>
<Option>-fpu</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</Option>
<Option>-include="${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</Option>
<Option>-utf8</Option>
<Option>-debug</Option>
<Option>-nologo</Option>
<Option>-output=${CONFIGDIR}</Option>
</AssembleOptions>
<LinkOptions>
<Option>-output="${ProjName}.abs"</Option>
<Option>-form=absolute</Option>
<Option>-nomessage</Option>
<Option>-vect=_undefined_interrupt_source_isr</Option>
<Option>-list=${ProjName}.map</Option>
<Option>-nooptimize</Option>
<Option>-rom=D=R,D_1=R_1,D_2=R_2</Option>
<Option>-cpu=RAM=00000000-0003ffff,FIX=00080000-00083fff,FIX=00086000-00087fff,FIX=00088000-0009ffff,FIX=000a0000-000a3fff,RAM=000a4000-000a5fff,FIX=000a6000-000bffff,FIX=000c0000-000dffff,FIX=000e0000-000fffff,ROM=00100000-00107fff,FIX=007fc000-007fcfff,FIX=007fe000-007fffff,RAM=00800000-0085ffff,RAM=fe7f5d00-fe7f5d7f,RAM=fe7f7d70-fe7f7d9f,ROM=ffe00000-ffffffff</Option>
<Option>-nologo</Option>
<Option>-library="${ProjDirPath}/../${ProjName}/src/smc_gen/r_t4_rx/lib/T4_Library_rxv1_ether_little.lib"</Option>
<Option>-start=SU,SI,B_1,R_1,B_2,R_2,B,R/04,C_1,C_2,C,C$*,D*,W*,L,P*/0FFE00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC,B_ETHERNET_BUFFERS_1,B_RX_DESC_1,B_TX_DESC_1/00010000</Option>
<PreLinker>Auto</PreLinker>
</LinkOptions>
<LibraryGenerateOptions>
<Option>-isa=rxv2</Option>
<Option>-fpu</Option>
<Option>-lang=c99</Option>
<Option>-head=runtime,stdio,stdlib,string,new</Option>
<Option>-output="${ProjName}.lib"</Option>
<Option>-nologo</Option>
<GenerateMode>BuildOptionChanged</GenerateMode>
</LibraryGenerateOptions>
<LinkOrder>
<Path>Debug\benchmark.obj</Path>
<Path>Debug\key_data.obj</Path>
<Path>Debug\Config_TMR0.obj</Path>
<Path>Debug\Config_TMR0_user.obj</Path>
<Path>Debug\r_cg_hardware_setup.obj</Path>
<Path>Debug\r_smc_cgc.obj</Path>
<Path>Debug\r_smc_cgc_user.obj</Path>
<Path>Debug\r_smc_interrupt.obj</Path>
<Path>Debug\hwsetup.obj</Path>
<Path>Debug\dbsct.obj</Path>
<Path>Debug\lowlvl.obj</Path>
<Path>Debug\lowsrc.obj</Path>
<Path>Debug\mcu_locks.obj</Path>
<Path>Debug\r_bsp_common.obj</Path>
<Path>Debug\r_bsp_cpu.obj</Path>
<Path>Debug\r_bsp_interrupts.obj</Path>
<Path>Debug\r_bsp_locking.obj</Path>
<Path>Debug\r_bsp_mcu_startup.obj</Path>
<Path>Debug\r_bsp_software_interrupt.obj</Path>
<Path>Debug\r_rx_intrinsic_functions.obj</Path>
<Path>Debug\resetprg.obj</Path>
<Path>Debug\sbrk.obj</Path>
<Path>Debug\mcu_clocks.obj</Path>
<Path>Debug\mcu_init.obj</Path>
<Path>Debug\mcu_interrupts.obj</Path>
<Path>Debug\mcu_mapped_interrupts.obj</Path>
<Path>Debug\vecttbl.obj</Path>
<Path>Debug\r_cmt_rx.obj</Path>
<Path>Debug\phy.obj</Path>
<Path>Debug\r_ether_rx.obj</Path>
<Path>Debug\r_ether_setting_rx72n.obj</Path>
<Path>Debug\Pin.obj</Path>
<Path>Debug\r_ether_rx_pinset.obj</Path>
<Path>Debug\r_sys_time_rx.obj</Path>
<Path>Debug\ether_callback.obj</Path>
<Path>Debug\t4_driver.obj</Path>
<Path>Debug\timer.obj</Path>
<Path>Debug\config_tcpudp.obj</Path>
<Path>Debug\test.obj</Path>
<Path>Debug\test_main.obj</Path>
<Path>Debug\wolf_client.obj</Path>
<Path>Debug\wolf_server.obj</Path>
<Path>Debug\wolfssl_dummy.obj</Path>
<Path>Debug\test.lib</Path>
</LinkOrder>
<CommonOptions>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_bsp"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_config"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx231"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx66t"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_tsip_rx\src\targets\rx65n"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_cmt_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_driver_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_t4_rx\lib"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_ether_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_sys_time_rx\src"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</IncludePathForC>
<IncludePathForAsm>"${ProjDirPath}\..\${ProjName}\src\smc_gen\general"</IncludePathForAsm>
<IncludePathForAsm>"${ProjDirPath}\..\${ProjName}\src\smc_gen\r_pincfg"</IncludePathForAsm>
<MacroForC>DEBUG_CONSOLE</MacroForC>
</CommonOptions>
</BuildMode>
</BuildOptions>
</Project>
</MicomToolCommonProjectFile>

View File

@ -1,167 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.renesas.cdt.launch.dsf.gdbremote.launchConfigurationType">
<stringAttribute key="com.renesas.cdt.core.additionalServerArgs" value=""/>
<stringAttribute key="com.renesas.cdt.core.initCommands" value=""/>
<stringAttribute key="com.renesas.cdt.core.ipAddress" value="localhost"/>
<stringAttribute key="com.renesas.cdt.core.jtagDevice" value="E2 Lite (RX)"/>
<stringAttribute key="com.renesas.cdt.core.jtagDeviceId" value="com.renesas.hardwaredebug.rx.e2"/>
<listAttribute key="com.renesas.cdt.core.listGDBExe">
<listEntry value="rx-elf-gdb -rx-force-isa=v3 -rx-force-double-fpu"/>
</listAttribute>
<listAttribute key="com.renesas.cdt.core.listGDBLaunchName">
<listEntry value="main"/>
</listAttribute>
<listAttribute key="com.renesas.cdt.core.listGDBPort">
<listEntry value="61234"/>
</listAttribute>
<stringAttribute key="com.renesas.cdt.core.optionInitCommands" value="monitor set_internal_mem_overwrite 0-645&#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"/>
<booleanAttribute key="com.renesas.cdt.core.secondGDBSupport" value="false"/>
<intAttribute key="com.renesas.cdt.core.secondGdbPortNumber" value="61237"/>
<stringAttribute key="com.renesas.cdt.core.serverParam" value="-g E2LITE -t R5F572NN -uClockSrcHoco= 0 -uInputClock= 16.0000 -uAllowClockSourceInternal= 1 -uUseFine= 1 -uFineBaudRate= 1.50 -w 0 -z 0 -uRegisterSetting= 0 -uModePin= 0 -uChangeStartupBank= 0 -uStartupBank= 0 -uDebugMode= 0 -uExecuteProgram= 0 -uIdCode= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -uresetOnReload= 1 -n 0 -uWorkRamAddress= 1000 -uProgReWriteIRom= 0 -uProgReWriteDFlash= 0 -uhookWorkRamAddr= 0x7fb40 -uhookWorkRamSize= 0x4c0"/>
<booleanAttribute key="com.renesas.cdt.core.startServer" value="true"/>
<stringAttribute key="com.renesas.cdt.core.targetDevice" value="R5F572NN"/>
<booleanAttribute key="com.renesas.cdt.core.useRemoteTarget" value="true"/>
<booleanAttribute key="com.renesas.cdt.core.verboseMode" value="false"/>
<stringAttribute key="com.renesas.cdt.debug.ioview.dsf.registerSelection0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;selectedRegisterList ioFilePath=&quot;C:\Users\Taka\.eclipse\com.renesas.platform_1380223289\DebugComp\RX\IoFiles\RX72N.sfrx&quot;/&gt;&#13;&#10;"/>
<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"/>
<listAttribute key="com.renesas.cdt.launch.dsf.downloadImages">
<listEntry value="|true|true|true|0|true|No core"/>
</listAttribute>
<booleanAttribute key="com.renesas.cdt.launch.dsf.downloadImagesUpgradedV30" 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.e1.allow.change.startup_bank" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.allow.clock.source.internal" value="true"/>
<intAttribute key="com.renesas.hardwaredebug.e1.clock_source" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.connection.mode" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.e1_pwr" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.enable.hot.plug" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.execute.program" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.external_memory" value=""/>
<stringAttribute key="com.renesas.hardwaredebug.e1.fine.baud.rate" value="2.00"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.flash_overwrite_blocks" value="0-581"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.hook_Stop_func" value="0x0"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.hook_enable_Stop" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.hook_enable_start" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.hook_start_func" value="0x0"/>
<intAttribute key="com.renesas.hardwaredebug.e1.hook_work_ram_Addr" value="261584"/>
<intAttribute key="com.renesas.hardwaredebug.e1.hook_work_ram_Size" value="560"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.id_code" value="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.inputclock" value="12.0000"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.jtag.clock.freq" value="16.5"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.jtag.or.fine" value="1"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.le" value="true"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.mode" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.mode_pin" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.prog_rewrite_dflash" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.e1.prog_rewrite_irom" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.serial_number" value=""/>
<stringAttribute key="com.renesas.hardwaredebug.e1.startup_bank" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.e1.supply.voltage" value="3.3V"/>
<intAttribute key="com.renesas.hardwaredebug.e1.timer_clock" value="0"/>
<intAttribute key="com.renesas.hardwaredebug.e1.work_ram_start" value="4096"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.allow.clock.source.internal" value="true"/>
<intAttribute key="com.renesas.hardwaredebug.ez.clock_source" value="1"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.connection.mode" value="0"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.enable.hot.plug" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.execute.program" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.external_memory" value=""/>
<stringAttribute key="com.renesas.hardwaredebug.ez.fine.baud.rate" value="1.00"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.flash_overwrite_blocks" value="0-31"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.hook_Stop_func" value="0x0"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.hook_enable_Stop" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.hook_enable_start" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.hook_start_func" value="0x0"/>
<intAttribute key="com.renesas.hardwaredebug.ez.hook_work_ram_Addr" value="9680"/>
<intAttribute key="com.renesas.hardwaredebug.ez.hook_work_ram_Size" value="560"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.id_code" value="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.inputclock" value="22.0"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.jtag.clock.freq" value="16.5"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.jtag.or.fine" value="1"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.le" value="true"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.mode" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.mode_pin" value="0"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.power.voltage" value="0.0000"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.prog_rewrite_dflash" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.ez.prog_rewrite_irom" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.ez.serial_number" value=""/>
<intAttribute key="com.renesas.hardwaredebug.ez.timer_clock" value="0"/>
<intAttribute key="com.renesas.hardwaredebug.ez.work_ram_start" value="4096"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e1.E1DebugToolSettingsTree.resetAfterReload" value="true"/>
<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="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.enable.hot.plug" value="false"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.e2lite.execute.program" value="false"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.external_memory" value=""/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.fine.baud.rate" value="1.50"/>
<stringAttribute key="com.renesas.hardwaredebug.rx.e2lite.flash_overwrite_blocks" value="0-645"/>
<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.0000"/>
<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"/>
<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="0"/>
<intAttribute key="com.renesas.hardwaredebug.rx.e2lite.work_ram_start" value="4096"/>
<booleanAttribute key="com.renesas.hardwaredebug.rx.ez.EzDebugToolSettingsTree.resetAfterReload" value="true"/>
<booleanAttribute key="com.renesas.hardwaredebug.timemeasurement" value="true"/>
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.delay" value="3"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageFileName" value="F:\Work\RX72NEnvisionKit\IDE\Renesas\e2studio\RX72NEnvisionKit\test\HardwareDebug\test.x"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.imageOffset" value="0"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadImage" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.loadSymbols" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value="F:\Work\RX72NEnvisionKit\IDE\Renesas\e2studio\RX72NEnvisionKit\test\HardwareDebug\test.x"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value="0"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForImage" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.useFileForSymbols" value="false"/>
<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"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="HardwareDebug/test.x"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="test"/>
<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.renesas.ccrx.hardwaredebug.configuration.1378385971"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/test"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<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>

View File

@ -39,13 +39,19 @@
<tool id="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler.958103973" name="Compiler" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.base.compiler">
<option id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.1276851320" name="浮動小数点演算命令を使用する (-fpu/-nofpu)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu" useByScannerDiscovery="false" value="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.fpu.yes" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include.1381248206" name="インクルード・ファイルを検索するフォルダ (-include)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.include" useByScannerDiscovery="false" valueType="includePath">
<listOptionValue builtIn="false" value="${ProjDirPath}/../common"/>
<listOptionValue builtIn="false" value="${ProjDirPath}//../../../../../../"/>
<listOptionValue builtIn="false" value="${TCINSTALL}/include"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_bsp"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_config"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../test/src/smc_gen/r_tsip_rx"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../../demos"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../freertos_kernel/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../freertos_kernel/portable/Renesas/RX700v3_DPFPU&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../libraries/freertos_plus/standard/freertos_plus_tcp/include&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/amazon_freertos_common&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/boards/rx72n-envision-kit/aws_demos/config_files&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/boards/rx72n-envision-kit/aws_demos/src/smc_gen&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/boards/rx72n-envision-kit/aws_demos/src/smc_gen/r_config&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/boards/rx72n-envision-kit/aws_demos/src/smc_gen/r_bsp&quot;"/>
<listOptionValue builtIn="false" value="&quot;${ProjDirPath}/../../../../../../../vendors/renesas/boards/rx72n-envision-kit/aws_demos/src/smc_gen/r_tsip_rx&quot;"/>
<listOptionValue builtIn="false" value="${ProjDirPath}/../wolfssl_demo"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define.687020263" name="プリプロセッサ・マクロの定義 (-define)" superClass="com.renesas.cdt.managedbuild.renesas.ccrx.compiler.option.define" useByScannerDiscovery="false" valueType="definedSymbols">
<listOptionValue builtIn="false" value="WOLFSSL_USER_SETTINGS"/>
@ -107,6 +113,7 @@
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\ge_operations.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\hash.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\hmac.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\idea.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\integer.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\kdf.obj&quot;"/>
<listOptionValue builtIn="false" value="&quot;.\wolfcrypt/src\logging.obj&quot;"/>
@ -172,4 +179,4 @@
<resource resourceType="PROJECT" workspacePath="/wolfssl"/>
</configuration>
</storageModule>
</cproject>
</cproject>

View File

@ -93,12 +93,18 @@
<GeneralOptions/>
<CompileOptions>
<Option>-isa=rxv2</Option>
<Option>-include="${ProjDirPath}\..\common"</Option>
<Option>-include="${ProjDirPath}\\..\..\..\..\..\..\"</Option>
<Option>-include="${ProjDirPath}\..\test\src\smc_gen\"</Option>
<Option>-include="${ProjDirPath}\..\test\src\smc_gen\r_bsp"</Option>
<Option>-include="${ProjDirPath}\..\test\src\smc_gen\r_config"</Option>
<Option>-include="${ProjDirPath}\..\test\src\smc_gen\r_tsip_rx"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\demos"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\freertos_kernel\include"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\freertos_kernel\portable\Renesas\RX700v3_DPFPU"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\include"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\amazon_freertos_common"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\config_files"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_config"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_bsp"</Option>
<Option>-include="${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_tsip_rx"</Option>
<Option>-include="${ProjDirPath}\..\wolfssl_demo"</Option>
<Option>-define=WOLFSSL_USER_SETTINGS</Option>
<Option>-nomessage</Option>
<Option>-debug</Option>
@ -200,12 +206,18 @@
<Path>Debug\wolfmath.obj</Path>
</LinkOrder>
<CommonOptions>
<IncludePathForC>"${ProjDirPath}\..\common"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\\..\..\..\..\..\..\"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\test\src\smc_gen\"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\test\src\smc_gen\r_bsp"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\test\src\smc_gen\r_config"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\test\src\smc_gen\r_tsip_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\demos"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\freertos_kernel\include"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\freertos_kernel\portable\Renesas\RX700v3_DPFPU"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\libraries\freertos_plus\standard\freertos_plus_tcp\include"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\amazon_freertos_common"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\config_files"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_config"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_bsp"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\..\..\..\..\..\..\vendors\renesas\boards\rx72n-envision-kit\aws_demos\src\smc_gen\r_tsip_rx"</IncludePathForC>
<IncludePathForC>"${ProjDirPath}\..\wolfssl_demo"</IncludePathForC>
<MacroForC>WOLFSSL_USER_SETTINGS</MacroForC>
</CommonOptions>
</BuildMode>

View File

@ -0,0 +1,179 @@
/* key_data.c
*
* Copyright (C) 2006-2021 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 "key_data.h"
/*-------------------------------------------------------------------------
RX72N supports TSIP v1.09 or later
--------------------------------------------------------------------------*/
#if defined(WOLFSSL_RENESAS_TSIP_TLS) && (WOLFSSL_RENESAS_TSIP_VER >= 109)
const st_key_block_data_t g_key_block_data =
{
/* uint8_t encrypted_provisioning_key[R_TSIP_AES_CBC_IV_BYTE_SIZE * 2]; */
{
0xDF, 0x78, 0x49, 0x28, 0xA9, 0x4C, 0x36, 0xD6, 0xC9, 0x89, 0x98, 0xDF,
0xFF, 0xB1, 0xCB, 0xBC, 0x9F, 0xF4, 0x34, 0xCD, 0x81, 0x53, 0x67, 0xB3,
0xFC, 0x85, 0xC6, 0x0B, 0xA2, 0xC8, 0xF4, 0x83
},
/* uint8_t iv[R_TSIP_AES_CBC_IV_BYTE_SIZE]; */
{
0xF6, 0xA9, 0x83, 0x5A, 0xA1, 0x65, 0x1D, 0x28, 0xC8, 0x1A, 0xA6, 0x9D,
0x34, 0xB2, 0x4D, 0x92
},
/* uint8_t
* encrypted_user_rsa2048_ne_key[R_TSIP_RSA2048_NE_KEY_BYTE_SIZE + 16];
*/
{
0xC8, 0x12, 0x94, 0x44, 0x43, 0x35, 0x82, 0x09, 0xF2, 0x54, 0x69, 0xB6,
0x9B, 0x8E, 0x6F, 0x92, 0xE3, 0x3A, 0xB2, 0x55, 0x63, 0x8D, 0xDB, 0x47,
0x75, 0x8D, 0x9D, 0x56, 0xD7, 0x7F, 0x42, 0x3A, 0x04, 0x4C, 0xAA, 0xF1,
0x94, 0x9C, 0x8C, 0x97, 0xAF, 0x5C, 0xBA, 0x0E, 0xBD, 0x8A, 0xE3, 0x67,
0x3E, 0xF8, 0x4C, 0x8E, 0xB7, 0x71, 0xB0, 0xCE, 0x09, 0x3C, 0xEC, 0x9C,
0xCC, 0x81, 0x9D, 0x37, 0x9E, 0x34, 0x39, 0x6D, 0xF0, 0x7D, 0x1A, 0x4A,
0xEB, 0xF5, 0x99, 0x91, 0xE1, 0xB0, 0x99, 0x72, 0xB3, 0xF3, 0x2B, 0xE1,
0x6F, 0x5B, 0xD4, 0xA3, 0xB9, 0x9C, 0xEB, 0x95, 0xC3, 0xB2, 0x8F, 0x5C,
0x58, 0xD5, 0x0A, 0xAA, 0x02, 0x01, 0xBF, 0xE1, 0xE9, 0x23, 0xFB, 0x03,
0xCF, 0x54, 0x6D, 0x29, 0xE7, 0x5E, 0x96, 0x51, 0x68, 0x6B, 0xDD, 0x06,
0x67, 0x5E, 0x84, 0x50, 0x21, 0x50, 0x78, 0x89, 0x80, 0xF8, 0x61, 0x9C,
0xBE, 0xDA, 0x75, 0x55, 0x1A, 0xE6, 0x3C, 0xA5, 0x1C, 0xE4, 0x5A, 0x5C,
0x68, 0x7C, 0x48, 0xC7, 0x6A, 0xC9, 0x80, 0x54, 0x31, 0xE7, 0x65, 0x8A,
0x13, 0xF3, 0x6D, 0x0F, 0xB3, 0x62, 0x8D, 0x1B, 0xEA, 0x71, 0x12, 0x86,
0x50, 0x98, 0xA3, 0x8E, 0x64, 0x1D, 0x3E, 0xA4, 0x5A, 0x99, 0xB3, 0xBD,
0x3E, 0x3D, 0xF5, 0x0F, 0x41, 0x09, 0xFB, 0x04, 0x7B, 0x8D, 0xA1, 0xCF,
0xBA, 0x71, 0x85, 0x86, 0x3C, 0x04, 0xDD, 0x74, 0x8D, 0xE3, 0x3C, 0x8E,
0x52, 0x3C, 0x05, 0x7A, 0xBE, 0xCC, 0xEA, 0x9D, 0x57, 0x2C, 0x40, 0x05,
0xEE, 0x49, 0x1D, 0xD2, 0xA3, 0x5A, 0xFA, 0x25, 0x1D, 0x1F, 0xDD, 0xB5,
0x36, 0x7D, 0x25, 0xD3, 0x34, 0x39, 0xC2, 0x59, 0x57, 0xAD, 0x3C, 0x9D,
0xC9, 0xBF, 0x09, 0x8D, 0xA0, 0x40, 0x5A, 0x14, 0x7B, 0xCF, 0xFE, 0x05,
0x3E, 0xF3, 0xD1, 0x7D, 0xBB, 0x33, 0x96, 0x40, 0x79, 0xC2, 0x7B, 0x15,
0x2E, 0xEE, 0xE3, 0x5B, 0x9C, 0x06, 0x72, 0x95, 0xFF, 0xCB, 0xC9, 0xE4,
0x96, 0x97, 0x18, 0x0D, 0xE7, 0x78, 0xCD, 0xE9, 0xA7, 0xEA, 0xE9, 0xDF
},
/* uint8_t encrypted_user_update_key[R_TSIP_AES256_KEY_BYTE_SIZE + 16]; */
{
0xD6, 0xDB, 0x33, 0x0B, 0xC4, 0x72, 0x5A, 0xD3, 0x23, 0xDE, 0x1C, 0xAF,
0xA8, 0x33, 0xA6, 0x85, 0xA0, 0xAB, 0xBF, 0x51, 0x8B, 0xF4, 0x68, 0x45,
0xBD, 0x6D, 0xA5, 0x7A, 0x88, 0x82, 0x9C, 0x50, 0x43, 0xD7, 0x53, 0xC0,
0x9E, 0xA8, 0x4B, 0x7E, 0x8A, 0x8B, 0xF3, 0x1B, 0xA5, 0x50, 0x55, 0x5D
},
};
/* Public key type of CA root cert: 0: RSA-2048 2: ECDSA-P256*/
#if defined(USE_ECC_CERT)
const uint32_t encrypted_user_key_type =
R_TSIP_TLS_PUBLIC_KEY_TYPE_ECDSA_P256;
#else
const uint32_t encrypted_user_key_type =
R_TSIP_TLS_PUBLIC_KEY_TYPE_RSA2048;
#endif
const unsigned char ca_ecc_cert_der_sig[] =
{
0x53, 0x07, 0xba, 0xa4, 0xed, 0xd3, 0x8c, 0x2e, 0xea, 0x36, 0xe4, 0x3c,
0x0c, 0x4a, 0x89, 0x6c, 0x39, 0x2c, 0xcf, 0xd6, 0x5d, 0x83, 0xe9, 0x3f,
0x12, 0x67, 0xdd, 0xbb, 0xa3, 0xe8, 0x33, 0x84, 0x70, 0x36, 0x24, 0xab,
0xb4, 0x7e, 0x79, 0x43, 0x77, 0xbf, 0x97, 0xb4, 0x34, 0xd3, 0xbb, 0x9b,
0xa5, 0x4c, 0x3c, 0xe0, 0xa6, 0xc2, 0x2a, 0xb0, 0x8b, 0xe1, 0x11, 0xf1,
0x7f, 0xf1, 0x7d, 0xad, 0x15, 0x10, 0x25, 0x89, 0x95, 0x6e, 0xdc, 0xcc,
0x8e, 0x1a, 0xf4, 0x6e, 0x48, 0xef, 0xe2, 0x17, 0xd5, 0x77, 0x4a, 0x07,
0x63, 0xf1, 0xe5, 0x63, 0x20, 0x7c, 0x20, 0x81, 0xda, 0x95, 0xca, 0x46,
0x86, 0x80, 0x6d, 0x68, 0x91, 0xc0, 0xd2, 0x85, 0xdf, 0x77, 0xf1, 0xb8,
0xa5, 0x6d, 0x3a, 0x09, 0x42, 0x60, 0xdb, 0xf0, 0x10, 0xd7, 0x74, 0xe9,
0x1c, 0xb7, 0xc5, 0x8d, 0x4e, 0x6a, 0x6c, 0x80, 0x75, 0x3b, 0xd5, 0xd1,
0xde, 0xbb, 0xd2, 0xfb, 0x35, 0x60, 0xa6, 0x31, 0x30, 0xc9, 0x79, 0x83,
0xfb, 0xce, 0xe1, 0x96, 0x7c, 0xb9, 0x12, 0x44, 0x1c, 0x96, 0x71, 0x02,
0x57, 0xd7, 0x97, 0xa0, 0xc0, 0x24, 0x8d, 0xf5, 0xc2, 0x5c, 0xbf, 0x59,
0x9a, 0x74, 0x85, 0xcb, 0x3f, 0x59, 0x58, 0x57, 0x8e, 0xf3, 0x9e, 0x25,
0x72, 0x61, 0xb7, 0xc1, 0x36, 0xa6, 0x76, 0xe4, 0x74, 0x2f, 0x1c, 0xbe,
0x0d, 0x33, 0x92, 0xba, 0xe7, 0xe7, 0x73, 0x35, 0x41, 0x96, 0x61, 0x95,
0xc0, 0x83, 0xab, 0xfd, 0x94, 0xe7, 0x4d, 0xea, 0xe9, 0x54, 0x7b, 0xe9,
0xfb, 0xcc, 0x4b, 0x8b, 0xbc, 0x7a, 0x47, 0x54, 0xa5, 0x64, 0x6b, 0x23,
0x7a, 0x06, 0x0f, 0x95, 0x3b, 0xd8, 0x5e, 0x32, 0x9d, 0xdf, 0x32, 0x74,
0x44, 0xc9, 0xa3, 0x7a, 0xe9, 0x38, 0xf6, 0x11, 0x6f, 0x59, 0x5d, 0xd1,
0x4e, 0xfe, 0xab, 0x55,
};
const int sizeof_ca_ecc_cert_sig = sizeof(ca_ecc_cert_der_sig);
/* ./ca-cert.der.sign, */
const unsigned char ca_cert_der_sig[] =
{
0x8b, 0x61, 0x86, 0xe5, 0x0e, 0x2b, 0x4c, 0x76, 0x42, 0x4b, 0x3d, 0x75,
0xc4, 0xb0, 0xa8, 0xde, 0x3a, 0xb3, 0xde, 0xbc, 0xb8, 0xb9, 0xfb, 0x98,
0xd2, 0x6f, 0xc1, 0xcd, 0x90, 0xea, 0x3f, 0x60, 0x56, 0x09, 0xa4, 0xd7,
0x0f, 0x5b, 0x55, 0x73, 0x02, 0x6c, 0x60, 0x07, 0xc6, 0x94, 0xf7, 0xa5,
0x14, 0xc8, 0x60, 0x65, 0x29, 0xfa, 0x94, 0x6b, 0x27, 0x10, 0x74, 0xf7,
0x2b, 0xe9, 0x7c, 0x7e, 0x53, 0xe9, 0x81, 0x87, 0x47, 0xc1, 0xc7, 0xeb,
0xe3, 0x30, 0x0b, 0x83, 0x65, 0x48, 0x98, 0x8b, 0x14, 0x51, 0x3f, 0x9b,
0xa1, 0x50, 0x96, 0x03, 0x0d, 0xd2, 0xf1, 0x94, 0x5e, 0xa3, 0x19, 0x8f,
0xfd, 0xd3, 0x8f, 0xd9, 0x13, 0x95, 0x8c, 0x7b, 0x6d, 0x4b, 0xc8, 0x2a,
0x83, 0xf4, 0xfa, 0xa8, 0x40, 0x0c, 0x04, 0x8a, 0x61, 0xbc, 0x1e, 0xa8,
0xff, 0x35, 0xe0, 0x42, 0xbb, 0xf3, 0x55, 0x5d, 0x2f, 0x85, 0x29, 0xe7,
0x9f, 0x90, 0xe7, 0x15, 0x56, 0x02, 0x29, 0x1c, 0xe8, 0xd3, 0x83, 0x1c,
0x09, 0x7d, 0x5e, 0xa5, 0xdc, 0x2a, 0x75, 0xcf, 0x8c, 0x3b, 0x5a, 0xbd,
0xa6, 0x7a, 0x7d, 0xb8, 0xa9, 0xdb, 0x2b, 0xd2, 0x5f, 0xf0, 0x74, 0xe5,
0x86, 0x1b, 0xf4, 0xd6, 0x97, 0x92, 0xe8, 0xce, 0x3e, 0x20, 0x70, 0x41,
0x95, 0xc4, 0x9b, 0xc2, 0x79, 0x26, 0x91, 0xc7, 0x0c, 0x38, 0x0e, 0x4c,
0xa4, 0xc0, 0xbc, 0xca, 0x01, 0x7b, 0x9e, 0x5c, 0xa9, 0xac, 0x4e, 0x72,
0xbf, 0x2b, 0x4c, 0xc9, 0xde, 0x28, 0x75, 0xcb, 0xa5, 0xd5, 0xb2, 0xb5,
0xf0, 0x35, 0x5f, 0x77, 0x12, 0xf0, 0xbf, 0xbe, 0x38, 0xb9, 0x54, 0xd4,
0x48, 0xbc, 0xd1, 0x0f, 0xf2, 0x20, 0xbc, 0xe1, 0x80, 0x63, 0x81, 0xbf,
0xa4, 0xf4, 0x83, 0xe0, 0xef, 0x78, 0xe5, 0x35, 0x33, 0x1a, 0x7a, 0x1f,
0x98, 0xd1, 0x8f, 0x93,
};
const int sizeof_ca_cert_sig = sizeof(ca_cert_der_sig);
/* ./client-cert.der.sign, */
const unsigned char client_cert_der_sign[] =
{
0x5D, 0x1F, 0x89, 0x41, 0xEC, 0x47, 0xC8, 0x90, 0x61, 0x79,
0x8A, 0x16, 0x1F, 0x31, 0x96, 0x67, 0xD9, 0x3C, 0xEC, 0x6B,
0x58, 0xC6, 0x5A, 0xED, 0x99, 0xB3, 0xEF, 0x27, 0x6F, 0x04,
0x8C, 0xD9, 0x68, 0xB1, 0xD6, 0x23, 0x15, 0x84, 0x00, 0xE1,
0x27, 0xD1, 0x1F, 0x68, 0xB7, 0x3F, 0x13, 0x53, 0x8A, 0x95,
0x5A, 0x20, 0x7C, 0xB2, 0x76, 0x5B, 0xDC, 0xE0, 0xA6, 0x21,
0x7C, 0x49, 0xCF, 0x93, 0xBA, 0xD5, 0x12, 0x9F, 0xEE, 0x90,
0x5B, 0x3F, 0xA3, 0x9D, 0x13, 0x72, 0xAC, 0x72, 0x16, 0xFE,
0x1D, 0xBE, 0xEB, 0x8E, 0xC7, 0xDC, 0xC4, 0xF8, 0x1A, 0xD8,
0xA0, 0xA4, 0xF6, 0x04, 0x30, 0xF6, 0x7E, 0xB6, 0xC8, 0xE1,
0xAB, 0x88, 0x37, 0x08, 0x63, 0x72, 0xAA, 0x46, 0xCC, 0xCA,
0xF0, 0x9E, 0x02, 0x1E, 0x65, 0x67, 0xFF, 0x2C, 0x9D, 0x81,
0x6C, 0x1E, 0xF1, 0x54, 0x05, 0x68, 0x68, 0x18, 0x72, 0x26,
0x55, 0xB6, 0x2C, 0x95, 0xC0, 0xC9, 0xB2, 0xA7, 0x0B, 0x60,
0xD7, 0xEB, 0x1D, 0x08, 0x1A, 0xA2, 0x54, 0x15, 0x89, 0xCB,
0x83, 0x21, 0x5D, 0x15, 0x9B, 0x38, 0xAC, 0x89, 0x63, 0xD5,
0x4B, 0xF4, 0x8B, 0x47, 0x93, 0x78, 0x43, 0xCB, 0x9B, 0x71,
0xBF, 0x94, 0x76, 0xB5, 0xCE, 0x35, 0xA9, 0x1A, 0xD5, 0xA5,
0xD8, 0x19, 0xA6, 0x04, 0x39, 0xB1, 0x09, 0x8C, 0x65, 0x02,
0x58, 0x3A, 0x95, 0xEF, 0xA2, 0xC3, 0x85, 0x18, 0x61, 0x23,
0x2D, 0xC5, 0xCD, 0x62, 0xC1, 0x19, 0x31, 0xE5, 0x36, 0x95,
0x22, 0xDB, 0x3E, 0x1A, 0x3C, 0xE8, 0xC6, 0x2E, 0xDF, 0xD9,
0x2F, 0x84, 0xC1, 0xF0, 0x38, 0x2B, 0xE5, 0x73, 0x35, 0x4F,
0x05, 0xE2, 0xA5, 0x60, 0x79, 0xB0, 0x23, 0xDC, 0x56, 0x4C,
0xE7, 0xD9, 0x1F, 0xCF, 0x6A, 0xFC, 0x55, 0xEB, 0xAA, 0x48,
0x3E, 0x95, 0x2A, 0x10, 0x01, 0x05
};
const int sizeof_client_cert_der_sign = sizeof(client_cert_der_sign);
uint32_t s_inst1[R_TSIP_SINST_WORD_SIZE] = { 0 };
uint32_t s_inst2[R_TSIP_SINST2_WORD_SIZE]= { 0 };
#endif /* WOLFSSL_RENESAS_TSIP_TLS && (WOLFSSL_RENESAS_TSIP_VER >= 109) */

View File

@ -56,8 +56,11 @@
* Otherwise, define "SINGLE_THREADED". They are exclusive each other.
*
*----------------------------------------------------------------------------*/
#define SINGLE_THREADED
/*#define FREERTOS*/
#define FREERTOS
#define FREERTOS_TCP
/*-- Cipher related definitions -----------------------------------------------
@ -78,7 +81,7 @@
#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define WOLFSSL_STATIC_RSA
@ -102,7 +105,7 @@
* - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA256
*
*/
/*#define USE_ECC_CERT*/
#define USE_ECC_CERT
/* In this example application, Root CA cert buffer named
* "ca_ecc_cert_der_256" is used under the following macro definition
@ -122,9 +125,6 @@
*----------------------------------------------------------------------------*/
#define SIZEOF_LONG_LONG 8
#if !defined(min)
#define min(data1, data2) _builtin_min(data1, data2)
#endif
/*
* -- "NO_ASN_TIME" macro is to avoid certificate expiration validation --
@ -145,19 +145,21 @@
#define WOLFSSL_HAVE_MAX
#define WOLFSSL_SMALL_STACK
#define NO_WRITEV
#define WOLFSSL_USER_IO
#define WOLFSSL_USER_CURRTIME /* for benchmark */
#define USER_TIME
#define XTIME time
#define XTIME time
#define USE_WOLF_SUSECONDS_T
#define USE_WOLF_TIMEVAL_T
#define XSTRNCASECMP(s1,s2,n) strncmp(s1,s2,n)
#define WC_RSA_BLINDING
#define TFM_TIMING_RESISTANT
#define ECC_TIMING_RESISTANT
#define USE_FAST_MATH
/*-- Debugging options ------------------------------------------------------
*

View File

@ -0,0 +1,429 @@
/* wolfssl_demo.c
*
* Copyright (C) 2006-2021 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 <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "FreeRTOS.h"
#include "FreeRTOS_IP.h"
#include "FreeRTOS_Sockets.h"
#include "platform/iot_network.h"
#include "platform.h"
#include <wolfssl/wolfcrypt/settings.h>
#include "wolfssl/ssl.h"
#include <wolfssl/wolfio.h>
#include "wolfssl/certs_test.h"
#include "wolfssl/wolfcrypt/types.h"
#include "wolfssl_demo.h"
#if defined(BENCHMARK)
#include "r_cmt_rx_if.h"
#endif
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
#include "key_data.h"
#include <wolfssl/wolfcrypt/port/Renesas/renesas-tsip-crypt.h>
extern const st_key_block_data_t g_key_block_data;
user_PKCbInfo guser_PKCbInfo;
#endif
#define YEAR 2022
#define MON 1
#define FREQ 10000 /* Hz */
#define TLSSERVER_IP "192.168.1.14"
#define TLSSERVER_PORT 11111
typedef struct func_args {
int argc;
char** argv;
int return_code;
} func_args;
static long tick;
static int tmTick;
static WOLFSSL_CTX* client_ctx;
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
uint32_t g_encrypted_root_public_key[140];
static TsipUserCtx userContext;
#endif
/* time
* returns seconds from EPOCH
*/
time_t time(time_t *t)
{
(void)t;
return ((YEAR-1970)*365+30*MON)*24*60*60 + tmTick++;
}
/* timeTick
* called periodically by H/W timer to increase tmTick.
*/
static void timeTick(void* pdata)
{
(void)pdata;
tick++;
}
double current_time(int reset)
{
if(reset) tick = 0 ;
return ((double)tick/FREQ) ;
}
void wolfcrypt_test();
void benchmark_test();
/* --------------------------------------------------------*/
/* Benchmark_demo */
/* --------------------------------------------------------*/
static void Benchmark_demo(void)
{
uint32_t channel;
R_CMT_CreatePeriodic(FREQ, &timeTick, &channel);
printf("Start wolfCrypt Benchmark\n");
benchmark_test();
printf("End wolfCrypt Benchmark\n");
}
/* --------------------------------------------------------*/
/* CryptTest_demo */
/* --------------------------------------------------------*/
static void CryptTest_demo(void)
{
func_args args = { 0 };
int ret;
if ((ret = wolfCrypt_Init()) != 0) {
printf("wolfCrypt_Init failed %d\n", ret);
}
printf("Start wolfCrypt Test\n");
wolfcrypt_test(args);
printf("End wolfCrypt Test\n");
if ((ret = wolfCrypt_Cleanup()) != 0) {
printf("wolfCrypt_Cleanup failed %d\n", ret);
}
}
/* --------------------------------------------------------*/
/* Tls_client_demo */
/* --------------------------------------------------------*/
static void Tls_client_init(const char* cipherlist)
{
#ifndef NO_FILESYSTEM
#ifdef USE_ECC_CERT
char *cert = "./certs/ca-ecc-cert.pem";
#else
char *cert = "./certs/ca-cert.pem";
#endif
#else
#if defined(USE_ECC_CERT) && defined(USE_CERT_BUFFERS_256)
const unsigned char *cert = ca_ecc_cert_der_256;
#define SIZEOF_CERT sizeof_ca_ecc_cert_der_256
#else
const unsigned char *cert = ca_cert_der_2048;
#define SIZEOF_CERT sizeof_ca_cert_der_2048
#endif
#endif
client_ctx = NULL;
wolfSSL_Init();
#ifdef DEBUG_WOLFSSL
wolfSSL_Debugging_ON();
#endif
/* Create and initialize WOLFSSL_CTX */
if ((client_ctx = wolfSSL_CTX_new(wolfTLSv1_2_client_method_ex((void *)NULL))) == NULL) {
printf("ERROR: failed to create WOLFSSL_CTX\n");
return;
}
#ifdef WOLFSSL_RENESAS_TSIP_TLS
tsip_set_callbacks(client_ctx);
#endif
#if defined(NO_FILESYSTEM)
if (wolfSSL_CTX_load_verify_buffer(client_ctx, cert, SIZEOF_CERT, SSL_FILETYPE_ASN1) != SSL_SUCCESS){
printf("ERROR: can't load certificate data\n");
return;
}
#else
if (wolfSSL_CTX_load_verify_locations(client_ctx, cert, 0) != SSL_SUCCESS) {
printf("ERROR: can't load \"%s\"\n", cert);
return NULL;
}
#endif
/* use specific cipher */
if (cipherlist != NULL &&
wolfSSL_CTX_set_cipher_list(client_ctx, cipherlist) != WOLFSSL_SUCCESS) {
wolfSSL_CTX_free(client_ctx); client_ctx = NULL;
printf("client can't set cipher list");
}
}
static void Tls_client()
{
#define BUFF_SIZE 256
#define ADDR_SIZE 16
int ret;
WOLFSSL_CTX* ctx = (WOLFSSL_CTX *)client_ctx;
WOLFSSL* ssl;
Socket_t socket;
socklen_t socksize = sizeof(struct freertos_sockaddr);
struct freertos_sockaddr PeerAddr;
char addrBuff[ADDR_SIZE] = {0};
static const char sendBuff[]= "Hello Server\n" ;
char rcvBuff[BUFF_SIZE] = {0};
/* create TCP socket */
socket = FreeRTOS_socket(FREERTOS_AF_INET,
FREERTOS_SOCK_STREAM,
FREERTOS_IPPROTO_TCP);
configASSERT(socket != FREERTOS_INVALID_SOCKET);
FreeRTOS_bind(socket, NULL, socksize);
/* attempt to connect TLS server */
PeerAddr.sin_addr = FreeRTOS_inet_addr(TLSSERVER_IP);
PeerAddr.sin_port = FreeRTOS_htons(TLSSERVER_PORT);
ret = FreeRTOS_connect(socket, &PeerAddr, sizeof(PeerAddr));
if (ret != 0) {
printf("ERROR FreeRTOS_connect: %d\n",ret);
}
/* create WOLFSSL object */
if (ret == 0) {
ssl = wolfSSL_new(ctx);
if (ssl == NULL) {
printf("ERROR wolfSSL_new: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
}
}
if (ret == 0) {
#ifdef WOLFSSL_RENESAS_TSIP_TLS
tsip_set_callback_ctx(ssl, &userContext);
#endif
}
if (ret == 0) {
/* associate socket with ssl object */
if (wolfSSL_set_fd(ssl, (int)socket) != WOLFSSL_SUCCESS) {
printf("ERROR wolfSSL_set_fd: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
}
}
if (ret == 0) {
if (wolfSSL_connect(ssl) != WOLFSSL_SUCCESS) {
printf("ERROR wolfSSL_connect: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
}
}
if (ret == 0) {
if (wolfSSL_write(ssl, sendBuff, strlen(sendBuff)) != strlen(sendBuff)) {
printf("ERROR wolfSSL_write: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
}
}
if (ret == 0) {
if ((ret=wolfSSL_read(ssl, rcvBuff, BUFF_SIZE -1)) < 0) {
printf("ERROR wolfSSL_read: %d\n", wolfSSL_get_error(ssl, 0));
ret = -1;
}
else {
rcvBuff[ret] = '\0';
printf("Received: %s\n\n", rcvBuff);
ret = 0;
}
}
wolfSSL_shutdown(ssl);
FreeRTOS_shutdown(socket, FREERTOS_SHUT_RDWR);
while(FreeRTOS_recv(socket, rcvBuff, BUFF_SIZE -1, 0) >=0) {
vTaskDelay(250);
}
FreeRTOS_closesocket(socket);
wolfSSL_free(ssl);
wolfSSL_CTX_free(ctx);
wolfSSL_Cleanup();
return;
}
static void Tls_client_demo(void)
{
/* setup ciphersuite list to use for TLS handshake */
#if defined(WOLFSSL_RENESAS_TSIP_TLS)
#ifdef USE_ECC_CERT
const char* cipherlist[] = {
"ECDHE-ECDSA-AES128-GCM-SHA256",
"ECDHE-ECDSA-AES128-SHA256"
};
const int cipherlist_sz = 2;
#else
const char* cipherlist[] = {
"ECDHE-RSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES128-SHA256",
"AES128-SHA",
"AES128-SHA256",
"AES256-SHA",
"AES256-SHA256"
};
const int cipherlist_sz = 6;
#endif
#else
const char* cipherlist[] = { NULL };
const int cipherlist_sz = 0;
#endif
int i = 0;
printf("/*------------------------------------------------*/\n");
printf(" TLS_Client demo\n");
printf(" - TLS server address:" TLSSERVER_IP " port: %d\n",
TLSSERVER_PORT );
#if defined(WOLFSSL_RENESAS_TSIP_TLS) && (WOLFSSL_RENESAS_TSIP_VER >=109)
printf(" - with TSIP\n");
#endif
printf("/*------------------------------------------------*/\n");
/* setup credentials for TLS handshake */
#if defined(WOLFSSL_RENESAS_TSIP_TLS) && (WOLFSSL_RENESAS_TSIP_VER >=109)
#if defined(USE_ECC_CERT)
/* Root CA cert has ECC-P256 public key */
tsip_inform_cert_sign((const byte*)ca_ecc_cert_der_sig);
#else
/* Root CA cert has RSA public key */
tsip_inform_cert_sign((const byte*)ca_cert_der_sig);
#endif
wc_tsip_inform_user_keys_ex(
(byte*)&g_key_block_data.encrypted_provisioning_key,
(byte*)&g_key_block_data.iv,
(byte*)&g_key_block_data.encrypted_user_rsa2048_ne_key,
encrypted_user_key_type);
guser_PKCbInfo.user_key_id = 0;
#endif /* WOLFSSL_RENESAS_TSIP_TLS && (WOLFSSL_RENESAS_TSIP_VER >=109) */
do {
if(cipherlist_sz > 0 ) printf("cipher : %s\n", cipherlist[i]);
Tls_client_init(cipherlist[i]);
Tls_client();
i++;
} while (i < cipherlist_sz);
printf("End of TLS_Client demo.\n");
}
/* Demo entry function called by iot_demo_runner
* To run this entry function as an aws_iot_demo, define this as
* DEMO_entryFUNCTION in aws_demo_config.h.
*/
void wolfSSL_demo_task(bool awsIotMqttMode,
const char* pIdentifier,
void* pNetworkServerInfo,
void* pNetworkCredentialInfo,
const IotNetworkInterface_t* pNetworkInterface)
{
(void)awsIotMqttMode;
(void)pIdentifier;
(void)pNetworkServerInfo;
(void)pNetworkCredentialInfo;
(void)pNetworkInterface;
#if defined(CRYPT_TEST)
CryptTest_demo();
#elif defined(BENCHMARK)
Benchmark_demo();
#elif defined(TLS_CLIENT)
Tls_client_demo();
#endif
while (1) {
vTaskDelay(10000);
}
}

View File

@ -22,27 +22,42 @@
#ifndef WOLFSSL_DEMO_H_
#define WOLFSSL_DEMO_H_
#define FREQ 10000 /* Hz */
/* Enable wolfcrypt test */
/* can be enabled with benchmark test */
/**************************************************/
/******* DO NOT CHANGE the following order ********/
/**************************************************/
/* Include logging header files and define logging macros in the following order:
* 1. Include the header file "logging_levels.h".
* 2. Define the LIBRARY_LOG_NAME and LIBRARY_LOG_LEVEL macros depending on
* the logging configuration for DEMO.
* 3. Include the header file "logging_stack.h", if logging is enabled for DEMO.
*/
#include "logging_levels.h"
/* Logging configuration for the Demo. */
#ifndef LIBRARY_LOG_NAME
#define LIBRARY_LOG_NAME "WOLFSSL_Demo"
#endif
#ifndef LIBRARY_LOG_LEVEL
#define LIBRARY_LOG_LEVEL LOG_INFO
#endif
#include "logging_stack.h"
/* Enable wolfcrypt test demo */
/*#define CRYPT_TEST*/
/* Enable benchmark */
/* can be enabled with cyrpt test */
/* Enable benchmark demo */
/*#define BENCHMARK*/
/* Enable TLS client */
/* Enable TLS client demo */
/* cannot enable with other definition */
#define TLS_CLIENT
/* Enable TLS server */
/* cannot enable with other definition */
/* #define TLS_SERVER */
void wolfSSL_TLS_client_init();
void wolfSSL_TLS_client();
void wolfSSL_TLS_server_init(byte);
void wolfSSL_TLS_server();
#endif /* WOLFSSL_DEMO_H_ */