CY8CKIT-049 を使用して他の PSoC® 4 をプログラムする - KBA93541 - Community Translated (JA)

Version 1

    Community Translated by  Motoo Tanaka Expert           Version: *A

     

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

     

    質問:

    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) で説明されています。