こんにちは。NoMaYです。ウェブで調べ物をしていたら、ルネサスさんからRXマイコンの低価格ボードが出たことを知りました。でも、サンプルプログラムがe2 studioプロジェクト版しか無いようなのでCS+プロジェクトに変換して後で投稿してみようと思います。(もっとも、ボードが無くて動作確認は出来ないので、MOTファイルが同一になるようにしてみるところまでですが、、、) 30米ドル程らしいので3千円ちょっとぐらいかな。拡充を続ける32ビットマイコン「RXファミリ」を容易に導入できるターゲットボードを発売~家電製品、ビル用および産業用オートメーション機器向けなどに、「RX65N」「RX130」「RX231」用を用意。組み込み開発のスタートを支援~www.renesas.com/ja-jp/.../news20180219.htmlTarget Board for RX family 製品ページwww.renesas.com/ja-jp/.../rx-family-target-board.html
こんにちは。NoMaYです。以前(3ヶ月程前)に投稿した、TBボードのサンプルプログラムを基にxxx_main.cをxxx_main.cppにしてスマートコンフィグレータが生成した関数を呼び出せるようにしたプロジェクトですが、それらでBSPモジュールのヘッダファイルの事情でマクロ定義で無理矢理なこと(そもそもC++ソースでありながら__STDC__を定義すること(且つ値を199901Lとすること))をやっていたのが裏目に出てしまい、GNURXの場合にstdio.h等をインクルードするとstdio.h等の中の__strict(C99予約語)がC++ソースでコンパイルエラーを誘発することに気付きました。(下の画面コピーを参照して下さい。) そこで修正版を作成しました。また、その際に、以下のことも実施してみました。・GNURXの場合はrx-elf-size.exeを実行してtext/data/bssのセクションサイズを表示させる・e2 studio(GNURX/CC-RX)の場合はツールチェイン未設定だったらFAQのURLを表示させる・別スレッドでのRXスマートコンフィグレータ生成コード不具合に対処する(RX65NだけでなくRX231/RX130でも)・GNURXの場合もワーニングレベルを上げる(以前の投稿で意図的にワーニング無しにしたのは失策でした)・GNURXの場合に出るワーニングで厄介なこと無く対処出来るものはワーニング解消コードを記述する・別スレッドでGNURXでsprintf/snprintfのフォーマット文字列ワーニングがint32_t/uint32_tで出たので細工する・別スレッドでGNURXでsprintf/snprintfを使うとスタックサイズがギリギリなことに気付いたので増やす・xxx_main.cpp版だけでなくxxx_main.c版も追加する・CS+プロジェクトにはe2 studio用.project/.cproject等も同梱する・GNURXプロジェクトでもCS+プロジェクトと同様にDefaultBuildフォルダを使う・RXスマートコンフィグレータをv2.1.0に変える・e2 studio/GNURXをv7.40/2019q2(4.8.4.201902)に変える(CS+/CC-RXはV8.01/V2.03のまま同じ)以下、プロジェクトのファイル一式です。(zipファイル(CS+用はe2 studio用.project/.cproject等を同梱)はe2 studioに直接インポート可能です。) [追記] RX130版に別スレッド「RX130のFITのBSPで必ずサブクロック発振安定時間待ち(always wait sub-clock oscillation stabilization time ≒ 1.3sec)しているのは妥当なのかな?」の修正内容を反映させました。tb_rx65n_scfg_ccrx_c_csplus_20190506.ziptb_rx65n_scfg_ccrx_cpp_csplus_20190506.ziptb_rx65n_scfg_gnurx_c_e2v740_20190507.ziptb_rx65n_scfg_gnurx_cpp_e2v740_20190507.ziptb_rx231_scfg_ccrx_c_csplus_20190508.ziptb_rx231_scfg_ccrx_cpp_csplus_20190508.ziptb_rx231_scfg_gnurx_c_e2v740_20190507.ziptb_rx231_scfg_gnurx_cpp_e2v740_20190507.ziptb_rx130_scfg_ccrx_c_csplus_20190508.ziptb_rx130_scfg_ccrx_cpp_csplus_20190508.ziptb_rx130_scfg_gnurx_c_e2v740_20190507.ziptb_rx130_scfg_gnurx_cpp_e2v740_20190507.ziptb_rx130_scfg_ccrx_c_csplus_20190518.ziptb_rx130_scfg_ccrx_cpp_csplus_20190518.ziptb_rx130_scfg_gnurx_c_e2v740_20190518.ziptb_rx130_scfg_gnurx_cpp_e2v740_20190518.zip[追記] 2019/10/11 13:00ご免なさい。実は当方特有の事情でオンボードエミュレータが使えなくて、プロジェクトのデバッグツールの選択が、CS+のデフォルトのシミュレータになっている、ことに気が回っていませんでした。CS+のプロジェクトのデバッグツールの選択をE2Liteに切り替えて下さい。その後、デバッグツールのプロパティの「接続用設定」タブのクロックの設定をそれぞれ以下に設定して下さい。すみません。(あと、e2 studioの場合は.launchファイルが必要ですね。これも付けるようにしないと、ですね。)TB-RX65N 120MHzTB-RX231 54MHzTB-RX130 32MHz関連スレッドRX231ターゲットボードを動かすにはjapan.renesasrulz.com/cafe_rene/f/forum5/5997/rx231[ここまで追記]以下、画面コピーです。GNURXの場合にstdio.h等をインクルードするとstdio.h等の中の__strict(C99予約語)がC++ソースでコンパイルエラーにGNURXの場合はrx-elf-size.exeを実行してtext/data/bssのセクションサイズを表示e2 studio(GNURX/CC-RX)の場合はツールチェイン未設定ならFAQのURLを表示(コードページが932以外ならen-supportを)https://ja-support.renesas.com/knowledgeBase/18367361https://ja-support.renesas.com/knowledgeBase/17797630CS+の画面コピー:xxx_main.cpp (CC-RX) の場合CS+の画面コピー:xxx_main.c (CC-RX) の場合e2 studioの画面コピー:xxx_main.cpp+GNURX の場合e2 studioの画面コピー:xxx_main.c+GNURX の場合e2 studioの画面コピー:xxx_main.cpp+CC-RX の場合e2 studioの画面コピー:xxx_main.c+CC-RX の場合