FX3 SDK 1.3.3のライブラリを使用してコンパイルするとGPIFサンプルが機能しない - KBA223153 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161 Expert            Version: **

     

    Translation - English: GPIF Examples Not Working when Compiled with Libraries from FX3 SDK 1.3.3 - KBA223153

     

    質問:

    32ビット幅のGPIFインターフェイスを使用するGPIFサンプル(AN65974サンプルなど)は、FX3 SDK 1.3.3のライブラリを使用してコンパイルすると機能しません。同じ例でもFX3 SDK 1.3.1は機能します。これはなぜ起こるのでしょうか?

     

    回答:

    次の2つの理由が考えられます。

    1. ライブラリの他のパーツをサポートするために、SDK 1.3.3は、アクティブなFX3または派生パーツを識別し、使用されるIO構成とGPIF設定を検証するチェックを有効にしました。PMODEピンの組み合わせは、アクティブパーツの識別にも使用されます。
      FX3
      でのUSBブートのPMODEピンの組み合わせは、「F11」であると想定されています。代わりに「111」の組み合わせを使用する場合、ライブラリは誤ってデバイスをCYWB0263として識別します。CYWB026332ビット幅のGPIFインターフェイスをサポートしていないため、32ビット幅のGPIF構成を選択しようとすると、CY_U3P_ERROR_NOT_SUPPORTEDエラーが報告されます。
      修正は、FX3デバイスデータシートに記載されている有効なPMODEピンの組み合わせのみを使用することです。
    2. FX3 SDK 1.3.3では、CyU3PDeviceConfigureIOMatrix() APIに渡されるIOマトリックスパラメーターの追加チェックも有効になっています。構造体のフィールドのいずれかが初期化されていないままになっている場合、対応するメモリ位置のデフォルト値によりエラーのフラグが立てられる可能性があります。
      修正は、CyU3PIoMatrixConfig_tの構造体が確実にゼロ化され、CyU3PDeviceConfigureIOMatrix() APIを呼び出す前に、関連するフィールドのみが初期化されるようにすることです。