3 Replies Latest reply on Mar 27, 2019 12:38 AM by HirotakaT_91

    デバッグ中の停止

    user_3987996

      サンプルコードのAN75779を使用して、J-LINKでつないでデバッグを行っています。

       

      1887行目のapiRetStatus = CyU3PDeviceInit (0);

      の関数のところで止まってしまいます。

      Name : CyU3PDeviceInit

      Details:{<text variable, no debug info>} 0x4000ad70 <CyU3PDeviceInit>

      Default:{<text variable, no debug info>} 0x4000ad70 <CyU3PDeviceInit>

      Decimal:<error reading variable>

      Hex:<error reading variable>

      Binary:<error reading variable>

      Octal:<error reading variable>

      の内容が出ています。

       

      原因は何が考えられるでしょうか?

        • 1. Re: デバッグ中の停止
          HirotakaT_91

          FX3の初期化を行うAPIですので、初期化が正常に出来ていないことを意味します。

           

          これだけでは問題を絞り込むのはまだ難しいですが、自作基板の場合、ハードウェアに何か問題があるか、またはファームウェアが正常に書き込まれていないかもしれません。

           

          ハードウェアについては、AN70707 ハードウェアデザインガイドライン をご参照いただき、実装された基板が要求を満たしているかご確認ください。

          ファームウェアの書き込みについては、他社のライターをご利用の場合はそのライターメーカーにお問い合わせください。Cypress Control Centerをご利用の場合は、弊社のドキュメントをご参照ください。C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware\GettingStartedWithFX3SDK.pdf の "Working With the FX3 SDK” が参考になると思われます。

           

          よろしくお願い致します。

          Hirotaka Takayama

          • 2. Re: デバッグ中の停止
            user_3987996

            サンプルコードのAN75779を使用して、J-LINKでつないでデバッグ中に

            1887行目のapiRetStatus = CyU3PDeviceInit (0);

            の関数のところで止まってしまうのは、EZ  USB SuiteのDebug Configurationsの設定で

            StartupのタブでRuntime optionでSet breakpoint  setの項目にチェックが入っているのが原因のようでした。

             

            止まったところからStep実行をすると、正しい値が返ってきているようで、関数後のif分ではとまらず、

            CyU3PKernelEntry ();の実行御

            JTAGに関するエラーが出ます。

             

            現在ターゲットボードが手元にないので、エラーの内容は記載できません。

             

            CYPRESSでEZ USB Suiteを使用するのが初めて、他のICのIDE環境と若干使い勝手が違うので

            戸惑っています。

             

            サンプルコードのAN75779が上手く動作すれば、PCLK(GPIO16)からクロックが出力されると考えているのですが、

            間違っていますでしょうか?

             

             

            • 3. Re: デバッグ中の停止
              HirotakaT_91

              エラー内容を確認できないとまだなんとも言えないのですが、こちらでも予想できる原因を調査致します。

               

               

              FYI: AN75779はAptina Image sensor board MT9M114を接続した時の構成で動作するプロジェクトであるため、別のイメージセンサーを利用するのであれば、それに応じたFirmwareの編集が必要になります。

              例えばAN75779のsensor.cでは初期化プロセスがありますが、これはAptina Image sensor boardのためのものです。

               

              MT9M114がFX3に正しく接続された構成で、AN75779の実行ファイルをFX3に書き込んだ場合、Application Processor (AN75779の場合はAptina Image sensor board) からCLKを受け取ります。GPIO16にはMT9M114から出力されたクロック信号、GPIO 28にはMT9M114から出力されたLV信号、GPIO 29にはMT9M114から出力されたFV信号がFX3に入力されます。

              AN75779におけるApplication ProcessorとFX3の入出力の関係はAN75779のGPIF IIプロジェクトにおけるInterface Definitionが参考になります。

              (MT9M114の詳細については、ON Semiconductorの該当データシートをご参照ください。)

              よろしくお願い致します。

              Hirotaka Takayama