0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「RX QE for DisplayとemWinを使って、RX72N EnvisionKitでGUI開発」をGCC for Renesas RXで使ってみる

Posted at

GCC for Renesas RXを使う意味

まずSEGGER日本代理店のエンビテックにGUI開発のチュートリアルがあるのですが

このチュートリアルがRenesas CC-RX toolchainが使用されているため、試用期間の60日を
過ぎてしまうと作成コードサイズは128KBに制限され当然emWinが使えるようなサイズのコードを生成できなくなります
いろいろと情報を集めて試してみるとライセンスフリーで使えるGCC for Renesas RXでも使えるようなので、備忘録的に書き留めておきたいと思います

事前準備

Renesas RX72N EnvisionKItを開発ターゲットに使うのでこの評価ボードが必要です。Digi-Keyなどで販売されています
以下のWebリンクから「統合開発環境e²studio インストーラ」プログラムをダウンロードしてインストールします、なお Windows環境でないとAppWizardが使えません

プロジェクトの作成

メニューから新規->Renesas C/C++ Project->Renesas RX で Template for Renesas RXウィンドウを表示させます

画像1.jpg

GCC for Renesas RX C/C++ Executable Project を選択して次へを選択する

画像2.jpg

プロジェクト名を入力します。ここではエンビテックのチュートリアルに従ってQEDisp_RX72N_Envision_GCC としました。次へに進みます

画像3.jpg

Device Settings 項目の Target BoardEnvisionKitRX72N に設定してConfigurationsHardware Debug構成を生成E2 Lite(RX) に設定して次へ

画像4.jpg

Use Smart Configuratorにチェックされていることを確認して終了

画像5.jpg

ソフトウェアコンポーネント設定でr_bspプロパティのHeap sizeを0x4000に設定します
コンポーネントの追加+ボタンをクリックしてポートを追加します

画像6.jpg
終了をクリックしてP07を入力に設定

画像7.jpg

メニューからRenesas Views->Renesas QE->LCD/Cameraワークフロー(QE) を選択

画像8.jpg

プロジェクトの選択で先程作成したプロジェクトQEDisp_RX75N_Envision_GCCを選択

画像9.jpg

GUI描画ツールの選択emWinを使用するを選択
QEDisp_RX72N_Envision_GCC.scfg タブに戻りコンポーネントの追加画面から、r_glcdc_rx を追加します

画像10.jpg

追加したらコードの生成をクリック

画像11.jpg

LCD/Cameraワークフロー(QE) タブに戻ってLCDコントローラの導入を参照すると導入済みになっているはずです

画像12.jpg

チュートリアル動画からタイミング調整(LCD)タブがこのような値になっていればよいようです

画像13.jpg

画像14.jpg

LCDの表示調整項目からファイル出力をクリックしますr_lcd_timing.hr_image_config.hが出力されます
QEDisp_RX72N_Envision_GCCタブに戻りコンポーネントの追加からr_emwin_rxを追加します

画像15.jpg

追加するとすべての必要なコンポーネントが追加されます

画像16.jpg

次にr_sci_iic_rxコンポーネントのMCU supported channels for CH6Supportedに設定する
そしてコード生成をしたら再び LCD/Cameraワークフロー(QE) タブに戻ります

画像17.jpg

GUI描画ツールの導入導入済み になっているはずです
次にGUI描画ツールの設定に移り情報設定をデフォルトのままでファイル出力します
qe_emwin_config.h が出力されます

画像18.jpg

次にGUIの作成に移りGUI描画ツールのインストールでインストール確認し必要ならばインストールして
GUI描画ツール起動でAppWizardを起動します。

画像19.jpg

GUIの作成

なおAppWizardによるGUI作成は前述のチュートリアル動画を参照しながら作成してください(動画の14分付近)

画像20.jpg

AppWizardでGUIの作成ができたらExport & Saveで保存します
若干チュートリアル動画と実装されているビットマップライブラリが異なるため全く同じ画面は作れませんでしたが、だいたい同じものが作成できました
LCD/Cameraワークフロー(QE) に戻り最後の項目の実装からサンプルコードの表示をクリックします
サンプルコードをクリップボードにコピーして QEDisp_RX72N_Envision_GCC.cmain() 関数部分を書き換えます
次に プロパティ->C/C++ 一般->パスおよびシンボル->GNU C ページで
シンボル GUI_CONST_STORAGE に値 __attribute__ ((aligned(4))) const を設定します

画像21.jpg

GUI_CONST_STORAGE を定義すると

$workspace_loc:${ProjName}/src/smc_gen/r_emwin_rx/lib/GUI/AppWizard.h

ファイルの1891行目あたりの

void APPW__GetTextInit (GUI_CONST_STORAGE APPW_TEXT_INIT ** ppTextInit);

$workspace_loc:${ProjName}/aw/Source/Generated/Resource.c

の92行目あたりの

/*********************************************************************
*
*       APPW__GetTextInit
*/
void APPW__GetTextInit(GUI_CONST_STORAGE APPW_TEXT_INIT ** ppTextInit) {
  *ppTextInit = &_TextInit;
}

でエラーが出ます

void APPW__GetTextInit (const APPW_TEXT_INIT ** ppTextInit);

のように修正してください

ビルド

手順を正しく行うとビルドできます。電源供給用のUSBポートとデバッグ用USBポートをつないでターゲットボードにプログラムをアップロードしていきます
必ずSW1-2をOFFにして行います

IMG_0191.JPG

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?