目次

last update: 2024/05

スタートアップガイド
RI600V4 (ITRON) RTOS用BSPパッケージ
評価ボード:Renesas RX72N Envision Kit

MCU:RX72N(32-bit RXv3) / 240MHz

評価ボードの詳細はこちら

開発環境/IDE:Renesas CCRX (e2Studio)

RX72N Envision Kit

BSP パッケージ内容:

圧縮・解凍emCompress-Embed, emCompress-ToGo
ModbusModbus/TCP Master, Modbus/TCP Slave
TCP/IPemNet TCP/IPv4, Web Server, CoAP Server / Client, MQTT Client Publisher / Subscriber, DHCP Server, (m)DNS/LLMNR/DNS-SD Server, NetBIOS Name Service, FTP Server / Client, TELNET, TFTP, SMTP Client, SNMP Agent, SNTP Client, WebSocket, emNet driver for RX
セキュリティSSL / TLS Secure Sockets Layer, emSecure (RSA Sign and Verify)
暗号・サイファーemCrypt PRO (Ciphers, HASH, MAC, Digital Signature, Key Generation, NIST prime curves, random bit generators)
IoT ToolkitHTTP Client, JSON Parser
FileSystememFile FAT32, Encryption, Journaling, Disk Driver (MMC/SD Card, USB Disk, RAMDisk)
USB-HostemUSB Host, BULK, HID, CDC, FT232, CCID, AUDIO, MSD, MIDI, MTP, LAN, Printer Class, RX Driver
評価版サンプルのご依頼


インストール・フォルダ構成

リリースプログラムの「RX72N_EnvisionKit」及び「Windows」フォルダを、開発環境インストール済みのユーザーパソコンのローカルドライブにコピーします。Windowsインストーラは不要です。

[Workspace]
 ├ RX72N_EnvisionKit  ........ サンプルプログラム一式
 └ Windows   ................. テスト用PCツール
RX72N_EnvisionKit
 ├ License.txt   ............. 評価版ライブラリの利用条件
 ├ src
   ├ Application ............. テスト用サンプルアプリケーション
   ├ BSP         ............. ハードウエア依存設定、ドライバ
   ├ Config      ............. コンフィグレーション設定、システム依存設定
   ├ EVAL_Libs   ............. SEGGERソフトウエア評価版ライブラリ
   ├ cfg_output  ............. RI600V4カーネル関連のコード(e2Studio FITで作成)
   ├ generate    ............. RI600V4 OSコンフィグレーション設定
   ├ smc_gen     ........ e2StudioのスマートFITコンフィグレータで作成されたBSP
   ├ .project    ................ e2Studio環境用プロジェクト
   └ rx72n_envisionkit_ri600v4.scfg ..... e2Studio FITコンフィグレータ設定

Applicationフォルダ

Application
 ├ Main.c      ........ メインエントリハンドラ
 ├ sysdwn.c    ........ RI600V4カーネルエラーハンドラ
 └ _Exclude    ........ ※このフォルダはビルド対象外に設定しています
     ├ COMPRESS  ...... 圧縮・解凍機能のデモサンプル
     ├ CRYPTO    ...... 暗号・サイファー機能のデモサンプル
     ├ FS        ...... ファイルシステムのテストサンプル
     ├ IOT       ...... HTTPクライアント、JSONパーサー機能のデモサンプル
     ├ IP        ...... TCP/IPネットワーク通信機能のデモサンプル
     ├ MB        ...... MODBUS MASTER / SLAVE機能のデモサンプル
     ├ SECURE    ...... 不正改造・不正量産を防ぐセキュリティソリューション
     ├ SSL       ...... SSL 通信機能のデモサンプル
     └ USBH      ...... USB Host各種クラス機能のデモサンプル

開発環境

  • ビルド・デバッグIDE環境: Renesas e2Studio Version 2023-10 (23.10.0)
  • コンパイラ: CC-RX V3.05.00
  • デバッグツール: RX E2 Lite(オンボード ECN1 USB micro-Bコネクタ)
  • FITコンフィグレーター: Renesas e2studio FIT Version: 9.3.0

BSP設定

RX72N_EnvisionKit
 └ BSP
    ├ BSP.c    ......... ボード上のLEDインターフェースのドライバ
    ├ BSP_IP.c    ...... LAN/PHYドライバ関連のハードウエア依存の設定・割込みハンドラ
    ├ BSP_MMC_SD.c  .... SDコントローラのハードウエア依存の初期化設定
    ├ BSP_USB.c   ...... USBコントローラのハードウエア依存の初期化設定・割込みハンドラ
    └ Setup    ......... 各ソフトウエアライブラリのハードウエア依存のドライバ設定

クロック設定

ボードのクロック・PLL設定はFITコンフィグレータで行います。

メインクロック:16MHz
FlashIFクロック(FCLK):60MHz
システムクロック(ICLK):240MHz
周辺モジュールクロック(PCLKA):120MHz
周辺モジュールクロック(PCLKB):60MHz
周辺モジュールクロック(PCLKC):60MHz
周辺モジュールクロック(PCLKD):60MHz
外部バスクロック(BCLK):80MHz
USBクロック:48MHz
CLKOUT25Mクロック:25MHz

スマートFITコンフィグレータで作成するコンポーネント

  • Board Support Packages (r_bsp):バージョン 7.41
  • CMT Driver (r_cmt_rx):バージョン 5.50
  • DMAC Driver (r_dmaca_rx):バージョン 3.20
  • GPIO Driver (r_gpio_rx):バージョン 5.00
  • ポート:バージョン 2.4.1

※スマートFITコンフィグレータ設定内容の確認及び変更する場合は、以下の手順をご参照ください。

  1. e2Studio環境で「.project」プロジェクトを開きます。
  2. プロジェクト・エクスプローラーウインドウ下の「rx72n_envisionkit_ri600v4.scfg」ファイルを選択してマウスダブルクリックでスマート・コンフィグレータパネルを開きます。
  3. 概要、ボード、クロックなど各タブ項目の設定内容を確認します。

プロジェクトビルド設定:

  • コンパイラ設定のプリプロセッサマクロ定義: DEBUG=1, SEGGER_BUILD_MAXSPEED
  • コンパイラビルドの最適化設定: 最適化レベル2、実行性能重視の最適化(-speed)
  • コンパイラビルドの追加オプション(ユーザ指定ビルドオプション):
    -ri600_preinit_mrc
    -nostuff
  • リンカーセクション設定:
    SI,SURI_STACK*,B,R,BRI_RAM,B_1,R_1,B_2,R_2,B_8,R_8/04,SU/0800000,INTERRUPT_VECTOR,P*,C*,D*,W*,L/0FFC00000,FIX_INTERRUPT_VECTOR/0FFFFFF80
    0x0000_0004SI, SURI_STACK*, B, R, BRI_RAM, B_1, R_1, B_2, R_2, B_8, R_8
    0x8000_0000SU
    0xFFC0_0000INTERRUPT_VECTOR, P*, C*, D*, W*, L
    0xFFFF_FF80FIX_INTERRUPT_VECTOR

RI600V4 OSコンフィグレーション設定

RX72N_EnvisionKit
 ├ src
    ├ generate
       ├ rx72n_envisionkit_ri600v4.hcf  ...... RI600V4 GUI Configuratorファイル
       ├ rx72n_envisionkit_ri600v4.cfg  ...... RI600V4 OSコンフィグレーション設定ファイル

パソコンから「RI600V4 GUIコンフィグレータ」ツールを起動して、「rx72n_envisionkit_ri600v4.hcf」プロジェクトファイルを開きます。GUIコンフィグレータツールから設定内容を確認します。「作成(Ctrl+G)」ボタンを押してOSコンフィグレーション設定ファイル(rx72n_envisionkit_ri600v4.cfg)が作成可能です。

RI600V4 Configurator

BSPサンプルで使用するOSリソースは以下の通りです

システム定義(System):

  • カーネル割込みマスクレベル: 14
  • コンテキスト選択: FPSW,ACC
  • レジスタ一括退避機能: 未使用

時間管理機能(System Timer):

  • システムクロック割込み優先レベル: 4
  • システムタイマに供給されるクロック: 60 MHz
  • タイマの種類: CMT0
  • テンプレートファイル: rx630.tpl
  • タイムティック周期分子(TIC_NUME): 1 ms
  • タイムティック周期分母(TIC_DENO): 1 ms

タスク・リソース(TASK):

  • メインタスク(ID_ENTRY_TASK):
    開始アドレス = EntryTask()、スタックサイズ = 12288、優先度 = 5、生成後起動(TA_ACT)
  • emUSB-Host専用タスク(ID_USBH_TASK):
    開始アドレス = USBH_TASK_Entry()、スタックサイズ = 1536、優先度 = 4、休止状態
  • emUSB-Host 割込みハンドラタスク(ID_USBH_ISRTASK):
    開始アドレス = USBH_ISRTASK_Entry()、スタックサイズ = 1276、優先度 = 1、休止状態
  • emNet TCP/IP専用タスク(ID_EMNET_IP_TASK):
    開始アドレス = IP_TASK_Entry()、スタックサイズ = 8192、優先度 = 4、休止状態
  • emUSB-Device AUDIOクラスデータ書き込み処理(ID_USBD_AUDIO_WR_TASK):
    開始アドレス = USBD_AUDIO_Write_EntryTask()、スタックサイズ = 1536、優先度 = 11、休止状態
  • emUSB-Device AUDIOクラスデータ読み出し処理(ID_USBD_AUDIO_RD_TASK):
    開始アドレス = USBD_AUDIO_Read_EntryTask()、スタックサイズ = 1536、優先度 = 10、休止状態
  • emNet FTPServer専用タスク(ID_EMNET_FTPS_CHILD_TASK):
    開始アドレス = FTPServer_Child_EntryTask()、スタックサイズ = 4096、優先度 = 3、休止状態
  • emModbus Slave専用タスク(ID_MB_SLAVE_TASK):
    開始アドレス = MB_SLAVE_Task_Entry()、スタックサイズ = 1536、優先度 = 3、休止状態

セマフォ・リソース(Semaphore):

  • emCryptモジュール排他処理用(ID_CRYP_SEM)

イベントフラグ・リソース(Even Flag):

  • emFileファイルシステムの割込みイベント同期(ID_FS_EVENT)
  • USB-DeviceのOSインターフェースイベント同期(ID_USBD_EVENT)
  • USB-HostのOSインターフェースイベント同期(ID_USBH_EVENT)
  • USB-Hostの割込みイベント同期(ID_USBH_INT_EVENT)
  • USB-HostのNETイベント同期(ID_USBH_NET_EVENT)
  • emNet IPスタックのOSインターフェースイベント同期(ID_EMNET_IP_EVENT)
  • emNet IPスタックのNETイベント同期(ID_EMNET_IP_NETEVENT)
  • emNet IPスタックの受信処理イベント同期(ID_EMNET_IP_RXEVENT)
  • emNet IPスタックのNETドライバイベント同期(ID_EMNET_IP_DEVENT)
  • emModbusのOSインターフェースイベント同期(ID_MODBUS_EVENT)
  • emModbusスタックのNETイベント同期(ID_MODBUS_NETEVENT)

メールボックス・リソース(MailBox):

  • デモサンプルアプリケーション用メールボックス(ID_APP_MBX)

ミューテックス・リソース(Mutex Lock):

  • emFileファイルシステムの排他処理(ID_FS_MTX1、ID_FS_MTX2、ID_FS_MTX3)
  • USB-Deviceの排他処理(ID_USBD_MTX)
  • USB-Hostの排他処理(ID_USBH_MTX1、ID_USBH_MTX2、ID_USBH_MTX3、ID_USBH_MTX4)
  • emNet IPスタックの排他処理(ID_EMNET_IP_LOCK)
  • emSSLスタックの排他処理(ID_SSL_MTX_LOCK)
  • emSSHスタックの排他処理(ID_SSH_MTX_LOCK)

割込みハンドラ(Interrupt Service Routine):

  • ベクタ番号17: group_ie0_handler_isr()
  • ベクタ番号44: _SDHI_SBFAI_IRQHandler()
  • ベクタ番号86: sci6_rxi6_isr()
  • ベクタ番号87: sci6_txi6_isr()
  • ベクタ番号90: VECT_USBR0_ISR_Handler()
  • ベクタ番号106: group_be0_handler_isr()
  • ベクタ番号110: group_bl0_handler_isr()
  • ベクタ番号111: group_bl1_handler_isr()
  • ベクタ番号112: group_al0_handler_isr()
  • ベクタ番号113: group_al1_handler_isr()
  • ベクタ番号120: _DMAC_IRQHandler()
  • ベクタ番号128: cmt2_isr()
  • ベクタ番号129: cmt3_isr()
  • ベクタ番号185: VECT_USB0_ISR_Handler()

※ベクタ番号128以上の割込みベクタの番号は「\BSP\smc_gen\r_config\r_bsp_interrupt_config.h」ファイルのマッピング番号を確認してください。


プロジェクトビルド方法

評価版パッケージのサンプルプロジェクトはe2Studio IDE環境でビルド・デバッグ可能です。

e2Studioプロジェクトのビルド構成:HardwareDebug

RX72N_EnvisionKit
 ├ HardwareDebug   ............... 出力フォルダ(e2Studio環境プロジェクト)
 ├ .cproject   ................... e2Studio環境用プロジェクト
 ├ .project    ................... e2Studio環境用プロジェクト
  1. プロジェクトをインポートします
    e2Studioツールを起動して、「ファイル → インポート」コマンドでインポートダイアログを開きます。「既存のプロジェクトをワークスペースへ」を選択して「次(N)」をクリックします。インポートダイアログから「RX72N_EnvisionKit」フォルダを選択して、「rx72n_envisionkit_ri600v4」プロジェクトを選びます。「完了」ボタンを押してプロジェクトを開きます。
    ビルド構成は「HardwareDebug」を設定します。
  2. アプリケーションを選択します
    プロジェクト設定では「\Application\_Exclude\」フォルダ下のすべてのアプリケーションファイルはビルド対象外に設定しています。動作確認を行うテストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
    copy application
  3. プロジェクトをビルドします
    「プロジェクト → プロジェクトのビルド」メニューコマンドでプロジェクトを再ビルドします。正常にビルドできましたら「HardwareDebug」フォルダ下にデバッグ用の実行イメージ及びリンカーMAPファイルなどが作成されます。

デバッグ・動作確認方法

デバッグツールはオンボード RX E2 Lite を使用します。評価ボードのECN1 USB micro-Bコネクタをパソコンに接続してe2Studio又はCS+ IDE環境からプログラムのダウンロード及びステップ・実行デバッグ操作が可能です。

ハードウエア設定:

評価ボードの SW1 DIPスイッチを以下のように設定します。

  • SW1-1:Off(Ethernet PHY reset)
  • SW1-2:Off(Emulator reset)
  1. デバッグ設定を確認します
    プロジェクト・エクスプローラーウインドウからプロジェクトを選択し、「実行 → デバッグの構成」メニューコマンドでデバッグ構成ダイアログを開きます。デバッガ接続設定は「rx72n_envisionkit_ri600v4 HardwareDebug」デバッグ構成を使用します。
    ※ 新規デバッグ構成を作成する場合は以下の手順をご参照ください。
    • 「Renesas GDB Hardware Debugging」構成をマウスダブルクリックして新規デバッグ構成を作成します。
    • メイン → プロジェクトに「rx72n_envisionkit_ri600v4」を指定します。
    • Debug hardwareに「E2 Lite(RX)」を選択します。
    • Debugger → Connection Settings:
      • メインクロックソース:EXTAL
      • EXTAL 周波数(MHz):16.000
      • 動作周波数(MHz):240.000
      • 接続タイプ:Fine
      • エミュレータから電源を供給する:いいえ
  2. デバッグセッションを開始します
    評価ボードのECN1 USB micro-Bコネクタをパソコンに接続します。
    デバッグ構成ダイアログから「rx72n_envisionkit_ri600v4 HardwareDebug」構成を選択して「デバッグ」ボタンをクリックします。又は、「実行 → デバッグ」メニューコマンドでデバッグセッションを開始します。
  3. プログラムを実行します
    「Renesas Views → デバッグ → Renesas Debug Virtual Console」メニューコマンドでデバッグメッセージを出力するIOコンソールを開きます。プログラムを実行してデバッグコンソールのログ情報から結果を確認します。

制限事項


  • 評価版パッケージの各ソフトウエアコンポーネントライブラリは「リトル・エンディアン」モードで作成されています。「ビッグ・エンディアン」モード環境での評価を希望されているお客様はご相談ください。
  • 倍精度浮動小数点処理命令を有効にする「-dpfpu」オプションは使用できません。
  • 使用時間制限:ハードウエアリセット後約4時間

License(利用条件)

SEGGER's Friendly License (SFL), January 16th 2020

For non-commercial use or for evaluation purposes, you - regardless whether you
are an individual person or a legal entity - are welcome to use the software
free of charge under this license.
Any other use of the software is considered commercial use, for which a 
commercial-use license must be obtained from SEGGER.


DEFINITIONS

"Non-commercial use" means using the software for teaching, learning, studying, 
or projects that do not have a commercial background. If the software is used 
for products or services intended to be sold, the use is considered to be 
commercial.
"Evaluation" means you are trying out the software for possible future use. 
While the length of this time period is up to you, once it becomes a standard 
part of your workflow we no longer consider it evaluation. 


DISCLAIMER OF WARRANTY

When using the software under this license, you accept that it is provided on 
an "as is" basis, without warranty of any kind. 


LIMITATION OF LIABILITY

When using the software under this license, you accept that SEGGER is not liable 
for any damages arising out of the use of or inability to use the software.


3RD-PARTY SOFTWARE AND LICENSES

More information about 3rd-party components, if any, included in the software 
and the licenses that these components are under can be found in the file 
doc/license/3rd-party.txt after installation of the software.


RESTRICTIONS

You may not:
(a) decompile, disassemble, reverse engineer, or otherwise attempt to derive the 
    source code of the software,
(b) redistribute, encumber, sell, rent, lease, sublicense, or otherwise transfer 
    rights in the software,
(c) remove or alter any trademark, logo, copyright or other proprietary notices, 
    legends, symbols or labels of the software.

    
REVOCATION

SEGGER reserves the right to revoke the right to use the software granted by 
this license on a case-by-case basis. In this unlikely event, SEGGER will 
provide the revocation notice in writing, allowing an adequate notice period.


APPLICABLE LAW, VENUE

German Law (with the exception of its rules for Conflicts of Law) applies. 
Sole venue is Monheim/Rhein.

(c) 2020 - 2021 SEGGER Microcontroller GmbH www.segger.com info@segger.com
次の章

圧縮・解凍機能のデモサンプル