- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA229813 into Japanese.
Thanks,
Original KBA:
FX3: CyU3PDebugPrint Not Printing UART Debug Message - KBA229813
Translated by Kenshow
==============================
タイトル: FX3:CyU3PDebugPrintがUARTデバッグメッセージを出力しない - KBA229813
バージョン:**
質問:
CyU3PDebugPrintがデバッグメッセージを出力しないのはなぜでしょうか?
回答:
ファームウェアでCyU3PDebugPrint API が呼び出されても、UARTデバッグメッセージが出力されない理由はいくつか考えられます。デバッグメッセージが出力されない場合は、次の操作を行います。
1. IOマトリックスコンフィグレーションでUARTを有効にします。
図1. UARTの有効化
2. PCBのCOMポート(UARTコネクタ)が接続されているFX3ピンを確認します。
- COMポートがGPIO [46]〜[49]に接続されている場合は、IOマトリックスを16ビットのGPIFバス幅に設定し、lppModeをすべてのペリフェラルが有効になっているデフォルトのLPPモードとして設定する必要があります。
図2. COMポートがGPIOに接続されている場合のIOマトリックスコンフィグレーション[46]〜[49]
図3. UARTピンの構成
- COMポートがGPIO [53]~[56]に接続されている場合、IOマトリックスは、lppModeがデフォルトのLPPモードとして設定されている32ビットのGPIFバス幅に対して、すべてのペリフェラルが有効になっている場合、またはlppModeがUARTとしてのみ設定されている16ビットのGPIFバス幅に対して設定できます。
図4. COMポートがGPIO[53]~[56]に接続されている場合のIOマトリックスコンフィグレーション
注:CYUSB3KIT-003 SuperSpeed Explorerキットを使用する場合、CY7C65215 USBデュアルチャネルシリアルブリッジがGPIO [53]:[56]に接続されます。そのため、図4に示すIOマトリックスコンフィグレーションを使用します。GPIFバス幅が16ビットに設定され、I2Sブロックが有効な場合、図4に示すコンフィグレーションは使用できません 。また、UARTはGPIO [46]:[49]にあります(図3に示すとおり)。このとき、ジャンパー線を使用してGPIO [46]-[49]をGPIO [53]:[56]にマッピングし、デバッグ出力を得ます。
3. CyU3PUartInit() APIを呼び出してUARTブロックを初期化した後、UARTトランスミッタを有効にしてUARTのコンフィグレーションを設定し、UARTモードをDMAモードとして設定します。
図5. UARTブロックのコンフィグレーション
- UARTコンフィグレーションを設定した後、CyU3PDebugInit APIを呼び出して、ファームウェアログ機能が初期化されているかどうかを確認します。
- ログが出力されるUARTコンシューマーソケット(CY_U3P_LPP_SOCKET_UART_CONS)(つまり、CyU3PDebugInitに渡される最初のパラメーター)が、ファームウェアの他のDMAチャネルで使用されていないことを確認します。
- 仮想COMポートアプリケーション(Tera Termなど)のボーレート、ストップビット、パリティ、フロー制御設定が、ファームウェアで使用されているUART構成と同じであることを確認します。
- カスタムボードの回路図ファイルをEZ-USB FX3 Superspeed Explorer Kit回路図と比較します。
注:RS-232C DB9コネクタの信号レベルは通常+/- 12 Vです。したがって、信号がFX3に直接接続されている場合、FX3が損傷します。FX3のUARTピンをRS-232C DB9コネクタに接続するには、図6 に示すような外部レベルシフターハードウェアが必要になります。
図6. UART接続の回路図
==============================
11-May-2020