PSoC® 3 / 4 / 5LPプログラミング/デバッグ問題のトラブルシューティング - KBA210619 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by NoTa_4591161 Version: *A
Translation - English: Troubleshooting PSoC® 3/4/5LP Programming/Debugging Issues - KBA210619
- 異なるファームウェアのアップグレード方法
- MiniProg3(CY8CKIT-002)またはDVKProg / KitProgを使用したプログラミング
- 外部マイクロコントローラーを使用したHSSP
- 量産時のプログラミング
- ブートローディング
。
- プログラミングエラーのトラブルシューティング
- ファームウェアとプログラマーの設定
- PSoC Programmerの設定
- PSoC Creator –プログラム/デバッグ設定
- JTAGプロトコルのPSoC Creator設定
- PSoC Programmer / PSoC CreatorがMiniProg3を検出しない
- ソフトウェアバージョン
- プログラミング障害を引き起こす可能性のある潜在的なハードウェアのバグ
- デバイス固有の問題
- ファームウェアとプログラマーの設定
- よくある質問
- PSoC Creatorプロジェクトのhexファイルはどこにありますか?
- hexファイルのチェックサムはどこにありますか?
- PSoC 3およびPSoC 5LPデバイスでUSBピンを使用してプログラムできますか?
- I2C接続にPSoC 4000ファミリのデバイスのP3 [0]およびP3 [1]を使用できますか?
- デバイスはPSoC Creatorでプログラムされています。ただし、PSoC Programmerでのプログラミングに失敗します。
- PSoC Programmerのデバイスファミリでデバイスが見つからないのはなぜですか?
- PSoC Creatorで「Debug Select」オプションを「GPIO」に設定してデバッグできますか?
- ボードに電源が入っている(MiniProg3から電力が供給されていない)場合、MiniProg3をどのように使用しますか?
- MiniProg3がPSoC Programmer / PSoC Creatorで検出されましたが、接続されていません
- デバッグ中にデバイスをリセットすると、デバッグセッションが失われますか?
- スリープ電流を小さくするには、ピンのプログラミング/デバッグの構成をどうすればよいですか?
- ボードをPCに接続したままMiniProg3を切断しても、ファームウェアが実行されません
- MiniProg3を接続すると、ボードの消費電流が増加しますか?
- SWDポートで複数のデバイスを接続できますか?
- hexファイルをSVF形式に変換するにはどうすればよいですか?
- チップスケールパッケージ(CSP)デバイスをプログラムする方法
- PSoCデバイスの量産時のプログラミングを実行するにはどうすればよいですか?
- マスストレージプログラマとして使用されているKitProgで問題が発生しています
- 外部マイクロコントローラーを使用したHSSPの問題に直面しています
- ブートローダブル(アプリケーション)プロジェクトをデバッグモードで実行するにはどうすればよいですか?
- PSoC Programmerの既知の制限。
- 「ブロックの消去」では、Enterキーを押した後、常に変更が保存されるとは限りません
- KitProgキットのファームウェアアップグレード(CY8CKIT-040/042)
- パワーサイクルモード(SWDプロトコル)のMiniProg3で[中止]ボタンが機能しない
- MiniProg3はCY8CKIT-001のリセットボタンを上書きします
- Pythonの例が新しいPythonインタープリターで失敗します
- CY3240ブリッジは常にINTラインをロー状態に保ちます
- MiniProg1ファームウェアv1.77は、取得に失敗します
- PRoC UIデバイスは3.3Vを超えてプログラムできません
- データを長時間監視すると、ブリッジコントロールパネルでメモリが不足します
- PSoC Programmerは、別のディスクにインストールされていると機能しません
- PSoC 3/5のJTAG / SWD通信は、3.2 MHzを超えるクロックでは安定しません
- サードパーティIDEで保護された状態でのプログラミング
- Bridgeコントロールパネルでのコマンドの同時実行
- 仮想環境でのKitProg1/KitProg2ファームウェアのアップグレード(たとえば、「Parallels Desktop」または「VMWare Fusion」)
- スーパーセットプログラミング
- ブリッジングハードウェアの使用
- ウェーハ販売部品のプログラミングサポートはありません
- プログラミング検証が失敗した場合、特定の場所は示されません
- FM0 +キットのCMSIS-DAPポートの名前は、異なるPCおよびUSBポートで変更される場合があります
- ICE4000はPSoC Programmerでサポートされなくなりました
- PSoC Programmerは、接続中に3.3 VをXRESピンに印加します
- MiniProg1 Programmerは、CY8C25 / 26xxxパーツをサポートしていません
- CY3210-MiniProg1:SCLおよびSDAラインにはんだ付けされたコンデンサ
- CY3240 USB-I2Cブリッジファームウェアは、ブートローダーインターフェースを使用して現場でアップグレードすることはできません
- PSoC Programmerは、シリアルプログラミングモードのFM0 +デバイスでは使用しないでください
- 異なるファームウェアアップグレード方法
PSoC 3およびPSoC 5LPは、業界標準のプログラミング/デバッグ方法-SWDおよびJTAGを提供します。PSoC 4はSWDのみをサポートします。製品開発、製造、フィールドアップグレードなど、製品のさまざまなフェーズで異なるプログラミング手法で役立ちます。詳細については、Cypress’s programming kits and documentsを参照してください。
- MiniProg3(CY8CKIT-002)またはDVKProg / KitProgを使用したプログラミング
開発中、IDEと通信してファームウェアを繰り返しプログラムおよびデバッグするプログラミングハードウェアが必要です。PSoC開発IDEツール– PSoC CreatorおよびPSoC Programmer –は、MiniProg3(CY8CKIT-002)およびDVKProg / KitProgと通信できます。Miniprog3は、JTAGおよびSWDプログラミングをサポートしています。図1を参照してください。
図1. MiniProg3
DVKProgは、FX2LPデバイスを使用して実装されたUSBベースのオンボードプログラミングインターフェースです。SWDプログラミング/デバッグをサポートします。このオンボードプログラミングインターフェースは、CY8CKIT-030やCY8CKIT-050などの多くのサイプレスキットに存在します。図2を参照してください。
図2 CY8CKIT-050にあるDVKProg Programmer
Kitprogは、USBベースのオンボードプログラミングインターフェースです。PSoC 5LPデバイスを使用して実装されます。SWDプログラミング/デバッグをサポートします。CY8CKIT-042、CY8CKIT-044、CY8CKIT-059などの多くのサイプレスキットに含まれています。図3を参照してください。一部のキットのKitprogは、マスストレージ構成も提供します。KitProgがあるときにマスストレージモード、それがマスストレージデバイスとしてお使いのPCに表示されます。hexファイルをドラッグアンドドロップするだけでPSoCをプログラムできます。詳細については、Kitprog User Guideを参照してください。
図3 CY8CKIT-044にあるKitProgProgrammer
- 外部マイクロコントローラーを使用したHSSP
ホストソースシリアルプログラミング(HSSP)には、SWDを介してPSoCデバイスをプログラミングする外部コントローラーが含まれます。MiniProg3もHSSPホストです。多くのアプリケーションでは、別のマイクロコントローラー(ホスト)を使用してオンボードPSoCデバイスをプログラムすることができます。これは通常、より大きく、メインコントローラーとして機能します。これは、ボード上のホストマイクロコントローラーにSWDコードを実装することで実現されます。ホストはSWDを介してPSoCデバイスのファームウェアを更新します。外部マイクロコントローラーを使用するHSSPを使用して、現場でPSoCファームウェアを更新できます。図4を参照してください。さまざまなPSoCデバイスのHSSPコードを説明する次のアプリケーションノートを参照してください。
図4 SWD経由で外部マイクロコントローラーを使用したHSSPの例
- 量産時のプログラミング
本番のプログラミングは開発サイクルでのプログラミングとは異なります。量産時のプログラミング設定は製造環境で使用され、短時間で複数のユニットを確実にプログラミングできます。サイプレスは、いくつかの認定されたサードパーティベンダーを推奨しています。
- ブートローディング
ブートローダーは、フィールドで製品のファームウェアを更新するもう1つの方法です。ブートローダーは、USB、I 2 C、UART、SPI などの標準通信インターフェースを使用します。PSoCデバイスは、フラッシュに2つのコードモジュール(ブートローダーとファームウェアアプリケーション)が必要です。図5を参照してください。ブートローダーは、通信インターフェースを介してホストと通信し、新しいファームウェアイメージを受信して、フラッシュの「アプリケーション」部分にロードします。ブートローディングでは、フラッシュ全体ではなく、フラッシュの「アプリケーション」部分のみが更新されます。さらに、ブートローディングでは、最初にPSoCデバイスを上記のプログラミング方法の1つを使用してブートローダーコードでプログラムする必要があります。
ホスト側の実装では、USB、I 2 C、UART、SPIなどの通信インターフェースを介してPSoCデバイスに新しいファームウェアイメージを送信する必要があります。ホストはJTAGまたはSWDプロトコルを実装する必要はありません。図5および図6は、ブートローダーの例を示しています。
注:サイプレス開発キットCY8CKIT-049 4xxxには、フラッシュ更新オプションとしてブートローダーしかありません。ボードには、USB-UARTを介してPCからのブートロードを可能にするオンボードUSB-シリアルブリッジがあります。
図5 ホストコントローラーによるブートローディング
図6 Mac / PCをホストとして使用したブートローディング
- プログラミングエラーのトラブルシューティング
- ファームウェアとProgrammerの設定
PSoC Programmer / PSoC Creatorの設定がハードウェアに従って設定されていない場合、プログラミング/デバッグが失敗する可能性があります。一部の設定はMiniProg3にのみ適用され、DVKProg / KitProgがプログラミングに使用されている場合はグレー表示されます。
- PSoC Programmerの設定
PSoC Programmerを使用してデバイスをプログラムしている場合は、図7に示すように設定を確認してください。設定を理解するには、PSoC Programmer > Help Topics を参照してください。これらの設定について、以下で説明します。
図7 PSoCProgrammerの設定
- Programming mode(Power Cycle または):Power Cycleモードでは、デバイスはパワーオンリセットを使用してリセットされます。PSoCデバイスへの電力は、パワーオンリセットを通過するように切り替えられます。このため、PSoCデバイスのすべての電源ピンを一緒に短絡し、MiniProg3のVTARGピンに接続して、PSoCデバイスへの電力をトグルできるようにする必要があります。ボードに多くのコンポーネントがある場合、これを実装するのはより複雑になります。したがって、デバイスに外部リセット(XRES)ピンがない場合を除き、プログラミングのリセット方法を実装することをお勧めします。
Resetモードでは、MiniProg3のリセットピンはPSoC XRESピンに接続されます。PSoCデバイスは、このピンでリセットパルスをアサートすることによってリセットされます。
- Connector(5pin または):ボードに応じて、コネクタタイプを5ピンまたは10ピンとして選択します。10ピンはJTAGおよびSWDプロトコルの両方をサポートします。5ピンはSWDプログラミングのみをサポートします。
- AutoDetection:これをオンに設定して自動検出機能を使用すると、PSoC ProgrammerがPSoCデバイスを自動的に検出します。
- Protocol:SWDとJTAGの間で適切なプロトコルを選択します。
SWD | JTAG | |
PSoC 3 and PSoC 5LP | ✔ | ✔ |
PSoC4 | ✔ | ✗ |
- Voltage:ボード上の電源に応じて適切な電圧を選択してください。MiniProg3はVTARGピンの電圧を測定します。図7で青く強調表示されているように、「ステータス」の下のPSoC Programmerに表示されます。これらの電圧が正しいことを確認してください。ボードにセルフパワーがあり、MiniProg3 VTARGピンがボードの電源電圧に接続されていない場合、PSoC Programmerはゼロボルトを報告します。これを回避するには、PSoC Programmerソフトウェアを使用してMiniProg3電源を切り替えます(図7で緑色で強調表示)。
- ボードにMiniProg3のVTARGピンから電力が供給されている場合、MiniProg3は最大200 mAの電流を供給できることに注意してください。
- PSoC Creator – プログラム/デバッグ設定
PSoC Creatorを使用している場合は、PSoC Creator > Tools > Program/Debug > Port Configuration > MiniProg3に移動します。ほとんどの設定は、上記で説明したPSoC Programmerの設定と同じです。
- 図8に示すように設定を確認します。
- ボード上の電源に応じて適切な電圧を選択してください。PSoC Programmerとは異なり、PSoC CreatorはMiniProg3 VTARGピンからの測定電圧を表示しません。ボードにセルフパワーが付いている場合(MiniProg3がボードに電力を供給していない場合)、図8で青く強調表示されているように、電源の「External」オプションを選択します。
図8 PSoC Creatorのポート設定
- JJTAGプロトコルでのPSoC Creator設定
プログラミング/デバッグにJTAGプロトコルを使用している場合は、ピンのデバッグポートを有効にする必要があります。ピンを「4線JTAG」または「5線JTAG」に設定します。工場出荷時のデフォルト設定は「4線JTAG」です。ただし、ファームウェアのプログラミングによってこの設定を変更した場合は、このオプションを「4線JTAG」または「5線JTAG」に戻して、SWDを介してチップをプログラムします。この後、JTAGを使用できるようになります。
このオプションは、PSoC Creator > <プロジェクト名> .cydwr > Systemタブ> Debug Selectにあります。図9を参照ください。
図9 デバッグ選択オプション
PSoC Programmer / PSoC CreatorがMiniProg3を検出しない
- WindowsデバイスマネージャーにMiniProg3が表示されるかどうかを確認します。そうでない場合は、ボードまたは接続のいずれかに潜在的な問題があることを示しています。
- 別のMiniProg3 Programmerを試してください。
- ケーブル長を確認し、別のケーブルを使用してみてください。
- USBハブを使用してMiniProg3を接続している場合は、ハブを使用せずにテストしてください。
- デバイスマネージャーに表示されるが、ドライバーがバインドされていない場合は、次のKB記事で説明されているように、ドライバーを手動でバインドします。http ://www.cypress.com/knowledge-base-article/where-find-miniprog3-driver- file-kba88256
- ソフトウェアのバージョン
- PSoC Programmerのバージョン
- サイプレスのウェブから入手できる最新のPSoC Programmerのバージョンがあることを確認してください。古いバージョンのPSoC Programmerには最新のデバイスデータベースがない場合があります。したがって、PSoC Programmerは、シリコンの新しいリビジョンのプログラミング中にエラーを報告する可能性があります。
- 例:「The hex file was built for silicon revision xxx, but the acquired device is revision *x. Use PSoC Creator to generate a hex file for the proper device(hexファイルはシリコンリビジョンxxx用にビルドされましたが、取得したデバイスはリビジョン* xです。デバイスに合うhexファイルを生成するためのPSoC Creatorを使用してください)」
- KitProgのバージョン
- PSoC Programmerを使用してデバイスをプログラムしている場合、必要に応じてKitProgのファームウェアを更新するよう自動的に求められます。このため、PSoC Programmerソフトウェアはサイプレスのウェブサイトで入手可能な最新バージョンである必要があります。また、PSoC Programmerにある「Auto-Update of Firmware(ファームウェアの自動更新)」オプションを有効にする必要があります。図10に示すように、このオプションはPSoC Programmer > Options > Programmer Optionsにあります。
PSoC Creatorを使用してデバイスをプログラムしている場合、PSoC Creatorは、「KitProg version expecting x.xx but found x.xx. Please use PSoC Programmer GUI to upgrade firmware.(KitProgバージョンにはx.xxが必要ですがx.xxが見つかりました。PSoC Programmer GUIを使用してファームウェアをアップグレードしてください。)」を表示します。
PSoC Programmer > Help Topics > Update Firmwareセクションを参照して、KitProgファームウェアの更新方法を確認してください。
図10 自動更新ためのPSoC Programmerオプション
- プログラミング障害を引き起こす可能性のある潜在的なハードウェアのバグ
- PSoC Programmer / PSoC Creatorは、ハードウェアが正しくない場合、さまざまなエラーで失敗する可能性があります。ハードウェアについて、以下の点を確認してください。ハードウェアの考慮事項については、AN61290(PSoC 3およびPSoC 5 LP)およびAN88619(PSoC 4)を参照してください。
1. VCCD / VCCAの接続
VCCDとVCCAは、それぞれ内部デジタルレギュレータとアナログレギュレータの出力電圧です。PSoCに電力を供給する調整モードでは、このピンをボード上の他のピンまたはICに短絡しないでください(PSoC 3およびPSoC 5LPデバイスの2つのVCCDピンの短絡を除く)。図11を参照してください。デバイスのデータシートに示されているように、これらのピンには推奨コンデンサが必要です。
注1: PSoCの電源にはunregulated モードがあります。このモードでは、電源電圧は1.71 V〜1.89 Vでなければなりません。ここで、VCCD / VCCAは電源電圧に短絡する必要があります。内部レギュレータは自動的に無効になります。詳細については、デバイスのデータシートを参照してください。
注2: PSoC 3およびPSoC 5LPデバイスには2つのVCCDピンがあります。両方のVCCDは、それに接続されたコンデンサと一緒に接続する必要があります。2つのVCCDピン間のトレースはできるだけ短くする必要があります。
図11 Regulated モードでPSoCに電源供給するVCCD接続
2. XRES接続
PSoCデバイスのXRESには内部プルアップ抵抗があります。外付けプルアップ抵抗を接続しないでください。外部プルアップ抵抗が内部プルアップ抵抗と並列になり、その値が減少し、プログラミングエラーを起こす可能性があります。
XRESラインに0.1 µFの小さな容量を接続して、XRESのグリッチをフィルタリングできます。これは強制ではありません。配置する場合は、0.1 µFなどの小さな値にする必要があります。図12を参照してください。
注:一部のデバイスにはXRES接続がなく、一部のデバイスにはオプションのXRESピンがあります。オプションのXRESピンをリセットの目的で使用する場合、プルアップ抵抗とその上のコンデンサに関して上記で説明したのと同じ注意を払う必要があります。XRESピンがまったくないデバイスは、プログラミングのパワーサイクルの方法を使用する必要があります。
§
図12 XRESの接続
3. 電源コンデンサ
電源ピンVDDD、VDDA、VDDIOxピンには、デカップリングコンデンサが必要です。コンデンサの推奨値については、各デバイスのデータシートの電力セクションを参照してください。これらのコンデンサは電源ピンの近くに配置する必要があることに注意してください。図13を参照してください。
図13 アナログおよびデジタル用のPSoC 4単一電源レール: Regulated モード
4. 異なる電源ピンの電圧
PSoCの電源ピンに関しては、ボード上の以下の点を確認してください。違反が見つかった場合は、ボードの電源セクションを確認してください。
- VDDAはチップ上で最も高い電圧でなければなりません。
- VDDAとVDDDに電力を供給する必要があります。VDDIO1がチップ上にある場合は、プログラミングピンに電力を供給するため、VDDIO1にも電力を供給する必要があります。
- 電源ピンVDDAおよびVDDDに電力が供給されている場合、ピン-VCCDおよびVCCAは、測定時に1.8 Vに近い電圧を示します。
- プログラミングラインの接続
- プログラミングコネクタの向きが反転していないことを確認します。図14を参照ください。
図14 MiniProg3コネクタピン
- PSoCのプログラミングピンとプログラミングヘッダーの間に接続が存在するかどうかを確認します。PSoCのピンとプログラミングヘッダーの間の短絡をチェックすることでテストができます。
- デバイス固有の問題
- PSoC 4000ファミリのP1_6ピン
- P1_6ピンにはプルダウン抵抗を接続しないでください。このピンは、電源投入時にリセットピンとして機能します。このピンは内部でプルアップされています。プルダウン抵抗を外部に配置すると、リセットがアサートされ、デバイスはリセットからの復帰に失敗します。
- PSoC 4000 16-QFNおよびSOICパッケージデバイス、パワーサイクルの方法
- これらのデバイスにはリセットピンがありません。ハードウェアリセットをアサートする唯一の方法は、パワーオンリセットです。したがって、パワーサイクルの方法でしかプログラミングできません。パワーサイクルの方法では、すべての供給ラインを短絡する必要があることに注意してください。図15 は、PSoC Programmerでのパワーサイクル方法の選択を示しています。
図15 パワーサイクルの方法
- よくある質問
1. PSoC Creatorプロジェクトのhexファイルはどこにありますか?
回答: hexファイルの場所は、プロジェクトのコンパイルに使用されるコンパイラと、プロジェクトのビルドに使用されるモード(デバッグまたはリリース)によって異なります。
例えば:
Keil v951コンパイラを備えたPSoC 3デバイスの場合、hexファイルの場所は次のとおりです。
プロジェクトディレクトリ\<project_name>.cydsn\DP8051_Keil_951\Release 或いは Debug\<project_name>.hex
ARM GCC v493コンパイラを備えたPSoC 4およびPSoC 5LPデバイスの場合、hexファイルの場所は次のとおりです。
プロジェクトディレクトリ\ <project_name>.cydsn\ARM_GCC_493\Release 或いはDebug\<project_name>.hex
2. hexファイルのチェックサムはどこにありますか?
回答: HSSPアプリケーションノートで提供されているツール「HexFile Parser」を使用してください。このツールを使用してhexファイルを解析すると、HexImage.cファイルが生成されます。このファイルには、次のような配列としてチェックサムがあります。
例:unsigned char const ChecksumData_HexFile[2] = {0xAA, 0x2A};
3. PSoC 3およびPSoC 5LPデバイスでUSBピンを使用してプログラムできますか?
回答 :はい。PSoC3およびPSoC 5LPのUSBピン(P15 [6]およびP15 [7])はSWDプログラミングに使用できます。
4. I2C接続にPSoC 4000ファミリのデバイスのP3 [0]およびP3 [1]を使用できますか?
回答:はい、これらをI2C接続に使用できます。これらのピンのデバッグ設定をGPIOに変更します。ワークスペース上のPSoC Creatorのプロジェクトを選択し、ダブルクロックし、 その後.cydwr ファイルをダブルクリックします。Systemタブを選択し、Programming\Debugging > Debug Select > でGPIOに変更します。図16を参照してください。
図16. GPIOのデバッグ選択オプション
5. デバイスはPSoC Creatorでプログラムされています。ただし、PSoC Programmerでのプログラミングに失敗します。
回答:これは、デバイスの部品番号がPSoC Programmerで正しく選択されていない場合に発生する可能性があります。PSoC Creatorは、デバイスファミリ内のデバイスパーツ番号を特にチェックしない場合があることに注意してください。ただし、PSoC Programmerは、hexファイルが作成されるパーツ番号と選択されたパーツ番号が同じかどうかをチェックします。PSoC Programmerの「Auto Detection」機能を選択して、部品番号が自動的に選択されるようにしてください。
6. PSoC Programmerでデバイスファミリにデバイスが見つからないのはなぜですか?
回答: PSoC Programmerの「Auto Detection」機能をオンに設定します。これが行われていない場合は、「プロトコル」オプションが正しく設定されていることを確認してください。PSoC Programmerは、この設定に基づいてデバイスを除外します。また、www.cypress.comからPSoC Programmerソフトウェアの最新バージョンを入手していることを確認してください。
7. PSoC Creatorで「Debug Select」オプションを「GPIO」に設定してデバッグできますか?
回答:はい、「Debug Select」オプションをGPIOに設定してデバッグできます。ただし、ボード上のデバッグピンが接続されている場所によっては、外部信号からの干渉があり、デバッグデータが破損する可能性があります。また、「Debug Select」オプションをGPIOに設定すると、「Attach to Running Target」機能を使用できません。
8.ボードに電源が入っている(MiniProg3から電力が供給されていない)場合、MiniProg3をどのように使用しますか?
回答: Miniprog3を最初にボードに接続し、次にPCに接続します。PSoCプログラマは、ボードにすでに電源が入っているかどうかを検出します。すでに電源が入っている場合、MiniProg3の電源はオンになりません。MiniProg3を最初にPCに接続してからボードに接続すると、MiniProg3が損傷する可能性があります。
9. MiniProg3がPSoC Programmer / PSoC Creatorで検出されましたが、接続されていません。
回答:通常、これは別のプログラムがすでにMiniProg3を使用している場合に発生します。この問題を解決するには、PC上の他のプログラムを閉じるか、MiniProg3を他のプログラムから切断してください。
10.デバッグ中にデバイスをリセットすると、デバッグセッションが失われますか?
回答:プロジェクトのデバッグ中にハードウェアリセットを使用することはできません。ただし、PSoC Creatorでは、デバッグ中にソフトウェアリセットができます。
11.スリープ電流を小さくするには、programming/debuggingピンの構成をどうすればよいですか?
回答:programmingピンの設定をGPIOモードに変更します。これは、.cydwr file > Systemタブ > Debug Selectで実行できます。図17を参照してください。
図17 ピンのデバッグ選択オプション
12. ボードをPCに接続したままでMiniProg3を切断しても、ファームウェアが実行されません。
回答:はい。MiniProg3がホストPCから切断されてもボードが接続されている場合、XRESはLowに保持されるため、PSoCはリセットで保持されます。
13. MiniProg3を接続すると、ボードの消費電流が増加しますか?
回答:はい、電力測定を行っている間はMiniProg3を外してください。
14. SWDポートで複数のデバイスを接続できますか?
回答: SWDプロトコルは、複数のデバイスのプログラミングをサポートしていません。PSoC 3およびPSoC 5LPデバイスの場合、JTAGチェーンを使用します。PSoC 4の場合、同じコネクタを使用して複数のデバイスをプログラムする場合は、プログラミングラインに外部マルチプレクサを配置できます。
15. hexファイルをSVF形式に変換するにはどうすればよいですか?
回答: PSoCProgrammerと一緒にインストールされたHEXからSVFへのコンバータを使用して、PSoC 5LPのhexをSVFに変換できます。 <Install Directory>\Cypress\Programmer\HexToSvfに移動してください。 .exeファイルを見つけることができます。このツールの使用方法については、「hird-Party Tools for Cypress Devices User Guide」の「5.1 Cypress SVF Tools 」を参照してください。このドキュメントは同じフォルダにあります。
16.チップスケールパッケージ(CSP)デバイスをプログラムする方法
回答: アプリケーションノートAN89611を参照してください。
17. PSoCデバイスにおける量産時のプログラミングを実行するにはどうすればよいですか?
回答:サイプレスエンジニアリングプログラマは、これらの機械設計、プラスチック製の筐体、およびプラスチック製のヘッダーがあるため、大量生産のプログラミング環境にはお勧めできません。Miniprog3は過電流保護と過電圧保護を提供しますが、製造環境によっては、エンジニアリングプログラマに損傷条件を課す可能性があります。製造には量産用プログラマを使用することをお勧めします。次のリンクは、推奨ベンダーのリストを提供します:http : //www.cypress.com/?rID=2543
18.マスストレージプログラマとして使用されているKitProgで問題が発生しています。
回答: KitProgユーザーガイド(http://www.cypress.com/file/157966/download)の「Troubleshooting the KitProg」セクションを参照してしてください。
19.外部マイクロコントローラーを使用したHSSPの問題に直面しています。
回答: HSSPアプリケーションノートの「Tips and Tricks for Debugging HSSP Issues」セクションを参照してください。以下を参照してください。
- http://www.cypress.com/documentation/application-notes/an73054-psoc-3-and-psoc-5lp-programming-using...
- http://www.cypress.com/documentation/application-notes/an84858-psoc-4-programming-using-external-mic...
20.ブートローダブル(アプリケーション)プロジェクトをデバッグモードで実行するにはどうすればよいですか?
回答: PSoC Creatorブートローダーシステムでは、ブートローダープロジェクトが最初に実行され、次にブートローダブルプロジェクトが実行されます。ブートローダーからブートローダブルプロジェクトへのジャンプは、ソフトウェア制御のデバイスリセットを通じて行われます。これにより、デバッガーインターフェースがリセットされます。つまり、ブートローダブルプロジェクトをデバッガーモードで実行できません。
ブートローダブルプロジェクトをデバッグするには、ブートローダブルコンポーネントを削除するか無効にしてデバッグします。次に、デバッグが完了した後、ブートローダブルコンポーネントを再インストールまたは再度有効にします。別のオプションは、デバイスにブートローダブルプロジェクトの.hexファイルをプログラムし、ブートローダブルプロジェクトの実行中に「実行中のターゲットにアタッチ」オプションを使用してデバッグすることです。図18を参照してください。この場合、デバッガーがデバイスに接続されているポイントからのみ、ブートローダブルプロジェクトをデバッグできます。
図18 ブートローダブルプロジェクトのデバッグ
- PSoC Programmerの既知の制限
1.「ブロックの消去」は、Enterキーを押した後、常に変更を保存するとは限りません。
PSoC Programmer GUIで「ブロックの消去」機能を使用する場合、ダイアログセッション間でブロックIDおよびバンクIDフィールドが保存されない場合があります。これは、WinForms .NETライブラリのMaskTextBoxコンポーネントの既知の問題です。ダイアログセッション間でこれらの値を保存するには、次の操作を行います。
1. ブロックID /バンクIDフィールドの既存の値を削除します。
2.新しい値を入力します。
3. Enterキーを押すか、ブロックの消去ボタンを押します。
2. KitProgキット(CY8CKIT-040 / 042)のファームウェアアップグレード
PSoC Programmer GUIでKitProgのファームウェアアップグレードを開始するときは、ブートローダーホスト(PSoC Creator's)ツールが実行されていないことを確認してください。そうでない場合、ホストツールがKitProgのブートローダーにアクセスしようとするため、アップグレードが失敗する可能性があります。
3.パワーサイクルモード(SWDプロトコル)のMiniProg3で[中止]ボタンが機能しない
SWDプロトコルのPower CycleモードのMiniProg3では、中止は機能しません。回避策として、この長時間の操作中にUSBポートからMiniProg3を取り外してください。
4. MiniProg3はCY8CKIT-001のリセットボタンを上書きします
ISSP操作が完了した後、MiniProg3はXRESピンをアクティブHIGHまたはLOW状態に保ち、ターゲットのアクティブXRES状態がHIGH(およびMiniProg3がISSPヘッダーに接続されている場合)にリセットボタンをブロックします。
5. Pythonの例が新しいPythonインタープリターで失敗する
Pythonのバージョン2.6から3.0への変更により、Pythonコード例は失敗します。1つの例は、printステートメントがprint()関数によって置き換えられることです。Python 3.0以降でサンプルを実行しようとすると、構文エラーがスルーされます。サイプレスは現在、サイプレスのコード例を使用する場合、ユーザーにPython 2.6の使用を要求しています。
6. CY3240ブリッジは常にINTラインをロー状態に保ちます
これにより、ブリッジのINTラインがターゲットのXRESラインにアクティブLOW極性で接続されている場合に問題が発生します。ハードウェアの制限により、INTラインはファームウェアからHI-Z状態に移行できません。CY3240ブリッジとの互換性のためのボードを設計願います。
7. MiniProg1ファームウェアv1.77は、取得に失敗します。
MiniProg1ファームウェアの以前のリリースでは、パワーサイクルプログラミング中にリセットラインがLOWにプルされていました。MiniProg1は、アクティブLOWリセットライン状態を持つデバイスをサポートするようになりました。これを説明するために、MiniProg1はリセットラインをHI-Z状態のままにします。チップをリセット状態に保つ可能性があるプルアップまたはプルダウン抵抗回路に注意してください。
8. PRoC UIデバイスは3.3Vを超えてプログラムできません
MiniProg3およびMiniProg1プログラマは、3.3 Vを超える電力をターゲットデバイスに供給できます。PRoCUIデバイスは、1.7〜3.3 Vの範囲でのみプログラムできます。3.3 Vを超えるプログラミングは、PRoC-UIデバイスまたは無線チップに損傷を与える可能性があります。
PSoC Programmerは、危険な構成でPRoC-UIデバイスを選択するとプロンプトを表示します。
9.データを長時間監視すると、ブリッジコントロールパネルのメモリが不足します
このような状況では、GUIを再起動する必要があります。チャートのサンプルを修正してスクロールできるようにすることをお勧めします。「Char > Variable Settings」メニューの「Scroll」パラメータでスクロールウィンドウのサイズを設定します(たとえば、1000-10000)。
10.別のディスクにインストールすると、PSoC Programmerが機能しません。
PSoC Programmerをデフォルト値以外の場所にインストールする場合は、その場所のフォルダ名またはパスに「-」文字が使用されていないことを確認してください。
11. PSoC 3/5のJTAG / SWD通信は、3.2 MHzを超えるクロックでは安定しません。
使用可能な最大プログラミング速度は、前のプログラミングセッションからのCFGSPEED NVL設定に依存します。この設定には、12 MHzと48 MHzの2つのオプションがあります。これにより、IMOの実行速度が構成され、さらに、バスクロックの実行速度が構成されます。信頼性の高い結果を得るには、プログラミング/デバッグをBUSクロックの1/3よりも速く行わないでください。使用するクロック速度が高いほど、障害が発生する可能性が高くなります。ケーブルの長さとボード上の静電容量は、JTAGまたはSWDを介してデータを正常に送信する機能に影響を与える可能性があります。PSoC 3 / 5LPフラッシュの読み取り/書き込み操作の場合、推奨される周波数の上限は3.0〜3.2 MHzです。
12.サードパーティIDEでの保護された状態でのプログラミング
サードパーティの統合開発環境(たとえば、µVision IDE、KeilおよびIAR Embedded Workbench、IARシステム)は、シリコンまたはフラッシュ行が保護状態にある場合、プログラミングをサポートしません。デバイスがPSoC Creatorのプロジェクトでフラッシュされ、「チップ保護」オプションが「Open」に設定されていない、または「Flash Security」設定ページに少なくとも1つの保護された行が含まれている場合は、サードパーティIDEを使用してデバイスをプログラミングする前のPSoC Programmerで「Erase All Flash」操作を実行します。
13. Bridgeコントロールパネルでのコマンドの同時実行
Bridge Control Panelでは、複数のコマンドを同時に実行しても、これらのコマンドが遅延なく順次実行されるとは限りません。各コマンドは個別のUSBトランザクションです。遅延は、PCの特性と接続されているブリッジのタイプに依存します(KitProgやKitProg2などのUSB HIDデバイスではより重要です)。
14.仮想環境でのKitProg1 / KitProg2ファームウェアのアップグレード(たとえば、「Parallels Desktop」または「VMWare Fusion」)
仮想環境でKitProg1 / KitProg2ファームウェアをアップグレードすると、初期化中にエラーが発生したり、ファームウェアの更新後にキットが「KitProg」ではなく「ブートローダーデバイス」として検出される場合があります。これは、ファームウェアの更新プロセス中に、KitProgがモードを「KitProg」から「ブートローダー」に変更し、次に「KitProg」に戻すためです。このUSBデバイスのVID / PIDの変更により、仮想マシンはゲストOSからキットを取り外します。
この問題を回避するには、次のいずれかの解決策を使用してください。
a. すべてのUSBデバイスをゲストOSに自動的に接続するように仮想マシンを構成します。
b. すべてのUSBデバイスの自動接続がサポートされていない場合は、既知のVID / PIDを持つデバイスのみを自動的に接続するように仮想マシンを構成できます。KitProgの場合、キットを3つの異なるモード(「ブートローダー」、「KitProg」、および「マスストレージ」)に連続して切り替え、仮想マシンを構成して(各モードで)検出されたデバイスをゲストOSに自動的に接続します。
c. 仮想マシンがそのような構成をサポートしていない場合は、KitProgからブートローダーモードに、またはその逆に切り替えた後、手動でキットを再接続します。
15.スーパーセットプログラミング
PSoC Creatorはスーパーセットプログラミングの概念をサポートしていますが、PSoC Programmerはサポートしていません。PSoC Programmerは、プロトタイピングツールではなく、量産時のプログラミングツールになることを目的としています。ファームウェアプロジェクトが完了したら、対応する部品番号のhexファイルを作成し、PSoC Programmerまたはサードパーティツールを使用して、製造時にプログラムします。
16.ブリッジハードウェアの使用
サポートされているプログラミングおよびブリッジングハードウェアは、一度に1つのアプリケーションでのみ使用できます。1つのアプリケーションでポートを閉じると、他のクライアントアプリケーションのハードウェアが解放されます。
17.ウェーハ販売部品のプログラミングサポートはありません。
18.プログラミング検証が失敗した場合、特定の場所は示されません。
19. FM0 +キットのCMSIS-DAPポートの名前は、異なるPCおよびUSBポートで変更される場合があります。
この問題は、空のシリアル番号文字列(USBデバイス記述子)があるFM0 +キットで発生するか、一意ではない場合に発生します。この場合、OSは物理USBポートアドレスに基づいて一意の文字列を生成し、この文字列はPSoC ProgrammerでCMSIS-DAPポートの一意の名前を作成するために使用されます。PSoC Programmerで公開されている、ポート取得APIを使用する独自のアプリケーションを開発する場合は、このことを覚えておいてください。
20. ICE4000はPSoC Programmerでサポートされなくなりました。
21. PSoC Programmerは、接続中に3.3 VをXRESピンに印加します
プログラミングにICE-CubeまたはMiniProg1を使用する場合、PSoC Programmerは接続中に3.3 VをXRESピンに印加します。これにより、ターゲットシステムに電力が供給される場合があります。プログラミング中、3.3 VがターゲットシステムのSCLK(P1-1)、SDATA(P1-0)、およびXRESピンに印加されます。
22. MiniProg1 ProgrammerはCY8C25 / 26xxxパーツをサポートしていません。
ICE-LPTおよびICE-4000 Programmerは、CY8C25 / 26xxxパーツをサポートします。必要に応じて、PSoC Programmerバージョン2.33以前を使用してください。
23. CY3210-MiniProg1:SCLおよびSDAラインにはんだ付けされたコンデンサ
CY3210-MiniProg1には、SCLおよびSDAプログラミングラインにはんだ付けされた2つのコンデンサがあり、プログラミング中に障害を引き起こす可能性があります。これらのコンデンサを取り外すには、サイプレスのテクニカルサポートに連絡して、この問題に対処するための追加手順を確認してください。
24. CY3240 USB-I2Cブリッジファームウェアは、ブートローダーインターフェースを使用してアップグレードすることはできません。
アップグレードが必要な場合は、PSoC Programmerのインストールフォルダーにあるusbtoiic.hexからファームウェアを完全に再プログラムする必要があります。再プログラミングには、ブリッジのボード上の5ピンISSPヘッダーに接続されたPSoC 1 Programmer(MiniProg1やMiniProg3など)を使用します。ブリッジのプログラミングには「パワーサイクル」を選択します。サイプレスは、現場でCY3240ブリッジを置き換えるスーパーセットMiniProg3キットにアップグレードすることをお勧めします。
25. PSoC Programmerは、シリアルプログラミングモードのFM0 +デバイスと一緒に使用しないでください。
シリアルプログラミングモードは、UARTやUSBなどのシリアルインターフェースで使用されることを想定しています。PSoC Programmerが使用するSWDインターフェースでの使用は想定されていません。
- プログラミングエラーのトラブルシューティング
- ファームウェアとProgrammerの設定
PSoC Programmer / PSoC Creatorの設定がハードウェアに従って設定されていない場合、プログラミング/デバッグが失敗する可能性があります。一部の設定はMiniProg3にのみ適用され、DVKProg / KitProgがプログラミングに使用されている場合はグレー表示されます。
- PSoC Programmerの設定
PSoC Programmerを使用してデバイスをプログラムしている場合は、図7に示すように設定を確認してください。設定を理解するには、PSoC Programmer > Help Topics を参照してください。これらの設定について、以下で説明します。
図7 PSoCProgrammerの設定
- Programming mode(Power Cycle または):Power Cycleモードでは、デバイスはパワーオンリセットを使用してリセットされます。PSoCデバイスへの電力は、パワーオンリセットを通過するように切り替えられます。このため、PSoCデバイスのすべての電源ピンを一緒に短絡し、MiniProg3のVTARGピンに接続して、PSoCデバイスへの電力をトグルできるようにする必要があります。ボードに多くのコンポーネントがある場合、これを実装するのはより複雑になります。したがって、デバイスに外部リセット(XRES)ピンがない場合を除き、プログラミングのリセット方法を実装することをお勧めします。
Resetモードでは、MiniProg3のリセットピンはPSoC XRESピンに接続されます。PSoCデバイスは、このピンでリセットパルスをアサートすることによってリセットされます。
- Connector(5pin または):ボードに応じて、コネクタタイプを5ピンまたは10ピンとして選択します。10ピンはJTAGおよびSWDプロトコルの両方をサポートします。5ピンはSWDプログラミングのみをサポートします。
- AutoDetection:これをオンに設定して自動検出機能を使用すると、PSoC ProgrammerがPSoCデバイスを自動的に検出します。
- Protocol:SWDとJTAGの間で適切なプロトコルを選択します。
SWD | JTAG | |
PSoC 3 and PSoC 5LP | ✔ | ✔ |
PSoC4 | ✔ | ✗ |
- Voltage:ボード上の電源に応じて適切な電圧を選択してください。MiniProg3はVTARGピンの電圧を測定します。図7で青く強調表示されているように、「ステータス」の下のPSoC Programmerに表示されます。これらの電圧が正しいことを確認してください。ボードにセルフパワーがあり、MiniProg3 VTARGピンがボードの電源電圧に接続されていない場合、PSoC Programmerはゼロボルトを報告します。これを回避するには、PSoC Programmerソフトウェアを使用してMiniProg3電源を切り替えます(図7で緑色で強調表示)。
- ボードにMiniProg3のVTARGピンから電力が供給されている場合、MiniProg3は最大200 mAの電流を供給できることに注意してください。
- PSoC Creator – プログラム/デバッグ設定
PSoC Creatorを使用している場合は、PSoC Creator > Tools > Program/Debug > Port Configuration > MiniProg3に移動します。ほとんどの設定は、上記で説明したPSoC Programmerの設定と同じです。
- 図8に示すように設定を確認します。
- ボード上の電源に応じて適切な電圧を選択してください。PSoC Programmerとは異なり、PSoC CreatorはMiniProg3 VTARGピンからの測定電圧を表示しません。ボードにセルフパワーが付いている場合(MiniProg3がボードに電力を供給していない場合)、図8で青く強調表示されているように、電源の「External」オプションを選択します。
図8 PSoC Creatorのポート設定
- JJTAGプロトコルでのPSoC Creator設定
プログラミング/デバッグにJTAGプロトコルを使用している場合は、ピンのデバッグポートを有効にする必要があります。ピンを「4線JTAG」または「5線JTAG」に設定します。工場出荷時のデフォルト設定は「4線JTAG」です。ただし、ファームウェアのプログラミングによってこの設定を変更した場合は、このオプションを「4線JTAG」または「5線JTAG」に戻して、SWDを介してチップをプログラムします。この後、JTAGを使用できるようになります。
このオプションは、PSoC Creator > <プロジェクト名> .cydwr > Systemタブ> Debug Selectにあります。図9を参照ください。
図9 デバッグ選択オプション
§ PSoC Programmer / PSoC CreatorがMiniProg3を検出しない
- WindowsデバイスマネージャーにMiniProg3が表示されるかどうかを確認します。そうでない場合は、ボードまたは接続のいずれかに潜在的な問題があることを示しています。
- 別のMiniProg3 Programmerを試してください。
- ケーブル長を確認し、別のケーブルを使用してみてください。
- USBハブを使用してMiniProg3を接続している場合は、ハブを使用せずにテストしてください。
- デバイスマネージャーに表示されるが、ドライバーがバインドされていない場合は、次のKB記事で説明されているように、ドライバーを手動でバインドします。http ://www.cypress.com/knowledge-base-article/where-find-miniprog3-driver- file-kba88256
- ソフトウェアのバージョン
- PSoC Programmerのバージョン
- サイプレスのウェブから入手できる最新のPSoC Programmerのバージョンがあることを確認してください。古いバージョンのPSoC Programmerには最新のデバイスデータベースがない場合があります。したがって、PSoC Programmerは、シリコンの新しいリビジョンのプログラミング中にエラーを報告する可能性があります。
- 例:「The hex file was built for silicon revision xxx, but the acquired device is revision *x. Use PSoC Creator to generate a hex file for the proper device(hexファイルはシリコンリビジョンxxx用にビルドされましたが、取得したデバイスはリビジョン* xです。デバイスに合うhexファイルを生成するためのPSoC Creatorを使用してください)」
- KitProgのバージョン
- PSoC Programmerを使用してデバイスをプログラムしている場合、必要に応じてKitProgのファームウェアを更新するよう自動的に求められます。このため、PSoC Programmerソフトウェアはサイプレスのウェブサイトで入手可能な最新バージョンである必要があります。また、PSoC Programmerにある「Auto-Update of Firmware(ファームウェアの自動更新)」オプションを有効にする必要があります。図10に示すように、このオプションはPSoC Programmer > Options > Programmer Optionsにあります。
PSoC Creatorを使用してデバイスをプログラムしている場合、PSoC Creatorは、「KitProg version expecting x.xx but found x.xx. Please use PSoC Programmer GUI to upgrade firmware.(KitProgバージョンにはx.xxが必要ですがx.xxが見つかりました。PSoC Programmer GUIを使用してファームウェアをアップグレードしてください。)」を表示します。
PSoC Programmer > Help Topics > Update Firmwareセクションを参照して、KitProgファームウェアの更新方法を確認してください。
図10 自動更新ためのPSoC Programmerオプション
- プログラミング障害を引き起こす可能性のある潜在的なハードウェアのバグ
- PSoC Programmer / PSoC Creatorは、ハードウェアが正しくない場合、さまざまなエラーで失敗する可能性があります。ハードウェアについて、以下の点を確認してください。ハードウェアの考慮事項については、AN61290(PSoC 3およびPSoC 5 LP)およびAN88619(PSoC 4)を参照してください。
1. VCCD / VCCAの接続
VCCDとVCCAは、それぞれ内部デジタルレギュレータとアナログレギュレータの出力電圧です。PSoCに電力を供給する調整モードでは、このピンをボード上の他のピンまたはICに短絡しないでください(PSoC 3およびPSoC 5LPデバイスの2つのVCCDピンの短絡を除く)。図11を参照してください。デバイスのデータシートに示されているように、これらのピンには推奨コンデンサが必要です。
注1: PSoCの電源にはunregulated モードがあります。このモードでは、電源電圧は1.71 V〜1.89 Vでなければなりません。ここで、VCCD / VCCAは電源電圧に短絡する必要があります。内部レギュレータは自動的に無効になります。詳細については、デバイスのデータシートを参照してください。
注2: PSoC 3およびPSoC 5LPデバイスには2つのVCCDピンがあります。両方のVCCDは、それに接続されたコンデンサと一緒に接続する必要があります。2つのVCCDピン間のトレースはできるだけ短くする必要があります。
図11 Regulated モードでPSoCに電源供給するVCCD接続
2. XRES接続
PSoCデバイスのXRESには内部プルアップ抵抗があります。外付けプルアップ抵抗を接続しないでください。外部プルアップ抵抗が内部プルアップ抵抗と並列になり、その値が減少し、プログラミングエラーを起こす可能性があります。
XRESラインに0.1 µFの小さな容量を接続して、XRESのグリッチをフィルタリングできます。これは強制ではありません。配置する場合は、0.1 µFなどの小さな値にする必要があります。図12を参照してください。
注:一部のデバイスにはXRES接続がなく、一部のデバイスにはオプションのXRESピンがあります。オプションのXRESピンをリセットの目的で使用する場合、プルアップ抵抗とその上のコンデンサに関して上記で説明したのと同じ注意を払う必要があります。XRESピンがまったくないデバイスは、プログラミングのパワーサイクルの方法を使用する必要があります。
§
図12 XRESの接続
3. 電源コンデンサ
電源ピンVDDD、VDDA、VDDIOxピンには、デカップリングコンデンサが必要です。コンデンサの推奨値については、各デバイスのデータシートの電力セクションを参照してください。これらのコンデンサは電源ピンの近くに配置する必要があることに注意してください。図13を参照してください。
図13 アナログおよびデジタル用のPSoC 4単一電源レール: Regulated モード
4. 異なる電源ピンの電圧
PSoCの電源ピンに関しては、ボード上の以下の点を確認してください。違反が見つかった場合は、ボードの電源セクションを確認してください。
- VDDAはチップ上で最も高い電圧でなければなりません。
- VDDAとVDDDに電力を供給する必要があります。VDDIO1がチップ上にある場合は、プログラミングピンに電力を供給するため、VDDIO1にも電力を供給する必要があります。
- 電源ピンVDDAおよびVDDDに電力が供給されている場合、ピン-VCCDおよびVCCAは、測定時に1.8 Vに近い電圧を示します。
- プログラミングラインの接続
- プログラミングコネクタの向きが反転していないことを確認します。図14を参照ください。
図14 MiniProg3コネクタピン
- PSoCのプログラミングピンとプログラミングヘッダーの間に接続が存在するかどうかを確認します。PSoCのピンとプログラミングヘッダーの間の短絡をチェックすることでテストができます。
- デバイス固有の問題
- PSoC 4000ファミリのP1_6ピン
- P1_6ピンにはプルダウン抵抗を接続しないでください。このピンは、電源投入時にリセットピンとして機能します。このピンは内部でプルアップされています。プルダウン抵抗を外部に配置すると、リセットがアサートされ、デバイスはリセットからの復帰に失敗します。
- PSoC 4000 16-QFNおよびSOICパッケージデバイス、パワーサイクルの方法
- これらのデバイスにはリセットピンがありません。ハードウェアリセットをアサートする唯一の方法は、パワーオンリセットです。したがって、パワーサイクルの方法でしかプログラミングできません。パワーサイクルの方法では、すべての供給ラインを短絡する必要があることに注意してください。図15 は、PSoC Programmerでのパワーサイクル方法の選択を示しています。
図15 パワーサイクルの方法
- よくある質問
1. PSoC Creatorプロジェクトのhexファイルはどこにありますか?
回答: hexファイルの場所は、プロジェクトのコンパイルに使用されるコンパイラと、プロジェクトのビルドに使用されるモード(デバッグまたはリリース)によって異なります。
例えば:
Keil v951コンパイラを備えたPSoC 3デバイスの場合、hexファイルの場所は次のとおりです。
プロジェクトディレクトリ\<project_name>.cydsn\DP8051_Keil_951\Release 或いは Debug\<project_name>.hex
ARM GCC v493コンパイラを備えたPSoC 4およびPSoC 5LPデバイスの場合、hexファイルの場所は次のとおりです。
プロジェクトディレクトリ\ <project_name>.cydsn\ARM_GCC_493\Release 或いはDebug\<project_name>.hex
2. hexファイルのチェックサムはどこにありますか?
回答: HSSPアプリケーションノートで提供されているツール「HexFile Parser」を使用してください。このツールを使用してhexファイルを解析すると、HexImage.cファイルが生成されます。このファイルには、次のような配列としてチェックサムがあります。
例:unsigned char const ChecksumData_HexFile[2] = {0xAA, 0x2A};
3. PSoC 3およびPSoC 5LPデバイスでUSBピンを使用してプログラムできますか?
回答 :はい。PSoC3およびPSoC 5LPのUSBピン(P15 [6]およびP15 [7])はSWDプログラミングに使用できます。
4. I2C接続にPSoC 4000ファミリのデバイスのP3 [0]およびP3 [1]を使用できますか?
回答:はい、これらをI2C接続に使用できます。これらのピンのデバッグ設定をGPIOに変更します。ワークスペース上のPSoC Creatorのプロジェクトを選択し、ダブルクロックし、 その後.cydwr ファイルをダブルクリックします。Systemタブを選択し、Programming\Debugging > Debug Select > でGPIOに変更します。図16を参照してください。
図16. GPIOのデバッグ選択オプション
5. デバイスはPSoC Creatorでプログラムされています。ただし、PSoC Programmerでのプログラミングに失敗します。
回答:これは、デバイスの部品番号がPSoC Programmerで正しく選択されていない場合に発生する可能性があります。PSoC Creatorは、デバイスファミリ内のデバイスパーツ番号を特にチェックしない場合があることに注意してください。ただし、PSoC Programmerは、hexファイルが作成されるパーツ番号と選択されたパーツ番号が同じかどうかをチェックします。PSoC Programmerの「Auto Detection」機能を選択して、部品番号が自動的に選択されるようにしてください。
6. PSoC Programmerでデバイスファミリにデバイスが見つからないのはなぜですか?
回答: PSoC Programmerの「Auto Detection」機能をオンに設定します。これが行われていない場合は、「プロトコル」オプションが正しく設定されていることを確認してください。PSoC Programmerは、この設定に基づいてデバイスを除外します。また、www.cypress.comからPSoC Programmerソフトウェアの最新バージョンを入手していることを確認してください。
7. PSoC Creatorで「Debug Select」オプションを「GPIO」に設定してデバッグできますか?
回答:はい、「Debug Select」オプションをGPIOに設定してデバッグできます。ただし、ボード上のデバッグピンが接続されている場所によっては、外部信号からの干渉があり、デバッグデータが破損する可能性があります。また、「Debug Select」オプションをGPIOに設定すると、「Attach to Running Target」機能を使用できません。
8.ボードに電源が入っている(MiniProg3から電力が供給されていない)場合、MiniProg3をどのように使用しますか?
回答: Miniprog3を最初にボードに接続し、次にPCに接続します。PSoCプログラマは、ボードにすでに電源が入っているかどうかを検出します。すでに電源が入っている場合、MiniProg3の電源はオンになりません。MiniProg3を最初にPCに接続してからボードに接続すると、MiniProg3が損傷する可能性があります。
9. MiniProg3がPSoC Programmer / PSoC Creatorで検出されましたが、接続されていません。
回答:通常、これは別のプログラムがすでにMiniProg3を使用している場合に発生します。この問題を解決するには、PC上の他のプログラムを閉じるか、MiniProg3を他のプログラムから切断してください。
10.デバッグ中にデバイスをリセットすると、デバッグセッションが失われますか?
回答:プロジェクトのデバッグ中にハードウェアリセットを使用することはできません。ただし、PSoC Creatorでは、デバッグ中にソフトウェアリセットができます。
11.スリープ電流を小さくするには、programming/debuggingピンの構成をどうすればよいですか?
回答:programmingピンの設定をGPIOモードに変更します。これは、.cydwr file > Systemタブ > Debug Selectで実行できます。図17を参照してください。
図17 ピンのデバッグ選択オプション
12. ボードをPCに接続したままでMiniProg3を切断しても、ファームウェアが実行されません。
回答:はい。MiniProg3がホストPCから切断されてもボードが接続されている場合、XRESはLowに保持されるため、PSoCはリセットで保持されます。
13. MiniProg3を接続すると、ボードの消費電流が増加しますか?
回答:はい、電力測定を行っている間はMiniProg3を外してください。
14. SWDポートで複数のデバイスを接続できますか?
回答: SWDプロトコルは、複数のデバイスのプログラミングをサポートしていません。PSoC 3およびPSoC 5LPデバイスの場合、JTAGチェーンを使用します。PSoC 4の場合、同じコネクタを使用して複数のデバイスをプログラムする場合は、プログラミングラインに外部マルチプレクサを配置できます。
15. hexファイルをSVF形式に変換するにはどうすればよいですか?
回答: PSoCProgrammerと一緒にインストールされたHEXからSVFへのコンバータを使用して、PSoC 5LPのhexをSVFに変換できます。 <Install Directory>\Cypress\Programmer\HexToSvfに移動してください。 .exeファイルを見つけることができます。このツールの使用方法については、「hird-Party Tools for Cypress Devices User Guide」の「5.1 Cypress SVF Tools 」を参照してください。このドキュメントは同じフォルダにあります。
16.チップスケールパッケージ(CSP)デバイスをプログラムする方法
回答: アプリケーションノートAN89611を参照してください。
17. PSoCデバイスにおける量産時のプログラミングを実行するにはどうすればよいですか?
回答:サイプレスエンジニアリングプログラマは、これらの機械設計、プラスチック製の筐体、およびプラスチック製のヘッダーがあるため、大量生産のプログラミング環境にはお勧めできません。Miniprog3は過電流保護と過電圧保護を提供しますが、製造環境によっては、エンジニアリングプログラマに損傷条件を課す可能性があります。製造には量産用プログラマを使用することをお勧めします。次のリンクは、推奨ベンダーのリストを提供します:http : //www.cypress.com/?rID=2543
18.マスストレージプログラマとして使用されているKitProgで問題が発生しています。
回答: KitProgユーザーガイド(http://www.cypress.com/file/157966/download)の「Troubleshooting the KitProg」セクションを参照してしてください。
19.外部マイクロコントローラーを使用したHSSPの問題に直面しています。
回答: HSSPアプリケーションノートの「Tips and Tricks for Debugging HSSP Issues」セクションを参照してください。以下を参照してください。
- http://www.cypress.com/documentation/application-notes/an73054-psoc-3-and-psoc-5lp-programming-using...
- http://www.cypress.com/documentation/application-notes/an84858-psoc-4-programming-using-external-mic...
20.ブートローダブル(アプリケーション)プロジェクトをデバッグモードで実行するにはどうすればよいですか?
回答: PSoC Creatorブートローダーシステムでは、ブートローダープロジェクトが最初に実行され、次にブートローダブルプロジェクトが実行されます。ブートローダーからブートローダブルプロジェクトへのジャンプは、ソフトウェア制御のデバイスリセットを通じて行われます。これにより、デバッガーインターフェースがリセットされます。つまり、ブートローダブルプロジェクトをデバッガーモードで実行できません。
ブートローダブルプロジェクトをデバッグするには、ブートローダブルコンポーネントを削除するか無効にしてデバッグします。次に、デバッグが完了した後、ブートローダブルコンポーネントを再インストールまたは再度有効にします。別のオプションは、デバイスにブートローダブルプロジェクトの.hexファイルをプログラムし、ブートローダブルプロジェクトの実行中に「実行中のターゲットにアタッチ」オプションを使用してデバッグすることです。図18を参照してください。この場合、デバッガーがデバイスに接続されているポイントからのみ、ブートローダブルプロジェクトをデバッグできます。
図18 ブートローダブルプロジェクトのデバッグ
- PSoC Programmerの既知の制限
1.「ブロックの消去」は、Enterキーを押した後、常に変更を保存するとは限りません。
PSoC Programmer GUIで「ブロックの消去」機能を使用する場合、ダイアログセッション間でブロックIDおよびバンクIDフィールドが保存されない場合があります。これは、WinForms .NETライブラリのMaskTextBoxコンポーネントの既知の問題です。ダイアログセッション間でこれらの値を保存するには、次の操作を行います。
1. ブロックID /バンクIDフィールドの既存の値を削除します。
2.新しい値を入力します。
3. Enterキーを押すか、ブロックの消去ボタンを押します。
2. KitProgキット(CY8CKIT-040 / 042)のファームウェアアップグレード
PSoC Programmer GUIでKitProgのファームウェアアップグレードを開始するときは、ブートローダーホスト(PSoC Creator's)ツールが実行されていないことを確認してください。そうでない場合、ホストツールがKitProgのブートローダーにアクセスしようとするため、アップグレードが失敗する可能性があります。
3.パワーサイクルモード(SWDプロトコル)のMiniProg3で[中止]ボタンが機能しない
SWDプロトコルのPower CycleモードのMiniProg3では、中止は機能しません。回避策として、この長時間の操作中にUSBポートからMiniProg3を取り外してください。
4. MiniProg3はCY8CKIT-001のリセットボタンを上書きします
ISSP操作が完了した後、MiniProg3はXRESピンをアクティブHIGHまたはLOW状態に保ち、ターゲットのアクティブXRES状態がHIGH(およびMiniProg3がISSPヘッダーに接続されている場合)にリセットボタンをブロックします。
5. Pythonの例が新しいPythonインタープリターで失敗する
Pythonのバージョン2.6から3.0への変更により、Pythonコード例は失敗します。1つの例は、printステートメントがprint()関数によって置き換えられることです。Python 3.0以降でサンプルを実行しようとすると、構文エラーがスルーされます。サイプレスは現在、サイプレスのコード例を使用する場合、ユーザーにPython 2.6の使用を要求しています。
6. CY3240ブリッジは常にINTラインをロー状態に保ちます
これにより、ブリッジのINTラインがターゲットのXRESラインにアクティブLOW極性で接続されている場合に問題が発生します。ハードウェアの制限により、INTラインはファームウェアからHI-Z状態に移行できません。CY3240ブリッジとの互換性のためのボードを設計願います。
7. MiniProg1ファームウェアv1.77は、取得に失敗します。
MiniProg1ファームウェアの以前のリリースでは、パワーサイクルプログラミング中にリセットラインがLOWにプルされていました。MiniProg1は、アクティブLOWリセットライン状態を持つデバイスをサポートするようになりました。これを説明するために、MiniProg1はリセットラインをHI-Z状態のままにします。チップをリセット状態に保つ可能性があるプルアップまたはプルダウン抵抗回路に注意してください。
8. PRoC UIデバイスは3.3Vを超えてプログラムできません
MiniProg3およびMiniProg1プログラマは、3.3 Vを超える電力をターゲットデバイスに供給できます。PRoCUIデバイスは、1.7〜3.3 Vの範囲でのみプログラムできます。3.3 Vを超えるプログラミングは、PRoC-UIデバイスまたは無線チップに損傷を与える可能性があります。
PSoC Programmerは、危険な構成でPRoC-UIデバイスを選択するとプロンプトを表示します。
9.データを長時間監視すると、ブリッジコントロールパネルのメモリが不足します
このような状況では、GUIを再起動する必要があります。チャートのサンプルを修正してスクロールできるようにすることをお勧めします。「Char > Variable Settings」メニューの「Scroll」パラメータでスクロールウィンドウのサイズを設定します(たとえば、1000-10000)。
10.別のディスクにインストールすると、PSoC Programmerが機能しません。
PSoC Programmerをデフォルト値以外の場所にインストールする場合は、その場所のフォルダ名またはパスに「-」文字が使用されていないことを確認してください。
11. PSoC 3/5のJTAG / SWD通信は、3.2 MHzを超えるクロックでは安定しません。
使用可能な最大プログラミング速度は、前のプログラミングセッションからのCFGSPEED NVL設定に依存します。この設定には、12 MHzと48 MHzの2つのオプションがあります。これにより、IMOの実行速度が構成され、さらに、バスクロックの実行速度が構成されます。信頼性の高い結果を得るには、プログラミング/デバッグをBUSクロックの1/3よりも速く行わないでください。使用するクロック速度が高いほど、障害が発生する可能性が高くなります。ケーブルの長さとボード上の静電容量は、JTAGまたはSWDを介してデータを正常に送信する機能に影響を与える可能性があります。PSoC 3 / 5LPフラッシュの読み取り/書き込み操作の場合、推奨される周波数の上限は3.0〜3.2 MHzです。
12.サードパーティIDEでの保護された状態でのプログラミング
サードパーティの統合開発環境(たとえば、µVision IDE、KeilおよびIAR Embedded Workbench、IARシステム)は、シリコンまたはフラッシュ行が保護状態にある場合、プログラミングをサポートしません。デバイスがPSoC Creatorのプロジェクトでフラッシュされ、「チップ保護」オプションが「Open」に設定されていない、または「Flash Security」設定ページに少なくとも1つの保護された行が含まれている場合は、サードパーティIDEを使用してデバイスをプログラミングする前のPSoC Programmerで「Erase All Flash」操作を実行します。
13. Bridgeコントロールパネルでのコマンドの同時実行
Bridge Control Panelでは、複数のコマンドを同時に実行しても、これらのコマンドが遅延なく順次実行されるとは限りません。各コマンドは個別のUSBトランザクションです。遅延は、PCの特性と接続されているブリッジのタイプに依存します(KitProgやKitProg2などのUSB HIDデバイスではより重要です)。
14.仮想環境でのKitProg1 / KitProg2ファームウェアのアップグレード(たとえば、「Parallels Desktop」または「VMWare Fusion」)
仮想環境でKitProg1 / KitProg2ファームウェアをアップグレードすると、初期化中にエラーが発生したり、ファームウェアの更新後にキットが「KitProg」ではなく「ブートローダーデバイス」として検出される場合があります。これは、ファームウェアの更新プロセス中に、KitProgがモードを「KitProg」から「ブートローダー」に変更し、次に「KitProg」に戻すためです。このUSBデバイスのVID / PIDの変更により、仮想マシンはゲストOSからキットを取り外します。
この問題を回避するには、次のいずれかの解決策を使用してください。
a. すべてのUSBデバイスをゲストOSに自動的に接続するように仮想マシンを構成します。
b. すべてのUSBデバイスの自動接続がサポートされていない場合は、既知のVID / PIDを持つデバイスのみを自動的に接続するように仮想マシンを構成できます。KitProgの場合、キットを3つの異なるモード(「ブートローダー」、「KitProg」、および「マスストレージ」)に連続して切り替え、仮想マシンを構成して(各モードで)検出されたデバイスをゲストOSに自動的に接続します。
c. 仮想マシンがそのような構成をサポートしていない場合は、KitProgからブートローダーモードに、またはその逆に切り替えた後、手動でキットを再接続します。
15.スーパーセットプログラミング
PSoC Creatorはスーパーセットプログラミングの概念をサポートしていますが、PSoC Programmerはサポートしていません。PSoC Programmerは、プロトタイピングツールではなく、量産時のプログラミングツールになることを目的としています。ファームウェアプロジェクトが完了したら、対応する部品番号のhexファイルを作成し、PSoC Programmerまたはサードパーティツールを使用して、製造時にプログラムします。
16.ブリッジハードウェアの使用
サポートされているプログラミングおよびブリッジングハードウェアは、一度に1つのアプリケーションでのみ使用できます。1つのアプリケーションでポートを閉じると、他のクライアントアプリケーションのハードウェアが解放されます。
17.ウェーハ販売部品のプログラミングサポートはありません。
18.プログラミング検証が失敗した場合、特定の場所は示されません。
19. FM0 +キットのCMSIS-DAPポートの名前は、異なるPCおよびUSBポートで変更される場合があります。
この問題は、空のシリアル番号文字列(USBデバイス記述子)があるFM0 +キットで発生するか、一意ではない場合に発生します。この場合、OSは物理USBポートアドレスに基づいて一意の文字列を生成し、この文字列はPSoC ProgrammerでCMSIS-DAPポートの一意の名前を作成するために使用されます。PSoC Programmerで公開されている、ポート取得APIを使用する独自のアプリケーションを開発する場合は、このことを覚えておいてください。
20. ICE4000はPSoC Programmerでサポートされなくなりました。
21. PSoC Programmerは、接続中に3.3 VをXRESピンに印加します
プログラミングにICE-CubeまたはMiniProg1を使用する場合、PSoC Programmerは接続中に3.3 VをXRESピンに印加します。これにより、ターゲットシステムに電力が供給される場合があります。プログラミング中、3.3 VがターゲットシステムのSCLK(P1-1)、SDATA(P1-0)、およびXRESピンに印加されます。
22. MiniProg1 ProgrammerはCY8C25 / 26xxxパーツをサポートしていません。
ICE-LPTおよびICE-4000 Programmerは、CY8C25 / 26xxxパーツをサポートします。必要に応じて、PSoC Programmerバージョン2.33以前を使用してください。
23. CY3210-MiniProg1:SCLおよびSDAラインにはんだ付けされたコンデンサ
CY3210-MiniProg1には、SCLおよびSDAプログラミングラインにはんだ付けされた2つのコンデンサがあり、プログラミング中に障害を引き起こす可能性があります。これらのコンデンサを取り外すには、サイプレスのテクニカルサポートに連絡して、この問題に対処するための追加手順を確認してください。
24. CY3240 USB-I2Cブリッジファームウェアは、ブートローダーインターフェースを使用してアップグレードすることはできません。
アップグレードが必要な場合は、PSoC Programmerのインストールフォルダーにあるusbtoiic.hexからファームウェアを完全に再プログラムする必要があります。再プログラミングには、ブリッジのボード上の5ピンISSPヘッダーに接続されたPSoC 1 Programmer(MiniProg1やMiniProg3など)を使用します。ブリッジのプログラミングには「パワーサイクル」を選択します。サイプレスは、現場でCY3240ブリッジを置き換えるスーパーセットMiniProg3キットにアップグレードすることをお勧めします。
25. PSoC Programmerは、シリアルプログラミングモードのFM0 +デバイスと一緒に使用しないでください。
シリアルプログラミングモードは、UARTやUSBなどのシリアルインターフェースで使用される