Skip to content

新規プロジェクト作成方法

HirokiIshiguro edited this page Sep 12, 2020 · 41 revisions

準備する物

  • 必須
    • RX72N Envision Kit × 1台
    • USBケーブル(USB Micro-B --- USB Type A) × 1 本
    • Windows PC × 1 台

e2 studio を起動し、新規プロジェクトを作成する

  • ファイル -> 新規 -> プロジェクト
    • ウィザード -> C/C++ -> C/C++ プロジェクト -> 次へ
      • All -> Renesas CC-RX C/C++ Executable Project
        • プロジェクト名 = rx72n_envision_kit を入力 -> 次へ
          • Device Settings -> ターゲット・デバイス -> ...ボタン -> RX700 -> RX72N -> RX72N - 144pin -> R5F572NNHxFB (ファームウェアアップデートも試そうと考えている場合は、R5F572NNHxFB_DUALを選択)
          • Configuration -> Hardware Debug 構成を生成 -> E2 Lite (RX) -> 次へ
            • スマート・コンフィグレータを使用する にチェック -> 終了
  • ★将来改善★ プロジェクト新規作成時もBDFインストールができるようにする

RX72N Envision Kit の ボードコンフィグレーションファイル(BDF)をインストール

RX72N Envision Kit の ボードコンフィグレーションファイル(BDF)を読み込む

RX72N Envision Kitに合わせてスマートコンフィグレータでクロック設定を施す

  • ★将来改善★ BDF連携により e2 studio 2020-xx (将来バージョン)で不要になる見込み。e2 studio 2020-07以前では必要
    • スマートコンフィグレータの下部、「クロック」タブを押す
      • メインクロック -> 周波数 -> 16 (MHz) に変更
      • PLL回路 -> 逓倍比 を x15.0 に変更
      • PPLL回路 -> 分周比を x1/2、逓倍比 を x25.0 に変更
        • FlashIFクロック、システムクロック等が上記変更に連動して、自動的に変更されることを確認
    • スマートコンフィグレータ右上の「コード生成」ボタンを押すとスマートコンフィグレータで設定した内容に応じたスケルトンプログラムが出力される
    • e2 studio画面上部のプロジェクト -> すべてをビルド を実行し、コンソールにエラー表示されないことを確認

CMT(Compare Match Timer)を使用し0.1秒周期割り込みを発生させLEDを0.1秒周期で点滅させる

スマートコンフィグレータでCMTのコンポーネントを登録する

    • スマートコンフィグレータの下部、「コンポーネント」タブを押す
    • 上記のようにr_cmt_rxコンポーネントを追加する
    • 表示されない場合は、以下を試す
      • ほかのソフトウェアコンポーネントをダウンロードする -> Region選択 -> 表示された RXファミリ RX Driver Package Ver.x.xx (最新版)を選択しダウンロードする
    • CMTのみ動作確認の場合は不要だが、SCI(Serial Communication Interface)やポート設定などを動的に行う場合は以下も実施しておくとよい
      • 基本設定 -> C/C++ -> Renesas -> スマート・コンフィグレータ -> コンポーネント -> すべてのFITモジュールを表示する
    • スマートコンフィグレータ右上の「コード生成」ボタンを押すとスマートコンフィグレータで設定した内容に応じたスケルトンプログラムが出力される
    • e2 studio画面上部のプロジェクト -> すべてをビルド を実行し、コンソールにエラー表示されないことを確認

CMTのコンポーネントのマニュアルを確認する

    • スマートコンフィグレータが生成するコードはすべて smc_gen フォルダに格納される
    • 様々な機能を持つコンポーネント、例えば今回使用する r_cmt_rx など、docフォルダを持つコンポーネントがある
    • docフォルダ内にはマニュアルが入っており、コンポーネントのAPI仕様およびその使用方法を確認できる
    • 今回は、r_cmt_rx の 周期起動API、R_CMT_CreatePeriodic()を使用する

LEDに接続されたRX72Nのポート番号を確認する

    • P40がUSER LEDに繋がっている
      • P40 の電圧レベルをゼロにすることで、3.3V電源からUSER LEDを経由しP40に対し電流が流れ、USER LEDが点灯する仕組み

スマートコンフィグレータでポートのコンポーネントを登録する

    • スマートコンフィグレータの下部、「コンポーネント」タブを押す
    • 上記のように ポート コンポーネントを追加する
    • さらに、追加された Config_PORT コンポーネントを選択し、以下設定を施す
      • ポート選択タブ -> PORT4
      • PORT4タブ
        • P40 -> 出力、CMOS出力、1を出力にチェック(初期状態でLED消灯)
    • スマートコンフィグレータ右上の「コード生成」ボタンを押すとスマートコンフィグレータで設定した内容に応じたスケルトンプログラムが出力される
    • e2 studio画面上部のプロジェクト -> すべてをビルド を実行し、コンソールにエラー表示されないことを確認

main()関数を作成する

  • スマートコンフィグレータが出力するコードは、ハードウェアの初期化が完了すると、main()を呼び出す
  • ユーザはこのmain()にユーザコードを追加し、ユーザシステムの動作を定義していく
  • 今回はここに、CMTとポートの機能を使用したコードを追加することで、「LEDを0.1秒周期で点滅させる」ことを実現する
  • 以下コードを rx72n_envision_kit.c に書き込む
    • rx72n_envision_kit.c のソースコードはe2 studio画面上のプロジェクトエクスプローラにおいて、 rx72n_envision_kit -> src -> smc_gen に格納されている
#include "r_smc_entry.h"
#include "platform.h"
#include "r_cmt_rx_if.h"

void main(void);
void cmt_callback(void *arg);

void main(void)
{
	uint32_t channel;
	R_CMT_CreatePeriodic(10, cmt_callback, &channel);
	while(1);
}

void cmt_callback(void *arg)
{
	if(PORT4.PIDR.BIT.B0 == 1)
	{
		PORT4.PODR.BIT.B0 = 0;
	}
	else
	{
		PORT4.PODR.BIT.B0 = 1;
	}
}

動作確認

  • RX72N Envision KitのSW1-2 をOFF(ボードの下側)にする
  • 次にビルドしたファームウェアをRX72Nにダウンロードし、実行する
    • e2 studio 画面上部の Configuration プルダウンで rx72n_envision_kit HardwareDebug が選択されていることを確認
    • その右隣りの歯車アイコンを押す
      • Debugger -> Debug hardware -> E2 Lite(RX) が選択されていることを確認
      • Debugger -> Connection Settings
        • メイン・クロック・ソース -> EXTAL に変更
        • EXTAL周波数[MHz] -> 16.0000 に変更
        • 動作周波数[MHz] -> 240 に変更
        • 接続タイプ -> Fine に変更
        • エミュレータから電源を供給する (MAX 200mA) -> いいえ に変更
    • e2 studio 画面上部の 虫アイコンを押してファームウェアをRX72Nにダウンロードする
    • e2 studio 画面上部の 再生ボタンのアイコンを押してファームウェアを実行する
      • main()で一度ブレークするのでもう一度再生ボタンのアイコンを押す
  • ボード上の青色LED(ボード中央RX72Nの右下あたり)が0.1秒周期で点滅することを確認
  • ★将来改善★ BDFに合わせてデバッガの設定を自動化する
  • RX72Nは汎用マイコンであるため、クロック源や内部PLL回路の逓倍/分周比を柔軟に設定することができる
  • CMTに代表されるタイマ系や、SCIに代表される通信系においては、自身に配線されているクロック信号のクロック速度に応じて自身への設定値をソフトウェアにより調整する必要がある
  • このソフトウェアのコーディングは本来、マイコンのマニュアルを参照しながらユーザが行う必要があるが、非常に設定項目が多岐に渡るためスマートコンフィグレータのようなツールでこれを支援する機構を用意した
  • ユーザ(特にアプリ設計者)はクロック源が何MHzであるとか、内部PLLの設定がどうなっているかを意識することなく、APIレベルでたとえば「ボーレートは115200bps」といった形でソフトウェアからハードウェアに対して指示をすることが可能となり、ソフトウェア開発効率が改善する
  • また、RXファミリ製品を熟知した設計者がCMT、SCI、Ether、USB、SDHI等のRXファミリ内蔵回路用のドライバソフトウェアを主要RXグループに対し同一API設計にて「FITモジュール」という形式で開発・メンテナンス(継続的な不具合修正)を実施し、FITモジュールを1個のパッケージに同梱したものを「RX Driver Package」として配布をしている
  • 従ってユーザはRXファミリ間の詳細なハードウェア差異やハードウェアエラッタ情報を意識することなくアプリケーション開発に注力できる

画面処理系のFITモジュール

  • 画面処理系のFITモジュールはまだ試作段階であり、RX Driver Packageに正式に組み込めていない
  • 試作段階のFITモジュールはearly prototypeとして以下にあり、使用する場合は別途導入が必要
  • 画像処理系以外にもSDIOドライバや各種WiFiドライバのearly prototype版のFITモジュールがいくつか存在する
  • 以下フォルダに上記URLからダウンロードしたFITモジュール(FITModulesフォルダ内の*.zip, *.xml, *.mdf)をコピーすればスマートコンフィグレータがそれを読み込むことができる
    • e2 studio 2020-04以前
    • e2 studio 2020-07以降

★今後改善する項目

  • LEDのON/OFFだけでなく、RX72N Envision Kit に搭載されている全機能についてスマートコンフィグレータで簡単に設定ができるよう*.scfgファイルを整備できるよう、情報拡充する <工事中>
  • BDF設定によりFITモジュールのMDF(Module Description File)が抱える初期設定値を更新できるようにすることで、ボード選択により全自動でFITモジュールの再設定が可能となる
  • BDF設定によりPMODなどのボード上のマルチファンクションなコネクタに対するFITモジュール設定を柔軟に選択可能にする

Home

  1. Home

Quick Start Guide

  1. Confirm factory image behavior
  2. Update firmware from SD card
  3. Revert to factory image

Functions that is available with updated F/W

  1. OTA via AWS with FreeRTOS
  2. Network Benchmark
  3. How to use Tracealyzer
  4. D2 audio
  5. MEMS mic
  6. ESP32
  7. SSL acceleration by Trusted Secure IP(TSIP)

Command list

  1. Command list

For Developer

initial firmware base

  1. How to debug
  2. Custom firmware
  3. Design memo
  4. Trouble Shooting

new project base (bare metal)

  1. Generate new project (bare metal)
  2. 1+SCI_
  3. 1+Trusted Secure IP Driver
  4. 1+QSPI+Serial flash driver (for Macronix)
  5. 1+Ether+TCP/IP_
  6. 1+Ether+TCP/IP+Web Server_
  7. 1+SDHI+SD Card Driver+Filesystem_
  8. 1+GLCDC+DRW2D+emWin(Segger GUI Middleware)
  9. 1+SSI+Audio playback and recording

new project base (FreeRTOS(Kernel Only))

  1. Generate new project (FreeRTOS(Kernel Only))
  2. Application of queue Serialization of print debug
  3. How to implement Tracealyzer Recorder
  4. How to implement Tracealyzer Recorder for complex system

new project base (FreeRTOS(with IoT Libaries))

  1. Generate new project (FreeRTOS(with IoT Libaries))

development tool

  1. How to use the Smart Configurator
  2. How to use the Audacity

ホーム

  1. ホーム

クイックスタートガイド

  1. 初期ファームウェア動作確認方法
  2. SDカードを用いたファームアップデート方法
  3. 初期ファームウェアに戻す方法

F/W更新で利用可能な機能

  1. AWSとFreeRTOSを用いたOTAによるファームアップデート方法
  2. ネットワークベンチマーク
  3. Tracealyzer使用方法
  4. D2オーディオ活用
  5. MEMSマイク活用
  6. ESP32活用
  7. Trusted Secure IP(TSIP)によるSSLの加速

コマンドリスト

  1. コマンドリスト

開発者向け

初期ファームウェアベース

  1. デバッグ方法
  2. ファームウェアをカスタムする方法
  3. 設計メモ
  4. トラブルシューティング

新規プロジェクトベース(ベアメタル)

  1. 新規プロジェクト作成方法(ベアメタル)
  2. 1+SCI
  3. 1+Trusted Secure IPドライバ
  4. 1+QSPI+シリアルフラッシュドライバ(Macronix用)
  5. 1+Ether+TCP/IP
  6. 1+Ether+TCP/IP+Webサーバ
  7. 1+SDHI+SDカードドライバ+ファイルシステム
  8. 1+GLCDC+DRW2D+emWin(Segger GUIミドルウェア)
  9. 1+SSI+音声再生録音

新規プロジェクトベース(FreeRTOS(Kernel Only))

  1. 新規プロジェクト作成方法(FreeRTOS)
  2. queueの活用 printデバッグのシリアライズ
  3. Tracealyzer Recorderの実装方法
  4. 複雑なシステムのTracealyzer Recorder実装方法

新規プロジェクトベース(FreeRTOS(with IoT Libaries))

  1. 新規プロジェクト作成方法(FreeRTOS(with IoT Libraries))

開発ツール

  1. スマート・コンフィグレータの使用方法
  2. Audacityの使用方法
Clone this wiki locally