e2 studio v7.5.0のFreeRTOS ProjectでVisual Expression+Renesas RX Simulator/TB-RX65Nで試せるSample Programを作ってみた

こんにちは。NoMaYです。

今は(今後も?)e2 studioでのみ作れるFreeRTOSプロジェクトですが、以下のプログラムを作ってみました。

TB-RX65N用

(1) TBボードのLED0を500ms毎にOn/Offする(FreeRTOS APIのvTaskDelay()を使用)
(2) TBボードのSW1押下毎にLED1をOn/Offする(タスクでセマフォ待ちして割り込みでセマフォ待ち解除)
(3) TBボードのSCI1で3文字受信毎に3文字エコーバックする(タスクでセマフォ待ちして割り込みで3文字毎にセマフォ待ち解除)

Renesas RX Simulator用

(1') Visual ExpressionのLED部品を50ms(但しシミュレーション上の時間)毎にOn/Offする(上の(1)の括弧内と同様)
(2') Visual ExpressionのBUTTON部品押下毎にLED部品をOn/Offする(上の(2)の括弧内と同様)
(3') Renesas Debug Virtual Console⇔SCI1で3文字受信毎に3文字エコーバックする(上の(3)の括弧内と同様)

プロジェクトのファイル一式 (CC-RX V2.03でビルド、zipファイルをe2 studioに直接インポート可能)
sim_rx65n_freertos_proj_fit_scfg_ccrx_c_e2v750_20190924.zip    1.23MB
sim_rx65n_freertos_proj_fit_scfg_ccrx_c_e2v760_20191019.zip    1.23MB (主にGNURX版との合わせ込みです)

含まれるプロジェクト
sim_rx65n_freertos_proj_fit_scfg ← こちら側にソースがあります(TB-RX65Nでも動作可)(*1,*2)
tb_rx65n_freertos_proj_fit_scfg ← こちら側にソースは無いです(TB側はSIM側のソースフォルダをリンク機能で参照します)(*1,*2)
x_DO_NOT_BUILD_rx65n_freertos_proj_fit_scfg_0 ← ソース編集前のRXスマートコンフィグレータ設定直後のソース(*3)

*1:以前に別スレッド「RenesasさんからRXマイコンの低価格Target Boardが出たのでサンプルプログラムをCSplus projectへ変換してみようと思います」に投稿したプロジェクトと同じIDコードを設定しています。

*2:実機用の.launchファイルは当方特有の事情でオンボードエミュレータが使えない為に未確認です。

*3: RXスマートコンフィグレータの設定を行った直後にRXスマートコンフィグレータに生成させたソースがx_DO_NOT_BUILD_rx65n_freertos_proj_fit_scfg_0プロジェクトのsrcフォルダのソースです。ファイル比較ツールで比較することで、RXスマートコンフィグレータに生成させた後、どのように編集したか分かります。

詳細な説明は以下のスレッドに書きました。

e2 studio v7.5.0のFreeRTOS ProjectでVisual Expression+Renesas RX Simulator/TB-RX65Nで試せるSample Programを作ってみた
japan.renesasrulz.com/cafe_rene/f/forum21/5970/e2-studio-v7-5-0-freertos-project-visual-expression-renesas-rx-simulator-tb-rx65n-sample-program

以下、画面コピーと写真です。

Renesas RX Simulatorで実行


TB-RX65Nで実行



RXスマートコンフィグレータで今回生成させたタスクとセマフォの一覧



[履歴]

sim_rx65n_freertos_proj_fit_scfg_ccrx_c_e2v750_20190924.zip
・初版

sim_rx65n_freertos_proj_fit_scfg_ccrx_c_e2v760_20191019.zip
・MOTファイルは変わりません
・VOLATILEマクロ追加(GNURX版との合わせ込み)
 変更ファイル: src/smc_gen/r_config/r_bsp_config.h, src/sim_rx65n_int_emulation.c
・machine.hファイル追加(CC-RX版では未使用)(GNURX版との合わせ込み)
 追加ファイル: src/r_bsp_modified/GNURX_support/machine.h
 変更ファイル: src/smc_gen/r_config/r_bsp_config.h
・GNURX版でのワーニング対処の反映(GNURX版との合わせ込み)
 変更ファイル: src/smc_gen/r_pincfg/Pin.c
・スタック情報ファイルを生成するプロジェクト設定を追加
 変更ファイル: .cproject
・実機用の.lauchファイルを追加(当方特有の事情でオンボードエミュレータが使えない為に未確認です)
 追加ファイル: "sim_rx65n_freertos_proj_fit HardwareDebug.launch", "tb_rx65n_freertos_proj_fit HardwareDebug.launch"