English: Cannot Build a ModusToolbox Project Imported into ... - Cypress Developer Community
Translated by: Kenshow
タイトル:インポートされたMODUSTOOLBOXプロジェクトを構築できません; VISION V5.32
-----------------
バックグラウンド
ModusToolbox®のビルドシステム、μVisionへのエクスポートは、次のコマンドを実行することにより行われます。
make uvision5 TOOLCHAIN=ARM
ビルドシステムは2つのファイルを生成します。
µVision v5.32の既知の問題:
µVision v5.32では、.gpdscファイルの自動検出は機能しません。µVision IDEにプロジェクトをロードすると、プロジェクトは表示されますが、HALやPDLなどの参照コンポーネントは表示されません。これにより、これらのコンポーネントにある依存ファイルが見つからないため、プロジェクトのビルドが失敗します。
インフィニオンはこの問題を解決するためにArmと協力しています。
回避策
オプション1: µVisionv5.31以前のバージョンを使用します。ファイルのインポートプロセスは期待どおりに機能します。
オプション2: µVision v5.31を使用してプロジェクトを作成し、µVisionv5.32で開きます。µVision v5.32とµVisionv5.31の両方がインストールされている必要があります。
Version: **
Translation - Japanese: PSoC® 3 / PSoC 5LP の電源投入シーケンス - KBA213235 - Community Translated (JA)
Question:
Is there a power sequence required for different supplies such as VDDIO, VDDA, and VDDD in PSoC 3 and PSoC 5LP?
Answer:
No, there is no power sequence required. However, VDDA should be the highest supply in the system, and VDDA should be applied before other supplies or at the same time when other supplies are on.
Note: Do not apply VDDD before VDDA supply.
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Forcing the Channel Number to a DMA Component of PSoC® 3 and PSoC 5LP - KBA203653
質問:
PSoC Creator™ で DMA を使用しているプロジェクトをコンパイルすると (0~31の)チャネル番号がランダムに生成されて .cydwr ファイルの DMA タブに表示されます。PSoC Creator で DMA のチャネル番号を明示的に指定することは可能でしょうか?
回答:
はい、DMA コンポーネントに明示的にチャネル番号を指定することは可能です。
通常、コンポーネントのプレースメントを明示指定する場合には、PSoC Creator プロジェクト .cydwr ファイルの “Directives” タブの下にプレースメント指定を追加します (例: KBA85474 参照)。しかし DMA のチャネル番号の指定はこの方法では行えません。
チャネル番号を明示指定するのには以下の手順に従ってください:
Community Translated by MoTa_728816 Version: **
Translation - English: Using USBIOs as GPIOs in PSoC® 3 and PSoC 5LP - KBA92716
質問:
USBIO (D+: P15[6[ と D-: P15[7]) を GPIO として使用するのにはどうしたら良いですか?
回答:
USBIO がサポートするドライバモードは 'Open Drain, Drives Low' と 'Strong Drive' だけです。もしお使いになる GPIO がこのどちらかのモードであれば、USBIO (D+: P15[6[ と D-: P15[7]) を PSoC Creator™ の cydwr 内の Pins タブで、GPIO に設定することが可能です。もしお使いになる GPIO のモードがこれらのモードではない場合、P15[6], P15[7] ピンは GPIO にアサインすることが出来ません。
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Opamp Input and Output Pins and Routing in a PSoC® 3/ PSoC 5LP Design - KBA203632
質問:
PSoC® 3/ PSoC 5LP のデザインにおいてオペアンプの専用ピンを使用する場合に何に気を付けたら良いでしょうか?
回答:
4 つの未使用のオペアンプはそれぞれの入力に配線することのできる2つの専用ピンを持っています。しかし、これはオペアンプの入力を配線できるのがこれらのピンだけという意味ではありません。オペアンプの入力はアナログ配線を使用して他のピンからも接続することが可能です。
一方、オペアンプの出力は専用の固定ピンへの接続となっています。オペアンプが4つあるデバイスでは、P0[0], P3[6], P0[1], P3[7] ピンがオペアンプの専用出力ピンになっています。オペアンプの出力は常にその専用ピンへ接続されることになります。オペアンプの出力が専用出力ピン以外のピンに接続される場合、専用出力ピンも選択された他のピンと同時にオペアンプ出力に接続されます。
オペアンプの専用出力ピンが使用されない場合でも、そのアナログ配線構造はオペアンプの出力を他のピンに配線するために使用されることにご注意ください。
これはスイッチ抵抗と全体抵抗を含むことになりオペアンプのドライブ能力を低減させます。アプリケーションにバンド幅/スルーレートの制限がある場合には、この点に注意を払う必要があります。
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: URL and Port Number for Cypress Update Manager - KBA91802
質問:
Cypress Update Manager からのアップデートを可能にするためにはどのサイト/ポート番号を許可する必要がありますか?
回答:
PC にインストールされた Cypress アプリケーションのアップデートを許可するためには
プロキシサーバーまたはファイアウォールが下記の Cypress Update Manager の URL とポート番号を許可するように設定してください。
URL: http://updates.cypress.com
Port number: 80
Show LessCommunity Translated by MoTa_728816 Version: **
Translation - English: Correct Method to Set the IDAC Current - KBA213666
質問:
IDAC の分解能は 1 μA / bit です、下記のコードを使用しています。出力電流は期待されている 200 μA ではなく 120 μA になっています。何が原因でしょうか?
"void main()
{ IDAC_1_SetValue(200);
IDAC_1_Start(); ..... }. "
回答:
IDAC の設定は IDAC_1 ユーザーモジュールの開始後に行わなくてはなりません。そうしないと期待している 200 μA を得ることが出来ません。カスタマイザにおいて、デフォルトの分解能 1 μA/bit は 120 に設定されています、結果として 120 μA の出力電流となります。
初期設定での電流を 200 μA にしたい場合には、以下の図のようにカスタマイザの初期値に 200 を入力してください。もう一つの方法は Start() API の後に SetValue() API を置くことですが、この場合少し遅延が発生する可能性があります。
PSoC 4 IDAC コンフィグレーション
PSoC 3/5 IDAC コンフグレーション
Community Translated by MoTa_728816 Version: **
Translation - English: USBFS Suspend and Resume Functionality - KBA210675
質問: USBFS の サスペンド (Suspend) - レジューム (Resume) 機能はどのように実装したら良いでしょうか?
回答:
USB デバイスはバス上に 3 ms 以上動きが無い場合サスペンドに入ります。そしてさらに 7 ms 後には指定されたサスペンド電流以上の消費を抑えるためにシャットダウンします。これはバスの動きが停止してから 10 ms 以降、デバイスは規定されたサスペンド電流のみを消費するようにしなければならないということです。以下のコードは USBFS のサスペンド - レジューム機能の実装方法を示します。
if(!USBFS_CheckActivity())
{
noActivityCount++;
if(noActivityCount == USB_SUSPEND_TIME_TICKS)
{
PSOC_APP_LED_Write(1); // デバイスがサスペンドに入ったかを確認する。
USBFS_Suspend();
CyPmSaveClocks();
CyPmSleep(PM_SLEEP_TIME_NONE, PM_SLEEP_SRC_PICU); /* PSoC 3/5LP はスリープモードに入る */
CyPmRestoreClocks();
USBFS_Resume();
init =1; // エンドポイントの再度初期化 - 注意 1。
noActivityCount = 0;
PSOC_APP_LED_Write(0); // LED で状態を確認する。
}
}
else
{
noActivityCount = 0;
}
注意 1: ウェイクアップ後、エンドポイントを再度有効にする必要があります;もし Mode 3/2 に入ってた場合、DMAの再設定も必要となります。
注意 2: コードスニペットでは USBFS コンポーネントは “USBFS” という名称であることを仮定しています。
以下はアルゴリズム:
ファームウェアは USB の動作の状態をチェックします;もし 3 ms 間動作が無かったら、サスペンドが発生したことが分かります。ファームウェアが最低 3 ms の間待つように、USB_SUSPEND_TIME_TICKS の値を適切に保ちます。その後、ファームウェアは省電力スリープモードに入ります。レジュームが発生すると、ポートインタラプトコントロールユニット (PICU) の割込みによりウェイクアップして、USBFS コンポーネントの再設定とエンドポイントの再度初期化を行います (init 変数の状態を確認してファームウェアの中で行われます)。
Show LessCommunity Translated by MoTa_728816 Version: *A
Translation - English: Using the Watchdog Timer to Reset PSoC® 3/5LP - KBA89152
質問:
ウォッチドッグタイマ (WDT) を使用して PSoC 3 または 5LP をリセットするのにはどのようにしたら良いですか?
回答:
PSoC 3 または PSoC 5LP の WDT 機能はCyWdtStart と CyWdtClear の2つの APIを使用して実装できます。ハードウェアによって実装されている WDT はひとたび有効にされると、タイマに対するいかなる変更も受けつけません。また、タイマをひとたび有効にすると無効にすることが出来ません、これにより誤ったプログラムから WDT が変更されてしまうことを防いでいます。
WDT に使用されている API に関する詳細は System Reference Guide からご覧いただけます
(PSoC Creator > Help > System Reference Guides > PSoC 3 / PSoC 5LP System Reference Guide - cy_boot Component v5.50).
例えば、通常のアプリケーションでは最初に WDT を有効にします。
CyWdtStart(CYWDT_1024_TICKS,CYWDT_LPMODE_NOCHANGE);
これは WDT の周期を 2.048~3.072秒に設定します。以降、この時間内に WDT が確実にクリアされる必要があります。さもなければ、デバイスはリセットされます。
よって、2.048~3.072秒毎に CyWdtClear() API を呼んで WDT をクリアする必要があります。
Show LessAuthor: RakshithM_16 Version: **
When the I2C Component v3.50 is used in I2C Master mode with Fixed function implementation, the I2C_Stop() API does not disable the master. This is a known issue due to an error in the I2C_Stop() function definition in the Generated Source.
Note: Here, I2C_Stop() is a Component API. Therefore, if the I2C Component in your project is MyI2CComponent, the Component API will be MyI2CComponent_Stop(). For simplicity, the API will be referred to as <i2c_comp>_Stop() now on in this article, where <i2c_comp> is the name of the I2C Component.
<i2c_comp>_Stop() is defined in <i2c_comp>.c, and it contains the following line:
/* Disable block */
<i2c_comp>_CFG_REG &= (uint8) ~<i2c_comp>_CFG_EN_SLAVE;
The issue is that the <i2c_comp>_Stop() disables only the slave block even when the Component is configured as a master. As a workaround, replace this code with the following:
/* Disable block */
<i2c_comp>_CFG_REG &= (uint8) ~<i2c_comp>_ENABLE_MS;
Do one of the following to change the <i2c_comp>_Stop() function:
Note: Do not Clean or Clean and Build the project after this setting.
Show Less