目次

last update: 2024/04

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

MCU:RX671(32-bit RXv3) / 120MHz

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

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

EK-RX671

BSP パッケージ内容:

圧縮・解凍emCompress-Embed, emCompress-ToGo
TCP/IP over USBemNet TCP/IPv4, FTP Server, TELNET, emNet driver over USB
セキュリティemSecure (RSA Sign and Verify)
暗号・サイファーemCrypt PRO (Ciphers, HASH, MAC, Digital Signature, Key Generation, NIST prime curves, random bit generators)
FileSystememFile FAT32, Encryption, Journaling, Disk Driver (MMC/SD Card, USB Disk, RAMDisk)
USB-DeviceemUSB Device, BULK, CDC, HID, MSD, VirtualMSD, DFU, MTP, AUDIO, Printer Class, UVC, IP-over-USB component, USB Driver for RX
USB-HostemUSB Host, BULK, HID, CDC, FT232, CCID, AUDIO, MSD, MIDI, MTP, Printer Class, RX Driver
評価版サンプルのご依頼


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

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

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

Applicationフォルダ

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

開発環境

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

BSP設定

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

クロック設定

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

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

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

  • Board Support Packages (r_bsp):バージョン 7.41
  • Byte-based circular buffer library (r_byteq):バージョン 2.10
  • CMT Driver (r_cmt_rx):バージョン 5.50
  • GPIO Driver (r_gpio_rx):バージョン 5.00
  • SCI Driver (r_sci_rx):バージョン 4.90

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

  1. e2Studio環境で「.project」プロジェクトを開きます。
  2. プロジェクト・エクスプローラーウインドウ下の「ek_rx671_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,SU/04,INTERRUPT_VECTOR,P*,C*,D*,W*,L/0FFE00000,FIX_INTERRUPT_VECTOR/0FFFFFF80
    0x0000_0004SI, SURI_STACK*, B, R, BRI_RAM, B_1, R_1, B_2, R_2, B_8, R_8, SU
    0xFFE0_0000INTERRUPT_VECTOR, P*, C*, D*, W*, L
    0xFFFF_FF80FIX_INTERRUPT_VECTOR

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

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

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

RI600V4 Configurator

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

システム定義(System):

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

時間管理機能(System Timer):

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

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

  • メインタスク(ID_ENTRY_TASK):
    開始アドレス = EntryTask()、スタックサイズ = 8192、優先度 = 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()、スタックサイズ = 1536、優先度 = 4、休止状態
  • emNet FTPServer専用タスク(ID_EMNET_FTPS_CHILD_TASK):
    開始アドレス = FTPServer_Child_EntryTask()、スタックサイズ = 4096、優先度 = 3、休止状態
  • 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、休止状態

セマフォ・リソース(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)

メールボックス・リソース(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)

割込みハンドラ(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()
  • ベクタ番号181: VECT_USB0_ISR_Handler()

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


プロジェクトビルド方法

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

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

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

デバッグ・動作確認方法

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

ハードウエア設定:

アプリケーション要件に合わせて評価ボードの DIPスイッチ、ジャンパーを設定します。

オンボードデバッグモード設定:

  • SW1-1(SW1 DIP Pin1):OFF
  • SW1-2(SW1 DIP Pin2):OFF
  • J7:Jumper on pins 2-3
  • J8:Jumper on pins 2-3
  • J9:Open

J29 USBポートのデバイスモード設定:

usbd setting
  • J30:Jumper on pins 1-2
  • J31:Jumper on pins 2-3
  • J32:Short
  • J33:Jumper on pins 1-2

J29 USBポートのホストモード設定:

usbh setting
  • J30:Jumper on pins 2-3
  • J31:Jumper on pins 1-2
  • J32:Open
  1. デバッグ設定を確認します
    プロジェクト・エクスプローラーウインドウからプロジェクトを選択し、「実行 → デバッグの構成」メニューコマンドでデバッグ構成ダイアログを開きます。デバッガ接続設定は「ek_rx671_ri600v4 HardwareDebug」デバッグ構成を使用します。
    ※ 新規デバッグ構成を作成する場合は以下の手順をご参照ください。
    • 「Renesas GDB Hardware Debugging」構成をマウスダブルクリックして新規デバッグ構成を作成します。
    • メイン → プロジェクトに「ek_rx671_embos」を指定します。
    • Debug hardwareに「E2 Lite(RX)」を選択します。Target Deviceに「R5F5671E」を選択します。
    • Debugger → Connection Settings:
      • メインクロックソース:EXTAL
      • EXTAL 周波数(MHz):24.000
      • 動作周波数(MHz):120.000
      • 接続タイプ:Fine
      • エミュレータから電源を供給する:いいえ
  2. デバッグセッションを開始します
    評価ボードのDEBUG1 (J25) USB micro-Bコネクタをパソコンに接続します。
    デバッグ構成ダイアログから「ek_rx671_embos 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
次の章

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