RenesasSynergy(10)-サービスコール関数

前回は、Renesas Synergy S7G2マイコンをRS232通信機能とMessagingの機能を追加したファームウェアを作成しました。今回は、このMessaging機能の変わりに、ThreadXに用意されているサービスコール関数を使用して、thread間の処理の受け渡しを行おうと思います。使用する評価ボードは、RenesasSynergyマイコン「S7G2」が搭載されている「SK-S7G2」です。

それでは、新規プロジェクトを作成します。 新規プロジェクトの作成方法は、下記のページを参考にしてください。

RenesasSynergy(1)-LED点滅

threadを2つ追加します。threadの作成方法は、下記のページを参照してください。

RenesasSynergy(3)-タイマを使用したLEDの点滅

new_thread0、new_thread1を作成しました。今回、TIme Slicing intervalを0で設定していますので、注意してください。

続いて、UARTをnew_thread1に追加します。UARTの追加方法は下記のページを参照してください。

RenesasSynergy(8)-RS232通信

下記のようにthreadの追加、UARTの追加をしました。

それでは、[Generate Project Content]を選択して、ソースコードを生成します。

RenesasSynergy(9)-Messaging機能

前回は、Renesas Synergy S7G2マイコンをRS232通信機能を追加したファームウェアを作成しました。今回は、このファームウェにMessaging機能を追加して、thread間の処理の受け渡しを行おうと思います。使用する評価ボードは、RenesasSynergyマイコン「S7G2」が搭載されている「SK-S7G2」です。前回作成したプロジェクトファイルを改良していこうと思います。

RenesasSynergy(8)-RS232通信

今回は、RS232通信機能を追加したファームウェアを作成します。使用する評価ボードは、RenesasSynergyマイコン「S7G2」が搭載されている「SK-S7G2」です。評価ボードにはLEDが3つ用意されているので、L1,ONでLED1が点灯、L1,OFFでLED1が消灯、L2,ONでLED2が点灯、L2,OFFでLED2が消灯するコマンドを用意して、RS232通信を行える機能を作成しようと思います。デリミタは’\r’です。

それでは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RenesasSynergy(1)-LED点滅

今回は、プロジェクト名を「RS232」としました。テンプレートは、BSPを選択しました。プロジェクトファイルが作成できたので、まずは、スレッドを2つ作成します。1つ目のスレッド(new thread0)は、特になにも処理をしないスレッドです。2つ目のスレッド(new thread1)は、RS232通信の受信と送信を行います。

RenesasSynergy(7)-TraceX(Blinky with Threadの動き)

今回は、TraceX取得した、ThreadXの動きについて見ていきたいと思います。TraceXの設置方法は、下記のサイトを参照してください。

RenesasSynergy(6)-TraceX

TraceXの設置方法の時に使用しましたBlinkyTraceXプロジェクトファイルの動きを見ていきたいと思います。

BlinkyTraceXプロジェクトファイルの動きは下記のようになります。

RenesasSynergy(6)-TraceX

今回は、ThreadX(RTOS)の動きを検証していくために、TraceXを使用してみたいと思います。TraceXはシステムイベントを視覚化することができます。Threadのプライオリティを考えるうえで、ThreadXのシステムイベントの動きを理解することが重要となってきます。使用する評価ボードは、「SK-S7G2」です。TraceXは、別途インストールが必要です。下記のサイトからダウンロードできます。

https://www.renesas.com/jp/ja/products/synergy/software/tools/tracex.html

それでは、テンプレートで用意されている「Blinky with ThreadX」を使用して、ThreadXの動きを見ていくためにTraceXを設置したいと思います。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RenesasSynergy(1)-LED点滅

今回は、プロジェクト名を「BlinkyTraceX」としました。

プロジェクトファイルが作成できたので、まずは、Configuration.xmlファイルを開き、ThreadX Sourceを追加します。[Thread]タブを選択した後に、[New Thread Stacks]→[New Stack]→[X-Ware]→[ThreadX]→[ThreadX Source]を選択します。

「HAL/Common」の枠の中にThreadX Sourceが追加されました。

RenesasSynergy(4)-データフラッシュ

今回は、DataFlashを使用して、データを保存するファームウェアを作成します。使用する評価ボードは、「SK-S7G2」です。評価ボードにはLEDが3つ用意されているので、SWを押すたびに光るLEDが順番に変わるファームウェアを作成します。電源を落とした場合は、最後に光ったLEDがどれであるかDataFlashに保存して、電源をONした際に、DataFlashからどのLEDから光らせるか読み出します。

RenesasSynergy(3)-タイマを使用したLEDの点滅

今回は、Timerを使用してLEDを点滅させるファームウェアを作成します。
使用する評価ボードは、DK-S124です。

それでは、新規プロジェクトを作成します。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RenesasSynergy(1)-LED点滅

今回は、プロジェクト名をTImerLEDとしました。

テンプレートは、BSPを選択しました。

プロジェクトファイルの作成が完了しました。

RenesasSynergy(2)-LED点滅のソースコード確認

前回、Renesas Synerg マイコン「S124」にLEDを点滅させるテンプレートを書き込み、動作させました。

このテンプレートの中身を見ていこうと思います。まずは、Project ExplorerからConfiguration.xmlを開きます。この画面では、ポートの設定、周辺機能設定、Threadの設定などができます。このGUIを使用することで、USB通信やWiFi通信も効率よく開発することができます。

それでは、Threadsタブを選択してみます。下記のような画面が表示されます。この画面を使用して、周辺機能設定やThreadの設定を行います。

RenesasSynergy(1)-LED点滅

Renesas Synerg マイコンは、「開発を加速」「トータルコストを削減」「参入障壁を低く」を3本柱にしたマイコンです。マイコンを購入すれば、統合開発環境(コンパイラを含む)も無償で使用できます。また、RTOSも無償で使用することができるので、魅力的です。

Renesas Synerg マイコンのファームウェアを作成するときには、SSP(Synergy Software Package)を使用すると便利です。 SSPは、ルネサスが動作を保証したソフトウェアパッケージで、ファームウェアを作成するときに便利です。

Renesas Synerg マイコンは、S1シリーズ、S3シリーズ、S5シリーズ、S7シリーズがあり、今回は、S1シリーズの評価ボードを使用して、マイコンの検証をしたいと思います。使用する評価ボードは、「DK-S124」です。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Renesas Synergy S124 開発キット DK-S124
価格:33026円(税込、送料別) (2019/2/16時点)


統合開発環境は、「e2studio ISDE」と「IAR Embedded Workbench for Renesas Synergy」が用意されています。今回は、「e2studio ISDE」を使用して開発を行おうと思います。下記のページよりSSPが同梱されたe2studioのインストーラをダウンロードできます。

https://www.renesas.com/jp/ja/products/synergy/software/ssp.html

統合開発環境をインストールできたら、まずは、テンプレートを使って、評価ボードを動かしてみます。

e2Studioを実行すると、下記の画面が表示されます。プロジェクトファイルの保存先となるので、任意のフォルダを選択してください。選択できたら、「OK」ボタンを押します。

すると、e2studioの画面が表示されます。

それでは、新規プロジェクトを作成します。
メニューバーから[edit]→[new]→[Synergy C/C++ Project]を選択します。

「Renesas Synergy C Executable Project」を選択して、「OK」ボタンを押します。

プロジェクト名を入力して、「Next」ボタンを押します。今回、プロジェクト名は「Blinky」にしました。

今回、評価ボードを使用するので、Boardから「S124DK」を選択して、「Next」ボタンを押します。

テンプレートの選択画面です。「Blinky with ThreadX」を選択して、「Finish」ボタンを押します。

新規プロジェクトファイルが作成されました。もし、下記のような画面が表示されていなかったら、左端にある「ギアのアイコン」を選択すると、表示されると思います。

早速、ビルドしてみます。メニューバーのProject]→[Build All]を選択します。

Buildが成功すると、Consol画面に「Build Finished. 0 errors, 0 warnings」と表示されます。それでは、USBケーブルで評価ボードとPCを接続して、デバッグを行います。メニューバーの[Run]→[Debug]を選択します。

Debug画面に切り替えてよいか確認画面が表示されるので、「Yes」ボタンを選択します。

Debug画面が表示されます。上のほうにあるアイコンメニューの一覧から実行ボタンを2回押して、プログラムを実行します。

評価ボードのLEDが点滅しました。