FreeRTOSのRL78のsample programを作成していこうかと思います(RL78/G13,G14の他にRL78/G23もやろうかと思います)

こんにちは。NoMaYです。

今までちょこちょことRL78ポートレイヤを改造していると書いてましたが、サンプルプログラム(もっとも今のところRL78/G14のドライバ層のみです)も作成していたりします。既作成分はGitHubの以下のリポジトリにおいてあります。今日、RL78/G23が発表されましたので、RL78/G23のサンプルプログラムもこのリポジトリに追加していこうかと思っています。(あと、RX23Wも追加していこうかと思っています。)

github.com/NoMaY-jp/FreeRTOS_examples_for_Renesas_R_CPUs

なお、このリポジトリで使用しているポートレイヤはFreeRTOS公式リポジトリのポートレイヤから改造しています。(RL78だけでなくRXも改造しています。)

RL78ポートレイヤ改造概要

(1) タスクスタックとは別に割り込み専用スタックを使用することが可能
(2) カーネル内(とユーザタスク内)のクリティカルセクションの実行中も(多重)割り込みを受け付けることが可能(FreeRTOS APIの呼び出しは不可)
(3) 従来のコード生成機能で生成した割り込み処理Cソース中からFreeRTOS APIの呼び出しが可能(RL78スマートコンフィグレータは今後調査します)

今のところ以下のフォルダがありますが、チョコさんのUARTリングバッファ/簡易IICマスタ/IICAマスタのサンプルプログラムのソースを殆どそのままに近い形で使わせて頂いているものもあります。

13_RTOSDemo
20_UART_9600bps_Basic
26_UART_2Mbps_Tx_DTC_Rx_RingBuffer ← チョコさんのUARTリングバッファのソースを使用
30_I2C_Simple_Master_100Kbps_Basic
31_I2C_Simple_Master_100Kbps_Advanced ← チョコさんの簡易IICマスタのソースを使用
32_I2C_Simple_Master_1Mbps_Basic
33_I2C_Simple_Master_1Mbps_Advanced ← チョコさんの簡易IICマスタのソースを使用
40_I2C_100Kbps_Basic
41_I2C_100Kbps_Advanced ← チョコさんのIICAマスタのソースを使用
42_I2C_1Mbps_Basic
43_I2C_1Mbps_Advanced ← チョコさんのIICAマスタのソースを使用

[追記]

RXポートレイヤ改造概要

(A) RX100,RX200,RX600,RX600v2,RX700v3_DPFPUをひとつにマージ(ただしRX100のTICKLESS IDLEという機能は手が回らず未マージ)
(B) IARコンパイラでもCC-RX/GNURXと同様にFreeRTOSConfig.hのみでコンフィグレーション可能(従来はもう1つASM用にファイルが必要だった)

すみません、RXのRTOSDemoは後日FITベースからCGベースへ変更予定です。(まったくの私の好みによるもの、であって、FITに問題があったから、とかでは全然ありません。)
 

Top Replies

Parents
  • NoMaYさん

    こんにちは、シェルティです。

    本件も引き続き相談させていただければ幸いです。

    AWS本家のリポジトリにプルリクエストを出してマージしてもらうところまで進めていきたいと考えています。

    数年前はFreeRTOSの活動は空き時間で細々とやっていましたがかなりリソース増強出来てきました。

    実商談ベースの調整やOTA対応やセルラー対応等の本筋にリソースを割いていましたが、GitHub上でもっと幅広くサンプルを展開していけるようにする活動にもフォーカスが移りつつあります。

    RL78/G23用も含めてGitHub上のFreeRTOS関連のコードの整理を進めてまいります。

    e2 studioがGitHubを参照して初期データセットを持ってきて、新規プロジェクト作成でFreeRTOSが選べるようにしたりなど、ツール連携の強化も合わせて進めてます。

    以上です

  • シェルティさん、こんにちは。NoMaYです。

    > 本件も引き続き相談させていただければ幸いです。
    > AWS本家のリポジトリにプルリクエストを出してマージしてもらうところまで進めていきたいと考えています。

    はい。では、随時。

    ちなみに、RL78スマートコンフィグレータのR_BSPは、CC-RL/ICCRL78/LLVM-RL78の3コンパイラ対応になってますね。(言い換えると、GNURL78はレガシーコンパイラの扱いになった、みたいですね。) e2 studio 2021-04を触っていて気付いたのですが、将来的にRL78のFreeRTOSプロジェクトがコロコロすっとんと生成出来るようになることの他に、FITのRL78版みたいな位置付けのフレームワークも提供されるのかなぁ、とか思ったりとか思わなかったり、とか、、、

Reply
  • シェルティさん、こんにちは。NoMaYです。

    > 本件も引き続き相談させていただければ幸いです。
    > AWS本家のリポジトリにプルリクエストを出してマージしてもらうところまで進めていきたいと考えています。

    はい。では、随時。

    ちなみに、RL78スマートコンフィグレータのR_BSPは、CC-RL/ICCRL78/LLVM-RL78の3コンパイラ対応になってますね。(言い換えると、GNURL78はレガシーコンパイラの扱いになった、みたいですね。) e2 studio 2021-04を触っていて気付いたのですが、将来的にRL78のFreeRTOSプロジェクトがコロコロすっとんと生成出来るようになることの他に、FITのRL78版みたいな位置付けのフレームワークも提供されるのかなぁ、とか思ったりとか思わなかったり、とか、、、

Children
No Data