2
0

README_APRA6M_jp.md 9.6 KB

wolfSSL/AlphaProject AP-RA6M-0A ボードデモ セットアップガイド

はじめに

このフォルダにはルネサス社製 RA 32-bit MCU を搭載するアルファプロジェクト製 AP-RA6M-0A で wolfSSL を動作させるための手順です。 サンプルプログラムには、暗号テスト、ベンチマーク、及びクライアント・サーバーを含んでいます。

wolfSSL のプロジェクトファイルは、wolfSSL と wolfCrypt の両方で構成され、Renesas RA のコンフィグレーションを含むRenesas RA C/C++ Library Projectとしてビルドされます。 その他、ベンチマーク、暗号テスト、及びクライアント・サーバーのサンプルプログラムは、Renesas RA C Project Using RA Libraryとしてビルドされます。

プロジェクトの概要と全ての関連するソフトウェアコンポーネントに関する情報を下記になります。

プロジェクトの概要

要素 名前/バージョン
e2studio 2020-07
Board AP-RA6M-0A
Device R7FA6M3AH3CFC
Toolchain GCC ARM Embedded
FSP Version 1.3.0

必要なソフトウェアコンポーネント

コンポーネント バージョン
Board Support Package Common Files v1.3.0
Arm CMSIS Version 5 - Core (M) v5.7.0
Board support package for R7FA6M3AH3CFC v1.3.0
Board support package for RA6M3 v1.3.0
Board support package for RA6M3 - FSP Data v1.3.0
FreeRTOS v1.3.0
FreeRTOS - Buffer Allocation 2 v1.3.0
FreeRTOS+TCP v1.3.0
r_ether to FreeRTOS+TCP Wrapper v1.3.0
Ethernet v1.3.0
Ethernet PHY v1.3.0
I/O Port v1.3.0
BSP-Board v1.2.0

セットアップ手順

プロジェクトのフォルダーには、ビルドに必要なファイルが不足しています。そららのファイルをダミーのプロジェクトを作成し補います。

次に続くステップは、不足しているファイルを作成し、それらを必要としているプロジェクトにコピーする手順です。

1.) アルファプロジェクト社のホームページからサンプルプログラムをダウンロード

  • ダウンロードしたサンプルプログラムを適当なフォルダーへ解凍

2.) e2Studio で'ダミー' Renesas RA C Library プロジェクトを作成

  • ファイル→新規→RA C/C++ Projectをクリック
  • Renesas RA C/C++ Library Projectを選択し、次へをクリック
  • 'dummy_library` とプロジェクト名を入力します。
  • Board: ドロップダウンから EK-RA6M3Tを選択します
  • RTOS: No TROSFreeRTOS を選択します。
  • Build Artifact SelectionStatic Libraryを選択し、次へをクリック
  • FreeRTOS - Minimal - Static Allocation を選択し、終了をクリック

3.) e2Studio で 'ダミー'の Renesas RA C/C++ Project Using RA Library を作成

  • ファイル→新規→RA C/C++ Projectをクリック
  • Renesas RA C/C++ Library Projectを選択し、次へをクリック
  • 'dummy_app` とプロジェクト名を入力します。
  • Board: ドロップダウンから EK-RA6M3Tを選択します
  • RTOS: No TROSFreeRTOS を選択しまし、次へをクリック
  • Build Artifact SelectionExecutable Using an RA Static Libraryを選択し、終了をクリック
  • 'dummy_app` とプロジェクト名を入力し、次へクリック
  • RA library projectSelect RA Libraryから, dummy_libraryを選択し、終了をクリック

4.) 全ての wolfSSL e2studio プロジェクトをインポート

  • メニューの「ファイル」→「ファイル・システムからプロジェクトを開く」をクリック
  • インポート元の ディレクトリー... をクリック
  • RA6M3 フォルダーを選択。wolfssl/IDE/Renesas/e2studio/RA6M3
  • Eclipseのプロジェクトではない、RA6M3を除外します。 その他、ベンチマーク、暗号テスト、クライアント・サーバーの各プロジェクトは選択しておく。
  • 終了をクリック

5.) dummy_libraryからwolfSSL_RA6M3Gへ必要なファイルをコピー

  • dummy_librarywolfSSL_RA6M3G プロジェクトを開く プロジェクト名横にある矢印マークをクリック
  • dummy_library の以下のフォルダーとファイルを選択

    ra/ ra_gen/ ra_cfg/ script/

  • 選択したフォルダーとファイルを wolfSSL_RA6M3Gプロジェクトに貼り付け

  • dummy_libraryプロジェクトは削除しても構いません

  • APRA6M0A.pincfg を解凍した ap_ra6m_0a_sample\sample\ap_ra6m_0a_ether_sample から wolfSSL_RA6M3Gプロジェクトへコピー

  • wolfSSL_RA6M3Gフォルダー内の R7FA6M3AH3CFC.pincfg は削除します。

  • プロジェクトに必要なファイルを生成します。

  • Open RA Configuration(上部のアイコンバーにある灰色歯車ボタン)をクリック

    • BSP タブに移動し、CMSIS Pack のインポートボタンをクリック
    • インポート画面で、CMSIS pack ファイルを指定 ステップ 1で解凍したap_ra6m_0a_sample\sampleフォルダー中の AP.APRA6M0A.x.x.x.pack を指定します。
    • APRA6M0A を Board として指定
    • Pinsタブに移動し、APRA6M0A.pincfgを選択
    • Stacksタブに移動し、Heap 4 stack を New Stack から追加
    • Generate Project Content(右上部にある緑色アイコン)をクリックし、ファイルを生成
  • wolfSSL_RA6M3Gをビルド

6.) dummy_app から必要なファイルを./IDE/Renesas/e2studio/RA6M3/common/ra6m3g/へコピー

**NOTE:** この作業は、e2studio ではなく、Explorer などを使用します。
  • dummy_appの以下のフォルダーをコピー

    src/ script/

  • 選択したフォルダーを./IDE/Renesas/e2studio/RA6M3/common/ra6m3g/へコピー (暗号テスト、ベンチマーク、クライアント・サーバーの各プロジェクトはこのフォルダーを参照)

  • dummy_appプロジェクトは削除しても構いません

7.) ネットワーク環境について

    クライアント・サーバーのプロジェクト内のwolfssl_thread_entry.hにネットワーク設定があります。
    それらの設定(ucIPAddress ... ucDNSServerAddress)は、ご使用のネットワーク環境に合わせて変更して
    してください。g_ether0_mac_address は、`wolfSSL_RA6M3G`プロジェクト内の RA configuration
    で定義されているデフォルトのMACアドレスです。クライアントのwolfssl_thread_entry.h は
    ターゲットのサーバーのSERVER_IP と DEFAULT_PORTの定義を持ちます。それらはご使用のサーバーの
    の設定に応じて変更してください。

ビルドと実行

各プロジェクトをビルド

各プロジェクトで右クリックし、ビルドを選択

暗号テストとベンチマークを実行

1.) プロジェクト名を選択し、右クリック\ 2.) デバックRenesas GDB Hardware Debugging\ 3.) J-Link ARMを選択し、OK をクリック\ 4.) R7FA6M3AHを選択し、OK をクリック

wolfSSL TLS サンプルサーバーを実行

1.) プロジェクト名を選択し、右クリック\ 2.) デバックRenesas GDB Hardware Debugging\ 3.) J-Link ARMを選択し、OK をクリック\ 4.) R7FA6M3AHを選択し、OK をクリック\ 5.)以下のサンプルのクライアントプログラムを実行

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

NOTE: "ucIPAddress" はデフォルトでは "192.168.1.241" (参照: wolfssl_thread_entry.h)

wolfSSL TLS サンプルクライアントを実行

1.)以下のサンプルのサーバープログラムを実行

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

TLS 1.3 で接続する際には、引数に "-v 4" を追加します。

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

NOTE: wolfssl_thread_entry.h中にデフォルトのポート番号 11111 定義(DEFAULT_PORT) もし、DEFAULT_PORTを変更している場合、、上記のコマンドの "-p" の値は対応するポート番号に要変更

2.) プロジェクト名を選択し、右クリック\ 3.) デバックRenesas GDB Hardware Debugging\ 4.) J-Link ARMを選択し、OK をクリック\ 5.) R7FA6M3AHを選択し、OK をクリック

トラブルシューティング

  • サンプルのクライアント・サーバープログラムは、wolfSSL のルートディレクトリから実行する必要があります。
  • user_settings.h の #define DEBUG_WOLFSSL を有効にすることで、デバックメッセージを\ Renesas Virtual Debug Consoleへ出力します。
  • プロジェクトのビルドでリンクエラーが出た場合、リビルドしリフレッシュすることで解決することがあります。

Support Forum

Support Email: support@wolfssl.com

参考リンク

wolfSSL Website

wolfSSL Wiki

wolfSSL Manual

wolfSSL API Reference

wolfCrypt API Reference

TLS 1.3