2 Replies Latest reply on May 17, 2020 6:49 PM by MoTa_728816

    Community Translation - Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541

    MoTa_728816

      Hi,

       

      I'd like to translate KBA93541 into Japanese.

      Please confirm to my work.

       

      moto

       

      Original KBA: KBA93541

      Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541

        • 1. Re: Community Translation - Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541
          JuyoungJ_06

          Hello, Tanaka-san

           

          Yes, it is confirmed.

          Please work to do.

           

          Thanks,

          Jenna

          • 2. Re: Community Translation - Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541
            MoTa_728816

            Original KBA: KBA93541

            Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541

             

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

            タイトル: CY8CKIT-049 を使用して他の PSoC® 4 をプログラムする - KBA93541

             

            ヴァージョン: *A

             

            質問:

            CY8CKIT-049 を使用して他の PSoC® 4 をプログラムするのにはどのようにしたら良いですか?

             

            回答:

            CY8CKIT-049 はプログラマが搭載されていません。その代わりに PSoC 4 に書込まれている UART ブートローダとボードに搭載されている USB-Serial のチップを使用して新しいアプリケーションイメージをブートロードします。

            図1 CY8CKIT-049

            001-182965.jpg

             

            ブートローダの領域は書込み保護はされていますが、何ら原因でブートローダが壊れてしまう可能性はあり、安心して変更を行うことが出来ないかも知れません。もしブートローダの領域が壊れてしまった場合、再度ブートローダを書き込むために MiniProg3 を購入しなくてはなりません。

            このドキュメントで説明している方法を使用すれば変更された CY8CKIT-049 の Host Sourced Serial Programming (HSSP) サンプルプロジェクトを使用して CY8CKIT-049 で他のCY8CKIT-049 を再プログラムすることができます。

            これはお手持ちの CY8CKIT-049 基板を PSoC 4 プログラマにしてしまうハックです。これは PSoC 4 デバイスをプログラムすることは出来ますが、デバッグはサポートしていないことにご注意ください。

            この方法では CY8CKIT-049 を使用して PSoC 4 デバイスをプログラムするのに Python™ スクリプトを使用します。Python スクリプトがプログラムに使用される .hex ファイルを開き解釈(parse)して、COM ポートへ送り出します。データは CY8CKIT-049 上の USB-Serial チップを経由してキット上の PSoC 4 へストリーム送信されます。

            この実装では CY8CKIT-049 の PSoC 4 を UART-to-SWD ブリッジとして使用します。CY8CKIT-049 のファームウェアは変更されたヴァージョンの PSoC 4 HSSP を使用してターゲットの PSoC 4 デバイスをプログラムします。PSoC Creator™ ファームウェアと Python スクリプトのアーカイブはこのドキュメントの最後に添付されています。

             

            プロジェクトの使用方法:

            ステップ 1: PC をセットアップします:

            1. PC に Python をダウンロードしてインストールしてください。Python は  https://www.python.org/download/ から無料でダウンロードできます。このプロジェクトは Python 2.7 でテストされています。
            2. PySerial ライブラリをインストールしてください。これは Python が PC の仮想 COM ポートにアクセスするために必要です。PySerial ライブラリは下記のウェブサイトからダウンロードできます: https://pypi.python.org/pypi/pyserial

             

            ステップ 2a: CY8CKIT-049 の設定 (CY8CKIT-049-42xx をお持ちの場合にはステップ 2bへスキップしてください)

            1. このドキュメントに添付されている .zip ファイルをダウンロードして解凍してください。(4 dollar programmer.zip)
            2. PSoC 4 Firmware.zip をフォルダに解凍してください。
            3. PSoC Creator 3.0 SP1 または以降を使用して、プロジェクトファイルを開いてビルドしてください。このプロジェクトは CY8CKIT-049-42xx (CY8C4245AXI-483) 用にビルドされていることに注意してください。このプロジェクトを CY8CKIT-049-41xx で使用する必要がある場合、ターゲットデバイスを CY8C4125AXI-483 に変更してプロジェクトを再度ビルドしてください。
            4. UART_SWD_Bridge.cyacd ファイルが  “\\4 dollar programmer\PSoC 4 Firmware\UART_SWD\UART_SWD_Bridge.cydsn\CortexM0\ARM_GCC_473\Debug\”. に生成されます。
            5. キット上のスイッチを押し続けた状態で CY8CKIT_049 を PC に接続してください。PSoC 4 デバイスはブートローダモードに入り新しいブートローダブルアプリケーションを書き込む準備が整います。CY8CKIT-049 にこのファイルをブートロードしてください。新しいプロジェクトをブートロードする方法の詳細は CY8CKIT-049-4xxx Kit Guide をご参照ください。

             

            ステップ 2b: CY8CKIT-049の設定 (ステップ 2a を行った場合はステップ 3 はスキップ)

            1. このドキュメントに添付されている .zip ファイルをダウンロードして解凍してください。(4 dollar programmer.zip)
            2. Start > Cypress > PSoC Creator 3.0 > Bootloader Host を選択して Bootloader Host Tool を起動します。
            3. ソースファイルとして<Download directory> \4 dollar programmer\PSoC 4 Firmware\Bootloadable\ UART_SWD_Bridge.cyacdを選択して PSoC 4 デバイスにブートロードします。

             

            ステップ 3: 図 2 のダイアグラムのように配線を行います:

             

            図 2. 接続ダイアグラム

            002-182975.jpg

             

            図 3. テスト セットアップ

            003-182973.jpg

             

             

            ステップ 4: ターゲットをプログラムする:

            1. Python Programmer を右クリックして  IDLE を使用して Python スクリプトを開きます。

            図 4. Edit with IDLE オプションを表示しているコンテクストメニュー

            004-182974.jpg

             

            2. .py ファイル中の COM ポート番号を CY8CKIT-049 の USB-Serial デバイスに接続されている COM ポート番号に変更します。

            図 5. COM ポート番号を変更する Python スクリプトの場所

            005-182978.jpg

             

            3. ターゲット PSoC 4 に書込むファイルのパスを入力します。パス名のフォルダ間にはバックスラッシュが二つ (\\) 含まれることにご注意ください。

            図 6. Python スクリプト中の書き込まれる Hex ファイルへのパスを編集する場所

            006-182979.jpg

             

            4. プログラミングを開始する為に F5 を押すか、Run メニューから Run Module を選択します。

            図 7. IDLE の Run メニューの Run Module オプション

            007-182977.jpg

             

            プログラミングが開始されると CY8CKIT-049 の Status LED は消灯します。プログラミング作業完了後 LED は点灯します。プログラミング作業が失敗した場合 LED は点滅します。プログラミング作業が失敗した場合には CY8CKIT-049 を一度 PC から外して、再度接続してから Python スクリプトを再開してください。

            実装:

            図 8. テスト セットアップ

            008-182980.jpg

             

            Python スクリプト:

            Python スクリプトは指定されたパスの .hex をアクセスして解析して下記情報を取得します:

            • シリコン ID
            • 実際のフラッシュロムのデータ
            • フラッシュロムの保護設定
            • チェックサム

            スクリプトは下記のように設定された COM ポートにコマンドを送信します:

            ‘S’, <コマンド1>, <コマンド2>, <1 ~ 128 バイトのデータ>, 'P'

            コマンド1 は表 1に説明されている一文字となります。

            表 1. コマンド1 の意味

                                                                                                                                                                                                                                          

            コマンド1意味コマンド2意味
            Aターゲットの捕捉
            Iシリコン ID の検証
            Eフラッシュの全消去
            Cチェックサム付与
            Pフラッシュ列のプログラム<番号>列番号
            Vフラッシュ列の検証<番号>列番号
            R 保護設定のプログラム
            T保護設定の検証
            Sチェックサムの検証

             

            スクリプトにはハンドシェークプロトコルは実装されておらず、通信は一方向となります。

             

            PSoC 4 ファームウェア:

            CY8CKIT-049 の PSoC 4 デバイスは USB-Serial から(Python スクリプトが送信した)データを受信します。PSoC 4 デバイスはターゲットの PSoC 4 デバイスをプログラムするためにコマンドをデコードします。以降のプログラミングシーケンスは AN84858 - PSoC® 4 Programming Using an External Microcontroller (HSSP) で説明されています。

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

            18-May-2020

            moto