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です。

    別スレッド「RXシュミレータでの最小プログラムの作成について」で、RX63N用に開発したプログラムがVisual StudioのCコンパイラ(つまりx86向けコンパイラ)でビルド出来ない、というような話がありましたが、理屈的にはCC-RX(とCC-RL/CC-RH等も)ANSI/ISOの規格に従っているので、(#pragmaのワーニングは出るものの)ビルドするのは難しくないのでは?とも思うのですが、手元のRTOS Demoで試してみれば良いのですよね。そのうち試してみようかと思います。ただ、IDEとコンパイラはe2 studioとMinGWにすると思います。(最近は、Visual StudioもMSCも御無沙汰ですので。ちなみに、こういうことにはCS+は向かないですね、、、ルネサスコンパイラオンリ(+GHSコンパイラ)ですので、、、)

Reply
  • こんにちは。NoMaYです。

    別スレッド「RXシュミレータでの最小プログラムの作成について」で、RX63N用に開発したプログラムがVisual StudioのCコンパイラ(つまりx86向けコンパイラ)でビルド出来ない、というような話がありましたが、理屈的にはCC-RX(とCC-RL/CC-RH等も)ANSI/ISOの規格に従っているので、(#pragmaのワーニングは出るものの)ビルドするのは難しくないのでは?とも思うのですが、手元のRTOS Demoで試してみれば良いのですよね。そのうち試してみようかと思います。ただ、IDEとコンパイラはe2 studioとMinGWにすると思います。(最近は、Visual StudioもMSCも御無沙汰ですので。ちなみに、こういうことにはCS+は向かないですね、、、ルネサスコンパイラオンリ(+GHSコンパイラ)ですので、、、)

Children
No Data