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

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

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

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Tanaka-san

Yes, it is confirmed.

Please work to do.

Thanks,

Jenna

Jenna Jo
0 Likes
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

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

0 Likes