お世話になります。マイコン経験が乏しいものです。
e2studioのプロジェクトをCS+V8.13.00に移した際に、USBシリアルがうまくいかなくて困っています。
RX111マイコン向けのサンプルプログラム
「RX Family Sample Program using USB Peripheral Communication Device Class Driver (PCDC) for USB Mini Firmware to communicate via USB with USB Host Firmware Integration Technology Rev.1.30 - Sample Code」
はe2studio向けで、E2liteの使用で問題なくUSBシリアルのエコーバックができていることが確認できました。
このe2studioプロジェクトをエクスポートし、CS+にインポート後、ソースの変更やFITモジュールの変更なしでスマートコンフィグレーターを動作させることでビルドは問題なく、仮想COMポートの認識までうまくいきました。
しかし、TeraTermから送信してもエコーバックが返ってきません。
どこに問題があるかつかめずにいます。
どのあたりを調査すればよいのか見当がついておりません。どのあたりを確認すればよいかご教授いただければありがたいです。
そんなところで労力を使うよりe2studioで開発を続ければいいのではと思いますが、おそらくmain関数に入る前のスタートアップルーチンのところに差異があるように思います。あとはスマートコンフィギュレータの生成コードに追記してあったコードがツール移行後にコード生成して消えてしまったかもしれません。これについてはe2studioでもGNU-RXとCC-RXを行き来したりすると起こり得ることです。diffツール等でコードの差異を確認するのが確実ですが、非生産的ですので動くツールでやればいいと思います。
実際にやってみましたが、同じ現象(COM?では認識するが、エコーバックしない)が再現しました。
問題とは直接関係ありませんが、e2studioのプロジェクトをCS+に持ってきたときに、赤線の部分(e2studioでの自動生成コード部分)が、CS+上で見えている状態の場合は、smc_genを右クリックで、「プロジェクトから外す」の操作を行ってください。CS+とスマート・コンフィグレータ環境の場合は、同じコードがSmartConfigurator(黄色枠)以下に出力されますので、e2studioから持ってきた自動生成コードが重複した状態になります。
で、問題の解決方法ですが、
スマート・コンフィグレータで、上記のコンポーネントを最新版にしてみてください。
こちらで試したところ、古いバージョンが混在した状態だと動作NG。最新版をダウンロードして、
r_bsp 7.53r_dtc_rx 4.51r_lpc_rx 2.51r_sci_rx 5.41r_usb_basic_mini 1.31r_usb_pcdc_mini 1.31r_byteq 2.11
上記バージョンに更新して、コード生成後にビルドすると、エコーバックが確認できました。
Yamamoto様、tf様、ご返答ありがとうございます。
コンポーネントを最新版にしたところ、うまくいけました。
お客様都合で別モジュールはCS+で作っているとのことで、e2studioが使えずUSBの通信が受信できないのはまずい状態で巣たので助かりました。
大変ありがとうございました。