Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

CLIによるPSoC 4ユーザフラッシュセクションへのデータ書き込み - KBA218846

CLIによるPSoC 4ユーザフラッシュセクションへのデータ書き込み - KBA218846

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Translated by: NXTY_Shibutani

Original KBA: Write Data in PSoC 4 User Flash Section through CLI - KBA218846

Version: **

 

質問:

コマンドラインインタフェース(CLI)を使用して、PSoC 4のユーザフラッシュセクションにデータを書き込む方法を教えてください。

 

回答:

CLIを使用して、PSoC 4内部メモリ空間のユーザフラッシュセクション(0x000000000x00007FFF)の指定した行に、カスタマイズしたデータを書き込むことができます。

データは、ユニークIDや特定のフラグなどでカスタマイズすることができます。

PSoC Programmerコマンドラインインタフェース(CLI)ガイドでは、この操作を完了するためのすべてのAPIが紹介されています。

 

プログラミング操作には、以下の画像に示すハードウェア接続が必要です。

NXTY_Shibutani_0-1675844009396.png

ソフトウェアでターゲットデバイスをホストするためには、はじめにコマンドラインウィンドウを呼び出す必要があります。コマンドラインウィンドウは、スタート > プログラムとファイルの検索 > "cmd"と入力することで表示されます。cmd.exeを右クリックし、管理者として実行します。

次に、以下のスクリプトを使用して、ユーザフラッシュセクションの指定された行にデータを書き込みます(ここでは、CY8CKIT-042を例としています)

>cd C:\Program Files (x86)\Cypress\Programmer /* PSoC Programmerがインストールされている場所を開きます。 */

>ppcli.exe /* PSoC Programmer CLIのコマンドラインインタフェースを開きます。 */

>OpenPort KitProg/100F143503274400 . /* ターゲットデバイスを切り替えるためのポートを開きます。ポート名は使用するポートに合わせて、最後に"."を付けるのを忘れないでください。 */

>SetProtocol 8 /* 正しい通信プロトコルを選択します。"8"SWDプロトコルを意味します。 */

[>SetProtocolConnector 1] /* KitProgを使用する場合、このステップは無視できます。"0"5ピンコネクタ、"1"10ピンコネクタを意味します。MiniProg3を使用している場合は、実際のハードウェアの接続に従って設定してください。 */

>SetPowerVoltage 5.0 /* 電源電圧を設定します。"5.0"5.0Vを意味します。 */

>DAP_Acquire /* ターゲットデバイスを切り替えます。 */

>PowerOn /* ターゲットデバイスのVDD端子に電力を供給します。 */

>PSoC4_WriteRow 0x60 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x01 0x02 0x03 0x04 /* Row#0x60に1行分のデータを書き込みます。絶対開始アドレスは、Row# * RowSizeに等しい必要があります。PSoC 4シリーズでは、RowSizeは常に0x80です。この場合、絶対開始アドレスは0x00003000となります。 */

>PSoC4_ReadRow 0x60 /* データが正しく書き込まれたかどうかを確認するために読み返します。 */

>PowerOff /* プログラマに電源供給の停止を指示します。 */

>ClosePort /* ポートを閉じます。 */

>quit /* ppcli.exeを終了します。 */

プログラムが正常に実行されると、次のスクリーンショットのような結果になります。

NXTY_Shibutani_1-1675844009403.png

書き込みに成功すると、オリジナルのチェックサムは「Not Valid(有効ではない)」になることに注意してください。したがって、この例では、データを書き込む前と後で定期的にチェックサムを再確認する必要があるプロジェクトには適用されません。

 

FM0, PSoC 1, PSoC 3, PSoC 5LPに移植する際には、いくつかのマイナーチェンジがあります。

PSoC Programmerは、PSoC 1PSoC 3、および PSoC 5LPで同様のソリューションを実現するためのPerlスクリプトを提供しています。

最新の PSoC Programmer コマンドラインインタフェース(CLI)ガイドでは、FM0用にAPIが拡張されています。

FM0、PSoC 1PSoC 3、および PSoC 5LPでの同様のソリューションについては、PSoC Programmerのサンプルとドキュメントを参照してください。

詳細については、サイプレスセールスまたはテクニカルサポートにお問い合わせください。

0 件の賞賛
130 件の閲覧回数