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通信

続きを読む

RX(10)-CAN通信(送信・受信)

今回は、CAN通信のファームウェアを作成してみたいと思います。使用するマイコンは、「RX66T」になります。「Renesas Starter Kit+ for RX66T」評価ボードを使用します。開発環境は「e2studio」です。

そもそもCANとは、Controller Area Networkの略称で、ISOにて国際的に標準化されたシリアル通信プロトコルです。1986年ドイツの伝送メーカBOSCH社で自動車向けの通信プロトコルとしてCANを開発しました。今日では、CANの高い性能と信頼性が認められ、用途は多方面にわたっています。

今回は、CAN通信による送信と受信に着目して、ファームウェアを作成します。実際は、エラー状態などの遷移など構築する必要があるのですが、今回はとうりあえず送信と受信のみの機能となります。

それでは、CAN通信のファームウェアを作成したいと思います。今回作成するファームウェアは下記のような仕様にしたいと思います。

  • ファームウェアはデータを受信すると、受信したデータによって、「Renesas Starter Kit+ for RX66T」のLEDを点灯したり、消灯したりします。
  • ファームウェアは「Renesas Starter Kit+ for RX66T」のスイッチを
    押すと、データを送信します。

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

RX(3)-RS232通信

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

RL78G13(6)-CS+スマートエディット機能

RL78シリーズのマイコンに書き込むファームウェアを開発する際、私は、CS+を使用しています。RXシリーズのマイコンに書き込むファームウェアを開発する際は、e2studioを使用していました。e2studioを使用している時は、コーディングの入力支援機能(Visual Studioでいうとインテリセンス)が働くのですが、CS+では働かないなと思いながら開発を行っていました。

e2studioで開発をした後、CS+で開発すると、やはりこの入力支援機能があると便利だなと痛感するので、CS+でも入力支援機能がないか調べてみました。

調べた結果、CS+にはスマートエディットという機能があることがわかりました。スマートエディット機能はデフォルトでは、ONになっています。

[ツール]→[オプション]を選択して、オプション画面を表示します。スマートエディット機能がONになっています。

C#言語(12)-Windows10にMicrosoft .NET Framework 3.5をインストール

C#というより、今回は、Microsoft .NET Framework 3.5についてです。以前もWindows10にMicrosoft .NET Framework 3.5をインストールしようとしましたが、インストールできないという現象が発生しました。インターネットの情報などを参考に何とかその時はインストールできました。PCを変更したことにより、今回またMicrosoft .NET Framework 3.5が必要となったため、インストールを試みることにしました。

今回、Microchip製のCAN BUS Analyzerを実行しようとしたところ、Microsoft .NET Framework 3.5をインストールするように促されたため、インストールを開始しましたが、インストールに失敗しました。下記のような画面が表示されます。

エラーコードをキーにしてインターネット上で調べると、グループポリシーを変更して、再度試すような記事が多く出ていたので試してみました。早速グループポリシーの編集を行います。[ローカル コンピューター ポリシー]→[コンピューターの構成]→[管理用テンプレート]→[システム]の中の「オプション コンポーネントのインストールおよびコンポーネントの修復のための設定を変更する」を開きます。

「有効」にチェックを入れて、「Windows Server Update Service(WSUS)の代わりに、WIndows Update から修復コンテンツとオプションの機能を直接ダウンロードする」にもチェックを入れます。チェックを入れたらOKボタンを押して適用します。

C#言語(11)-OANDA APIを使ってドル円チャート作成

前回、OANDA APIをC#からWebリクエストして、ドル円の価格情報をタスクトレイのアイコン上に表示するアプリケーションを作成しました。内容は下記のリンクより参照できます。

C#言語(10)-OANDA APIを使ってドル円情報取得

ドル円の価格情報が取得できると、チャートも見てみたいなと思ってきます。今回は前回の作成したドル円の価格情報を取得する機能にチャートを表示する機能を追加したいと思います。

チャートの作成は、下記リンクのページで一度作成してみました。この時は、フォームの編集画面で、チャートの設定を概ね行いましたが、チャートの設定はコードで記載していきます

C#言語(9)-グラフの表示

機能としては、「ContextMenuStrip」に「元のサイズ」、「最小化」を追加します。「元のサイズ」を選択すると、5分足のチャートを10本を画面の右下の端に表示します。「最小化」を選択すると、5分足のチャートを10本を非表示します。

それでは、アプリケーションを作成していきます。以前、作成したドル円の価格情報を表示するアプリケーションを開きます。

2020年6月17日 | カテゴリー : C# | タグ : , , | 投稿者 : prog

C#言語(10)-OANDA APIを使ってドル円情報取得

OANDA APIのWebリクエストをPythonを使用して行いました。この時は、ドル円情報、ドル円オーダーの情報を取得しました。下記のリンク先で内容を公開しています。。

Python(9)-OANDA APIをWebリクエスト

今回は、C#でOANDA APIを使ってWebリクエストをしてみたいと思います。Pythonはとても使いやすくて便利ですが、Windowsと連携させるのは、やはりC#(Microsoft)のほうが使いやすいです。なぜWindwosと連携させたいかというと、企業のPCはWindowsを使っているところが多いと思います。就業中に堂々とドル円の価格を検索するのも難しいですが、ちょっと気になるときにちょこっとの操作でドル円の価格を確認したい方もいるかもしれません。ということで、ちょこっとの操作でドル円を確認できるアプリケーションを作ってみたいと思いました。

今回、作成するアプリケーションは下記のようなタスクトレイ常駐機能です。

2020年6月10日 | カテゴリー : C# | タグ : , , | 投稿者 : prog

Python(10)-OANDA APIを使った成行注文

前回、OANDA APIを使ってWebリクエストを行い、ドル円の情報、ドル円のオーダー情報の取得を行いました。前回の内容は下記のリンクになります。

Python(9)-OANDA APIをWebリクエスト

今回は、ドル円の成行注文を行うアプリケーションを作成してみようと思います。前回のドル円情報の取得、ドル円のオーダー情報の取得はGETリクエストを使用していましたが、成行注文の場合はPOSTリクエストで行います。前回のドル円情報の取得のアプリケーションと今回の成行注文のアプリケーションを組み合わせると、シンプルな自動売買アプリケーションができそうですね。

今回は、ドルを5000ドル成行注文で買うアプリケーションを作成しようと思います。では、プログラミンを行っていきます。

Python(9)-OANDA APIをWebリクエスト

前々回は、サードパティが提供しているOANDA APIのライブラリを、前回はOANDAから提供されているOANDA APIライブラリを使用して、ドル円の情報を取得しました。前回、前々回の内容は下記のリンクになります。

Python(7)-OANDA APIを使ってみる

Python(8)-OANDA APIのサンプル コードを動作させてみる

これらのライブラリですが、ライブラリのソースコードを見てみると、WebAPIをリクエストしています。OANDA APIはOANDAから提供されているWebAPIです。HTTPSでリクエストして、JSONデータとして、為替取引情報などを取得しています。下記のOANDA APIの紹介ページにも記載されています。

http://developer.oanda.com/rest-live-v20/introduction/

ということで、実際にPythonを使用して、Webリクエストして情報を取得してみようと思います。現在のドル円の価格情報の取得、オーダーブック情報の取得をしようと思います。OANDAでは、オーダー情報の取得もできます。今のどの価格で買いや売りがはいっているのか情報を取得できます。株式の板みたいですね。それではプログラミングしていきたいと思います。