RL78G14(1)-スイッチによるLED点灯

今回は、RL78/G14 Fast Prototyping Boardを購入したので、動作させようと思います。RL78/G14 Fast Prototyping Boardは、高機能なRL78/G14マイコンを搭載し、様々なアプリケーションの試作開発に特化した評価ボードです。E2エミュレータLite相当のエミュレータサーキットを内蔵し、追加のツール無しでプログラムの書き込み/デバッグが可能です。別売りのRL78/G1D BLE Module Expansion Board (RTKYRLG1D0B00000BJ)と組み合わせることで、BluetoothR Low Energy無線通信機能を容易に追加でき、IoTエンドポイント機器の早期試作が可能です。また、Semtech社製 SX1261/SX1262 LoRaRトランシーバを組み合わせることで、LoRaRに基づく無線通信によるIoTセンサデバイスを試作することも可能です。

今回は、動作確認なので、SWを押すとLEDが点灯するような機能を構築して動作させてみようと思います。Bluetooth Low Energy無線通信も次回以降に試していきたいと思います。

それでは機能を構築していきたいと思います。まずは新規プロジェクトの作成です。新規プロジェクトの作成方法は、下記のページを参考にしてください。

RL78G13(1)-SWによるLED点灯

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

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(19)-ブートローダ(CRC16チェックサム)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回はアプリケーション領域へアプリケーションコードを書き込んでいく処理を作成しました。ブートローダが動作することを確認できたと思います。

前回の内容は下記のサイトになりあます。

RX(18)-ブートローダ(アプリケーションコードの書き込み)

作成したブートローダは、SW1を押さずに実行した場合、アプリケーションコードに移動する仕様ですが、アプリケーション領域に有効なアプリケーションを含んでない場合あると思います。例えば、ブートローダを書き込んだ直後には
アプリケーション領域には何も書き込みはされていません。誤動作する可能性もあるので、アプリケーション領域のチェックをする必要があります。そこでアプリケーション領域に書き込みをした際に、CRC演算をしてアプリケーション領域のチェックサムを求め、コードフラッシュに書き込んでおき、再度電源を投入した際に、アプリケーション領域のチェックサム値を求め、書き込んだチェックサム値と比較することで、アプリケーション領域に有効なアプリケーションを含んでいるか判定しようと思います。

それでは、機能を構築していきたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(18)-ブートローダ(アプリケーションコードの書き込み)

アプリケーション領域をアップデートするためのファイルの形式はモトローラS形式ファイルになります。こちらはSレコード形式のファイルになります。Sレコードに関しては、下記のページが参考になります。

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

https://ja.wikipedia.org/wiki/S-record

前回は、XMODEMプロトコルを使用して受信したデータ(モトローラS形式ファイル)を解析するための関数を作成しました。前回の内容は下記のサイトになりあます。

RX(17)-ブートローダ(Sレコードファイルデコード)

今回は、前回作成したモトローラS形式ファイルを解析する関数を呼び出しながら、アプリケーション領域へアプリケーションコードを書き込んでいく処理を作成します。これで、ブートローダが動作すると思います。

それでは、コーディングしたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(17)-ブートローダ(Sレコードファイルデコード)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回は、XMODEMプロトコルを使用して、受信したデータを、バッファに保存する処理を行いました。

前回の内容は下記のサイトになります。

RX(16)-ブートローダ(XMODEMプロトコルデータ受信処理)

アプリケーション領域をアップデートするためのファイルの形式はモトローラS形式ファイルになります。こちらはSレコード形式のファイルになります。Sレコードに関しては、下記のページが参考になります。

https://ja.wikipedia.org/wiki/S-record

今回は、XMODEMプロトコルを使用して受信したデータ(モトローラS形式ファイル)を解析する処理になります。これらを処理するための関数を作成していきます。

それでは、コーディングしたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(16)-ブートローダ(XMODEMプロトコルデータ受信処理)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

アプリケーションコードを書き込むためには、まずは、書き込み領域を削除しなければなりません。前回は、Erase処理をブートローダの機能に追加しました。

前回の内容は下記のサイトになります。

RX(15)-ブートローダ(アプリケーション領域削除)

今回からは、アプリケーションコードのアップデート処理をブートローダに追加しようと思います。下記の機能を追加します。このアップデートの処理ですが、コーディングすると長いので何回かに分割してコーディングしていきたいと思います。今回は、主にXMODEMプロトコルを使用して、受信したデータを、バッファに保存する処理になります。

XMODEMプロトコルに関しては、下記のページが参考になると思います。

https://ja.wikipedia.org/wiki/XMODEM

それでは、コーディングしたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(15)-ブートローダ(アプリケーション領域削除)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回は、下記の機能をコーディングしました。

  • 各種初期化関数
  • 電源投入時に、SW1が押されてなかったら、指定した番地に移動(アプリケーションコードへ移動)
  • 割り込みベクターテーブルをRAMへ保存

前回の内容は下記のサイトになります。

RX(14)-ブートローダ(アドレス移動)

アプリケーションコードを書き込むためには、まずは、書き込み領域を削除しなければなりません。今回は、Erase処理をブートローダの機能に追加しようと思います。それでは、コーディングしたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(14)-ブートローダ(アドレス移動)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。開発環境は「e2studio」です。

前回は、下記のエラーが発生したので、その対応方法を検証しました。

  • W0561120:Section address is not assigned to “RPFRAM”
  • F0563100:Section address overflow out of range : “RPFRAM”

前回の内容は下記のサイトになります。

RX(13)-ブートローダ(RPFRAM)

今回は、ブートローダの処理をコーディングしたいと思います。今回コーディングする内容は下記の通りです。

  • 各種初期化関数
  • 電源投入時に、SW1が押されてなかったら、指定したアドレスに移動(アプリケーションコードへ移動)
  • 割り込みベクターテーブルをRAMへ保存

今回、指定したアドレスに移動する機能も構築するので、LEDを点滅する関数を作成してその関数へ移動するかどうか試してみたいと思います。

それでは、コーディングしたいと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(13)-ブートローダ(RPFRAM)

現在、RXマイコンを使用して、ブートローダ機能を構築に取り組んでいます。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用しています。

前回は、ブートローダの機能を構築するために、まず、スマートコンフィグレータを使用して、下記のコンポーネントを追加しました。
・入出力ポートコンポーネント(Config_PORT)
・フラッシュのコンポーネント(r_flash_rx)
・通信のコンポーネント(Config_SCI11)
・タイマのコンポーネント(Config_TMR0_TMR1)

  • 入出力ポートコンポーネント(Config_PORT)
  • フラッシュのコンポーネント(r_flash_rx)
  • 通信のコンポーネント(Config_SCI11)
  • タイマのコンポーネント(Config_TMR0_TMR1)

コンポーネントを追加したら、各コンポーネントの設定を行い、コードを生成しました。そして、生成したコードにコーディングを行いました。前回の内容は、下記のページから参照できます。

RX(12)-ブートローダ(周辺機能準備)

ここで、ビルドを実行してみたのですが、残念ながら下記のエラーが発生しました。

  • W0561120:Section address is not assigned to “RPFRAM”
  • F0563100:Section address overflow out of range : “RPFRAM”

今回は、このエラーに対応していこうと思います。

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(12)-ブートローダ(周辺機能準備)

今回はRXマイコンを使用して、ブートローダ機能を構築したいと思います。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。

F/Wをアップデートしたいが、エミュレータを使用したくないケースやRenesas Flash Programmerは使用したくないケースがあります。このような時には、ブートローダを作成します。ブートローダによって、書き込みモードと動作モード制御することで、エミュレータやRenesas Flash Programmerを使用せずともシリアル通信などで、F/Wを書き込みます。初回の書き込み時は、エミュレータやRenesas Flash Programmerが必要ですが、ブートローダを一度書き込んでしまえば、あとは、シリアル通信などで、F/Wを書き込むことができます。Ethernetなどを使用すれば、インターネット回線で、F/Wの更新などもできるようになると思います。今回はシリアル通信を使用して、F/W書き込みまたは更新できるブートローダを作成しようと思います。

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

RX(3)-RS232通信

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、コンポーネントの追加をしていきます。

追加したコンポーネントは、下記の4つです。

  • 入出力ポートコンポーネント(Config_PORT)
  • フラッシュのコンポーネント(r_flash_rx)
  • 通信のコンポーネント(Config_SCI11)
  • タイマのコンポーネント(Config_TMR0_TMR1)

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!

RX(11)-Delay関数

以前、インプットキャプチャに関して、動作確認した際に、約1秒間のDelay時間をつくりました。インプットキャプチャに関しての動作確認は下記のサイトを参考にしてください。

RX(9)-インプットキャプチャ

この時は、for文を使って、Delay時間を構築しましたが、いろいろ調べていくと、スマートコンフィグレータを使用すると、Delay時間を構築できる関数があることがわかりました。やっぱりあるんですね!

今回は、このDelay関数を使用して、LEDを点滅させる機能を作ろうと思います。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。Delay関数を使用するためには、スマートコンフィグレータのr_bspが必要です。r_bspはスマートコンフィグレータにデフォルトで追加されているコンポーネントです。新規プロジェクトを作成する時に、スマートコンフィグレータを使用するにチェックすれば、r_bspコンポーネントは追加されている状態になると思います。

r_bspコンポーネントの初期のパラメータで問題ありません。LEDを点滅させたいので、ポートコンポーネントを追加して、P95を出力に設定しておきます。Lowで点灯なので、1を出力するにチェックを入れて、LEDが消灯状態が初期値状態になるようにします。ポートコンポーネントの追加の仕方は、下記のサイトを参考にしてください。

RX(3)-RS232通信

このコンテンツを閲覧するにはログインが必要です。 はコチラ。あなたは会員ですか ? 会員登録はコチラ!