いつもお世話になっております。初心者です。よろしくお願いします。
今、e2studio で emWin FIT を導入して LCD を操作するプロジェクトを作成しているのですが、問題が二つあって困っています。
(1) ビルドすると 「r_sci_rx_pinset.h」を開けないエラーが発生します。ワークスペースに存在しないようです。例えば「r_emwin_rx_if.h」や「r_gpio_rx_if.h」は存在します。当初エラーが出ていた「r_sci_rx_if.h」もコンポーネントの追加から「SCI Driver」を追加することで解決しました。しかし、「r_sci_rx_pinset.h」はどのコンポーネントを追加すればよいか分かりませんでした。どのコンポーネントを追加すれば解決するのでしょうか?あるいは何か別の手段が必要でしょうか?とある生成AI に聞いたら、代わりに「r_sci_rx_config.h」を使うことを勧められましたが別のエラーが出てうまくいきません(そうすることが正しいのかも分からず・・・)。
(2)プロジェクトの新規作成ができなくなりました。新しく作り直そうと思って新しいフォルダを作成し、作成したフォルダをワークスペースとして e2studio を起動し、新しいプロジェクトを追加しようとしましたが「終了」ボタンを押しても何も反応がなく、いつまでたっても新しいプロジェクトが生成されませんでした。ボタンは有効になっています(グレーアウトしていません)。e2studio の更新情報があったので更新→終了→再度起動でもダメでした。ファイル>新規>C/C++プロジェクト>GCC for RX C/C++ Executable Project>プロジェクト名:dmy、デフォルト・ロケーションを使用(半角英数と_のみのパス)>言語:C、ツールチェーン:GCC for Renesas RX Ver.8.3.0.202305、RTOS:None Target Board:Custom、ターゲットデバイス:R5F566TKCxFB>Use Smart Configurator>ライブラリソース:Newlib、ライブラリタイプ:Pre-Buildで [終了] です。どこかで何かやらかしているのでしょうか。
基本的な質問で申し訳ありません。泥沼にはまっています。どこかですでにどなたかが質問されているかもしれません。ですが、ちょっと探しましたが解決策が見つかりませんでした・・・。
お手数ですが、どなたかご教授ください。よろしくお願いいたします。
(1)r_sci_rx** がない件スマートコンフィグレータでSCI Driver(r_sci_rx)を追加してコード生成した時点ではr_sci_rx_pinset.hはできておらず、r_pinset.hでr_sci_rx_pinset.hは参照されていません。スマートコンフィグレータでピン設定を何かしら変更するとr_sci_rx_pinset.hができて来ます。ひとまずマニュアルを当たってみてください。https://www.renesas.com/jp/ja/software-tool/rx-smart-configuratorデバイスによって対応しないモジュールもあるので、この関係の質問をする時はどのデバイスが対象かも記述してください。
(2) プロジェクトの新規作成ができない件> e2studio の更新情報があったので更新→終了→再度起動でもダメでした。最新のe² studio(2024-01.1)でないバージョンでこれをやると中途半端に更新されてしまう可能性があります。ヘッダがないとかプロジェクトが作れない問題には関係ないかもしれませんが。
> 新しいプロジェクトを追加しようとしましたが>「終了」ボタンを押しても何も反応がなく、> いつまでたっても新しいプロジェクトが生成されませんでした。ひょっとしたら見えない画面がポップアップしているのかもしれません。タスクバーに何か隠れていないか、Alt+Tabでそれっぽい表示がないか確認してみてください。
ワークスペースのログ(<ワークスペース>/.metadata/.Log)に何かエラー出ていないでしょうか?(動作に全然影響ないメッセージも出るので読むのはちょっと難しいかもしれませんが)
後はサポートフォルダ(e² studio support areaのフォルダ)を消してみるとか、FAQ - e² studioのDebugComp, Internal, Utilitiesフォルダの場所https://ja-support.renesas.com/knowledgeBase/19851044
一般的なeclipse環境に伝わるおまじない(-clean)を試すとか、FAQ - e² studioが起動しない、起動しても勝手に終わってしまう (ケース b.を参照)https://ja-support.renesas.com/knowledgeBase/17797618
> 新しく作り直そうと思って新しいフォルダを作成し、> 作成したフォルダをワークスペースとして e2studio を起動し、ワークスーペースやe² studioのインストール先を問題が起こりそうもないフォルダパス(英数字のみスペースなしの短いフォルダ名)でもう一度やってみる、とか?ユーザ名に記号や全角文字が混じっている場合は上記のサポートフォルダも変更する必要があります。
ほや様
いつもありがとうございます。
(2) につきましては再インストールで解決しました。Shoji Yamamoto 様に対するReplyが未送信のままで大変失礼しました。また同様の事態に陥りましたら最終手段(再インストール)の前にご教示いただいた色々を試してみたいと思います。
(1) につきましてはまだ解決しておりません。デバイスは(2) と同様「R5F566TKCxFB」です。コンポーネントの追加で r_emwin_ex, r_sci_rx, SPIクロック同期式モード(3線式) を追加しました。スマートコンフィグレータの端子タブ>端子機能でSCK11、SMISO11, SMOSI11, SS11# を割り当てました。※ SPI のコンポーネントを追加するまでは 「この端子を初期化するコンポーネントがありません」 の表示が出ていましたが、それも消えました。これ以外に IOポートを2つ設定していますが、そちらはまだ「この端子を初期化するコンポーネントがありません」と言われています。この辺が原因でしょうか。この状態でコード生成を行っても「r_sci_rx_pinset.h」は生成されておらず、件のエラーが出てしまいます。マニュアルによると「¥src¥smc_gen¥r_pincfg フォルダに生成されます」とありますが生成されません。(マニュアルありがとうございます)
なにか見落としておりますでしょうか。よろしくお願いいたします。
>そちらはまだ「この端子を初期化するコンポーネントがありません」と言われています。> この辺が原因でしょうか。この状態でコード生成を行っても「r_sci_rx_pinset.h」は生成されておらず、エラーでその先に進んでいないということでしょうね。勝手にピンを割り当てられてしまうよりマシだと思ってピン割り当てを考えてみてください。
結論から申しますと、まだ解決していません。
が、少しは進展しました。
(1)IOピンの割り当てはできました。方法が分からなくて試行錯誤しておりましたが、コンポーネントの追加>ポートでできました。
ただ、これでコード生成してもsrc>smc_gen>Config_PORT にConfig_PORT_user.c, Config_PORT.c, Config_PORT.h が追加されるだけで r_sci_rx_pinset.h は追加されません。
(2)コンポーネントのツリーで r_sci_rx を選択して表示される設定の下の方にリソース>SCI>SCI1>SCK1端子、RXD1/SMISO1/SSCL1端子 …というチェックボックス付きの項目を見つけました。ここにチェックを入れてコード生成するとsrc>smc_gen>r_pincfg にr_pinset.h, r_sci_rx_pinset.c, r_sci_rx_pinset.h が追加されました。
ただ、SCI11 はグレーアウトしていて選択できません。端子タブで先に設定してしまったのが悪かったのかと思い、そちらを外し、「SPIクロック同期式モード(3線式)」のコンポーネントも削除してやってみましたがダメでした。一旦保存し直しても選択できませんでした。
ピンアサインのやり直しは不可だったでしょうか・・・。
※ 下記の資料にはポートの選択について書かれていました。Renesas e² studio スマート・コンフィグレータ アプリケーションサンプル:CMT, A/D, SCI, DMA, USB編 Rev.1.20
Erika様
私のPCでもr_emwin_rxを生成してタッチパネル付きでコード生成しましたが、中身がないですがビルドはエラーなく通ります。なおr_emwin_rxのバツ印はその状態でも消えませんでした。やったこと1) r_emwin_rxを追加
2) LCD interfaceをLCD_IF_RSPIにする(通信にr_rspi_rxが追加される)
3) LCD Driver ICにST7715を選択
4) LCD interface Pin Settingのピンを適当に使ってないものに変更(合わせて端子タブで該当ピンを割り当てる)5) Use Touch Functionを有効化してTOUCH_SCI_IICをえらぶ(通信にr_sci_iic_rxが追加される)
6) r_rspi_rxのRSPI0を使用状態にして該当ピンを使用するにする(合わせて端子タブで該当ピンをマイコンの実際のピン番号に割り当てる)
7) r_sci_iic_rxのCH1を使うことにしてリソースSCI1の端子を使用するにする(合わせて端子タブで該当ピンをマイコンの実際のピン番号に割り当てる)一応これでエラーは出ないでビルドできるコードが生成できました。r_cmt_rxも生成されているので実際に使う場合はどれかのチャンネルをIncludeにして使うことになるんだと思います。
Shoji Yamamoto 様
返信ありがとうございます。
おかげさまでエラー無くビルドできるようになりました。具体的にやったことをまとめると以下のとおりです。
(1) スマートコンフィグレータ>「コンポーネント」タブ>Drivers>通信>r_sci_rx プロパティ内 Include software support for channel 11 を Not から Include に変更 ※ ここが Not だったのでチェック入れられなかったようです。
(2) プロパティ内 リソース>SCI>SCI11 にチェックを入れる
(3) コードの生成 ※ これで r_sci_rx_pinset.c, r_sci_rx_pinset.h が生成されました。 ※ コードの生成しないままビルドしてしまうことが間々ありました。
(4) LCDワークフローで手順に沿って設定する ※ GUI描画ツールの設定>情報設定→emWin の設定 でLCDインターフェースの チャンネル番号をデフォルト0 から 11 に変更するのを忘れていました。 そのとき、「SCI0 がない」のビルドエラーが出てさらに混乱しました。
(5) 設定のファイル出力(qe_emwin_config.h)
(6) GUI 作成、GUIデータのファイル出力(Export&Save)
(7) サンプルコードの実装(main() へ貼り付け)
実際に表示させてみるところまでは進んでいませんが、これで進めてみます。実際に試してみていただいて、詳しくご教授いただきとても助かりました。
ありがとうございました。
ほや 様
どうにかエラー無くビルドできるところまで来ました。初っ端とっかかりが無くて手も足も出ないと途方に暮れていましたが大きなヒントをいただき助かりました。ありがとうございました。
お世話になっております。
とあるサンプルプログラム(ライブラリ)を使うため、その要件である「r_rsci_rx」を追加したいのですが、Shoji Yamamoto 様のおっしゃるように
r_emwin_rxを追加 → LCD interfaceをLCD_IF_RSPIにする
…で「通信にr_rspi_rxが追加」がされません。
今回は CS+ を使っているのですが、CS+ では別の手順が必要になるのでしょうか。
問題のライブラリでは RXFIX モジュールを使用しているということで、コンポーネントの追加、コード生成が必要と言われています。
そこで、あの時教えていただいたやつだ!と思ったのですが、必要となる「r_rspi_rx」を追加することができずにいて困っています。※ 新たなスレッドを立てるべきか迷いましたが こちらで失礼しました。
CS+ では何か特殊な手順が必要でしょうか。お手数をおかけして恐縮ですがご教授いただけますと幸いです。
よろしくお願いします。
自己解決しました!
コンポーネントの追加>ソフトウェアコンポーネントの選択>最新版のFITドライバとミドルウェアをダウンロードする>FITモジュールのダウンロードで 「RX Driver Package のみを表示する」のチェックを外す>RXファミリ RSPIモジュール Firmware Integration Technology Rev.3.40 を選択>ダウンロード>RSPI Driver を選択>終了