2 Replies Latest reply on May 20, 2020 1:06 AM by MoTa_728816

    Community Translation - Custom communication interface support for PSoC 3 and PSoC 5 bootloaders - KBA203609

    MoTa_728816

      Hi,

       

      I'd like to translate KBA203609 into Japanese.

       

      Please confirm to my work.

       

      moto

       

      Original KBA: KBA203609

      Custom communication interface support for PSoC 3 and PSoC 5 bootloaders - KBA203609

        • 1. Re: Community Translation - Custom communication interface support for PSoC 3 and PSoC 5 bootloaders - KBA203609
          AikoO_51

          Hi moto-san,

           

          I confirmed the KBA.

          Please work to do.

           

          Thanks.

          AIko

          • 2. Re: Community Translation - Custom communication interface support for PSoC 3 and PSoC 5 bootloaders - KBA203609
            MoTa_728816

            Original KBA: KBA203609

            Custom communication interface support for PSoC 3 and PSoC 5 bootloaders - KBA203609

             

            Translated by: MoTa_728816

            ==============================

            タイトル:PSoC 3/ PSoC 5LP ブートローダのカスタムコミュニケーションインターフェース - KBA203609

             

            ヴァージョン: **

             

            質問:

            PSoC Creator 1.0 SP2 で PSoC 3/ PSoC 5LP ブートローダのカスタムコミュニケーションインターフェースを使用するのにはどうしたら良いですか?

             

            回答:

            ブートローダのカスタムコミュニケーションインターフェースを使用するのには、下記3ステップの手順に従ってください:

             

            1. ブートローダプロジェクトで、ブートローディングに使用されるコンポーネントを配置してください。次に下図のように、そのブートローダプロジェクトのデザインワイドリソース (DWR) 内の‘Systems’タブで、Bootloader >  IO Component に ‘Custom_Interface’を選択してください。

             

            001-PSoC+creater.png

             

            2. cybtldr.h の最後の方になる下記の 5つの関数プロトタイプを、それらを実装する C ファイルにコピーしてください。

            実際のコメントは英語ですが、ここでは和訳してあります。

             

              (1) void CyBtldrCommStart(void);

              /* コミュニケーションコンポーネントを開始します */

             

              (2) void CyBtldrCommStop (void);

              /* コミュニケーションコンポーネントを停止します */

             

              (3) void CyBtldrCommReset(void);

              /* コミュニケーションコンポーネントをリセットして、バッファを初期状態に戻します */

             

              (4) cystatus CyBtldrCommWrite(uint8* buffer, uint16 size, uint16* count, uint8 timeOut);

              /* この関数はバッファからデータを取得して選択された通信プロトコルでブートローダホストに送信します。引数の“buffer”と“size”がホストへ送信されるデータ配列へのポインタとデータのバイト数となります。この関数はそのデータをコミュニケーションコンポーネントに渡して引数 “timeOut” で指定された時間 (10 ms の倍数)の間待ちます。実際にホストに送信されたデータのバイト数は引数“count”に書き戻されます。

             

            引数:

            buffer - ホストへ送信されるデータへのポインタ

            size - データバッファのバイト数での大きさ

            count - この関数は timeout 時間内にホストが読んだデータ数でこの値を更新します

            timeout - この引数は 10 ms 単位で timeout を設定します。この関数は通信が終了するのを timeout で指定された時間待ちます

             

             

             戻り値:

            CYRET_EMPTY - 通信は timeout で指定された時間に完了しませんでした

            CYRET_SUCCESS - 通信は timeout で指定された時間内に問題なく完了しました */

             

              (5) cystatus CyBtldrCommRead (uint8* buffer, uint16 size, uint16* count, uint8 timeOut);

              /* この関数は選択された通信プロトコルでブートローダホストから受信されたデータを読みます。

            受信されたデータは引数“buffer”のポインタで示された入れるにコピーする必要があります。

            関数はホストから受信されたバイト数で引数“count”を更新する必要があります。

            引数“size”はホストから受信することを期待していたデータのバイト数です。

            この関数は N データバイトを“buffer”で示された配列にコピーします;ここで N は実際に受信されたデータバイト数か“size”の内で小さい方の値となります。

            この関数は引数“timeout”で指定された時間 (10 ms の倍数) だけ通信終了を待ちます。

             

             引数:

            buffer - コミュニケーションインターフェースから受信されたデータをコピーするバッファへのポインタ

            size   - 期待するデータバッファのバイト数

            count  - この関数はホストから受信したバイト数でこの値を更新します

            timeout - この引数はタイムアウトの時間を 10 ms 単位で設定します。

              この関数は timeout で指定された時間、ホストのデータ書込み終了を待ちます。

             

             戻り値:

            CYRET_EMPTY - 通信は timeout で指定された時間内に完了しませんでした

            CYRET_SUCCESS - 通信は timeout で指定された時間内に問題なく完了しました */

             

            3. 上記のコメントと使用する通信プロトコルに合わせてこれらの関数を実装します。

            ==============================

            20-May-2020

            moto