RA4M1 ClickerボードのJ-Link OB接続

RA4M1 ClickerボードにMicroPythonのファームウェアを書き込もうとしていますがうまくいっていません。

SEGGER J-LinkソフトウェアをPCにインストールし、ボードのUSB-CポートとPCとをUSBケーブルで接続しましたが、PCからUSBデバイスとして認識されません。

ボード上のLEDは短い間隔で点滅(1秒間に2〜3回点灯)しています。USBケーブルを取り替えてみたり接続先のPCを替えてみたりしましたが、現象は変わりませんでした。

私はJ-Linkの経験が無いため、そもそも的外れなことをしているかもしれず、この場にて質問させていただきました。

何かトラブルシュートする手段があるでしょうか。

Parents
  • PCと接続した状態は、記載していただいた状態であっていると思います。

    次に以下のようにJ-Flash Liteを起動してDevice「R7FA4M1AB」を指定してOKを押す。

    以下のようにFirmware updateについて聞かれたら、"Yes"を押す。

    Device File欄にMicroPython - Python for microcontrollersからダウンロードした.hexファイルを指定して、Program Deviceを押すと書きめると思います。

  • 返信ありがとうございます。

    PCとの接続が間違って無さそうだと言うことで安心しました。

    J-Flash Liteを起動してR7FA4M1ABを指定してOKを押すところまでは良いのですが、まずFirmware updateについて聞かれませんでした。

    その次にMicroPythonのファームウェアを選んでProgram Deviceを押すと次の画面が出ます。

    RA4M1 ClickerをUSBデバイスとして認識していない(?)ようです。

    そのままYesを押すと、次のようになります。

    スクショはmacOS上で作業したときのものですが、Windows10でやってみても変わりませんでした。デバイスマネージャ上でもUSBデバイスとしてSEGGER J-Linkが現れていません。

    ということで、次にどの辺を調べたら原因究明ができるのかで悩んでいます。

  • 下記はWindowsの場合ですが、デバイスマネジャーを見て頂くと、J-Link OBがホストマシンに接続されるとUSBデバイスが認識され、”J-Link driver”と表示されます。まずはこれを確認されたら良いと思います。

    これがNGですと、念のため、他のUSBケーブルで接続を試されてみてはいかがでしょうか。ときどきケーブルで不通となるケースあります。

    一度、ボード製造元のMikroe社のヘルプデスクに問い合わせされても良いと思います。MikroElektronika

  • デバイスマネージャにはJ-Link driverが現れていないです。

    別のUSB-Cデバイスとは接続できることを確認済みのUSB-Cケーブルを使っても変わらず。また同じClickerボードをもう一枚持っているのですが、こちらも同様にUSBデバイスとして認識されないので、ボードの故障でもないような気もします。

    PC上で発生するUSBのイベントを監視するソフトを使ってみたところ、そもそもボードを抜き差ししてもUSBのイベントが発生していないようです。J-Link OBのファームウェアがデッドロックしている?

    私が何か基本的な勘違いをしているかもしれないと思いつつ、Microe社に問い合わせも考えようと思います。

  • けむしろうさん
    すでに試されているかもしれませんが、USBハブを介して接続している場合、ボードを直接PCに接続してみてください。私の経験則から、USBハブを介した場合に認識しないことがあります。

    またSEGGER社の正規代理店であるEmbiTek社の以下のガイドも確認いただき、それでもNGならMikroe社に問い合わせされた方が良いと思います。

    ・「質問:Error: J-LinkのUSBポートをパソコンに接続していますが認識されません」
      URL: www.embitek.co.jp/.../

Reply
  • けむしろうさん
    すでに試されているかもしれませんが、USBハブを介して接続している場合、ボードを直接PCに接続してみてください。私の経験則から、USBハブを介した場合に認識しないことがあります。

    またSEGGER社の正規代理店であるEmbiTek社の以下のガイドも確認いただき、それでもNGならMikroe社に問い合わせされた方が良いと思います。

    ・「質問:Error: J-LinkのUSBポートをパソコンに接続していますが認識されません」
      URL: www.embitek.co.jp/.../

Children
  • 情報提供ありがとうございます。

    USBハブは有りと無しで試してみましたがやはりだめでした。

    EmbiTek社のガイドについては、

    1. J-Link Driverの再インストール → 過去バージョンも含め試してみたがNG
    2. 外部電源付きのUSBハブ→これから試してみます。
    3. USBケーブルを替える→何本か試したがNG
    4. 別のUSBポート→マザーボード上の複数ポートにつないだがNG
    5. J-Link PROまたはJ-Trace ProのLANポート使用→所有していないので未検証
    6. 別のパソコン→Windows系3台、Mac系2台で試したがNG

    という感じです。
    外部電源付きのUSBハブを試すのと同時にMikroe社への問い合わせもしてみようと思います。
    結果はまた共有いたします。

  • 現状報告。

    Mikroeのサポートの方とは何通もやりとりして親切に回答をくださるのですが、解決に至っていません。

    試したことは以下です。

    • Mikroe社でテスト済みのJ-Linkバージョン(6.86a)でどうか→NG
    • 仮想COMポートドライバ(VCP)を更新してみて→NG
    • RA4M1 Clickerボードを抜き差ししてデバイスマネージャで変化は無いか?→変化無し

    ということで先方は新年の休暇に入ってしまいました(1/3まで)。

    やや気になるのはこんなコメントがあったことです。

    We often have issues with USB ports,
    they power on the board, but the data lines are not functioning.

    この辺を深掘りしたいのですが、時間がかかりそうです。

    とりあえず動くボードが欲しい。。。

  • けむしろうさん

    状況共有ありがとうございます。Mikroe社の製品に関して、このコミュニティサイトで議論すべきではありませんが、共有されたコメントからMikroe社の方でも既知の問題かもしれませんね。回路図を見ていていて少し気になった点として、RA4M1 ClickerボードのJ-Link OBに使用されているSynergy S124 MCUは、USBのデータラインに外部抵抗(R10, R14)を付ける必要はないのですが、このボードにはついています。信号品質に影響する場合、接続相手や方法によってNGとなるかもしれません。Mikroe社で評価しているはずですが。。。
    複数台あるなら、最悪この2つの抵抗を取っ払って直繋ぎしてみることもできると思いますが、改造によって止めを刺してしまうかもしれません。参考までに。。。

    年始休暇明けたら、継続してMicroe社に確認をとっていただければと思います。

    それまでの間、Onboard J-Linkを使用しないとして、もし動作するJ-Linkハードウェアをお持ちであれば、ボードのJ2コネクタに接続できるので、それから書き込み・デバッグできます。

    また今回の場合、MicroPythonのビルド済みファームウェアを書き込み・動作確認することが目的と感じました。RA MCUには、デバッグI/F経由以外のフラッシュ書き込み方法としてシリアルプログラミングモード(RA4M1 MCUユーザーズマニュアル ハードウェア編の44.11章を参照)を提供しているので、この方法でファームウェアを書き込むことができます。デバッグはできません。ホスト側の操作ツールには、Renesas Flash Programmer (RFP, URL: https://www.renesas.com/jp/ja/software-tool/renesas-flash-programmer-programming-gui )を使用できます。

    RA4M1 Clickerは、このシリアルプログラミングを想定して設計されていない(モード変更のMD端子がHigh固定)ようですが、どうにか頑張れば不可ではないと思います。実際には、3.3V USBシリアル変換ケーブルをRA4M1のP109(TX)(ボードのJ2-6), P110(RX)(ボードにJ2-8), GNDに接続しておき、RA4M1のMD端子をLowに落とした状態で、Resetボタンを押します。これでシリアルプログラミングモードに入ります。MD端子はLowに落としっぱなしで良いと思います。その後、RFPを立ち上げ、通信 > ツールに"COM"を選択します。接続成功したら、Operation > Program FileでMicro PythonのHexファイルを選択し、Startボタンを押します。書き込み開始前にMCUのリセットが必要な場合がありますので、失敗と表示されたらボードのResetボタンを押し再度書き込んでみてください。正常に書き込めたら、MD端子をLowに落とすのをやめ(MD=High)、MCUをリセットすることで書き込んだファームウェアが走ります。
    試してみてください。なお私はこのボードを持っていないので、実機で試せていません。ご了承ください。
    RFP操作の参考ビデオ:https://youtu.be/FKgVMVwej9I

  • omuraisu49さん、コメントありがとうございます。
    そうですね、Microe社設計のボードについてこの場で議論すべきではないというのは私も同意です。ただしもしかすると事例として他の人の役に立つかもしれないので、もう少し続けたいと思います。

    USBのデータラインの抵抗については試してみます(実は別経路でもう1枚入手する予定です)。抵抗を剥がして半田でブリッジさせればいけそうかな?

    ただ今回のボードの入手元であるマイクロテクニカ社に問い合わせたところ、出荷前に全品動作チェックをしており、プログラムの書き込みは成功しているということでした。そうすると私の環境依存という線が濃厚です。
    ただし、マイクロテクニカさんで今一度チェックしたいということで2枚とも返送している状況です。

    ということで抵抗剥がしはClickerボードが戻ってきてから試してみようと思います。最後の手段としてシリアルプログラミングも含め。

    なお私はJ-Linkの専用ハードウェアは持っていませんが、ClickerボードのJTAG/SWDポートからOpenOCDを使って書き込めるならそれも試してみたいところです(あまり分かっていないので的外れなことを言っているかもしれません)。

    ただ、今回の当初の目的はRAマイコンにMicroPythonを導入する手順を商用雑誌の中で紹介することなので、難易度の高い手順は厳しいかなと思っています。

    技術者の自分としては、ここまできたら引き下がれないので、それはそれで突き詰めておきたいです。

  • けむしろうさん
    はい、RA MCU開発のトラブルシューティングやワークアラウンドに焦点を当てて議論できればと思います。

    >USBのデータラインの抵抗については試してみます(実は別経路でもう1枚入手する予定です)。
    >抵抗を剥がして半田でブリッジさせればいけそうかな?
    Web上のボード写真しか見ていませんが、半田ブリッジで大丈夫と思います。パット間に距離があるようでしたら、0Ω抵抗を使うと良いと思います。

    >なお私はJ-Linkの専用ハードウェアは持っていませんが、ClickerボードのJTAG/SWDポートから
    >OpenOCDを使って書き込めるならそれも試してみたいところです(あまり分かっていないので
    >的外れなことを言っているかもしれません)。
    e2studio IDEとOpenOCDを組み合わせてRA MCUの基本デバッグはできると思いますが、フラッシュ書き込みを行うためには、RA MCUのフラッシュ仕様に合わせて設計されたフラッシュ書き込みプログラム(ローダー)が必要です。現状インターネット上に参考情報がないので、自作することになるかと思います。

    >ただ、今回の当初の目的はRAマイコンにMicroPythonを導入する手順を商用雑誌の中で紹介する
    >ことなので、難易度の高い手順は厳しいかなと思っています。
    そういうことでしたか。でしたらRA4M1 Clicker推奨のJ-Link OB一択ですね。他の方法はトラブルシューティングとして載せることはありと思いますが、MicroPython導入から趣旨がズレてしまいますね。早いことJ-Link OBが正常動作すると良いですね。。。